From 456cb70b47c137477e66943ebd3bfe63699c8025 Mon Sep 17 00:00:00 2001 From: Joe Hildebrand <joe-github@cursive.net> Date: Wed, 11 Dec 2024 13:45:09 -0700 Subject: [PATCH] Update everything to the latest. BREAKING: now requires node 18. BREAKING: now requires node's built-in fetch. moved to latest @cto.af lint rules and fixed. using beta nock to get native fetch support. --- .c8rc | 11 + .eslintrc.js | 17 - .github/workflows/node.js.yml | 32 +- .github/workflows/publish.yml | 30 + .ncurc | 6 + .ncurc.js | 8 +- README.md | 16 +- bin/wsd_get | 2 +- eslint.config.mjs | 7 + lib/fileStream.js | 48 +- lib/wsd.js | 83 +- package.json | 33 +- pnpm-lock.yaml | 3434 ++++++++++++++++++++------------- test/fileStream.ava.js | 84 +- test/fixtures/wsd.ava.js.json | 616 ++++-- test/wsd.ava.js | 72 +- 16 files changed, 2752 insertions(+), 1747 deletions(-) create mode 100644 .c8rc delete mode 100644 .eslintrc.js create mode 100644 .github/workflows/publish.yml create mode 100644 .ncurc create mode 100644 eslint.config.mjs diff --git a/.c8rc b/.c8rc new file mode 100644 index 0000000..bef1bc3 --- /dev/null +++ b/.c8rc @@ -0,0 +1,11 @@ +{ + "reporter": [ + "text", + "lcov" + ], + "exclude": [ + "**/test/**", + "**/node_modules/**", + "ava.config.cjs" + ] +} diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 2e18469..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -module.exports = { - root: true, - extends: ['@cto.af', 'plugin:markdown/recommended'], - ignorePatterns: [ - 'node_modules/', - ], - overrides: [ - { - files: ['*.md/*.js', 'bin/*'], - rules: { - 'no-console': 'off', - }, - }, - ], -} diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 743f11e..d331eea 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -3,8 +3,7 @@ name: Tests on: push: - branches: - - 'main' + branches: [main] pull_request: branches: [main] @@ -13,39 +12,24 @@ jobs: strategy: matrix: - node-version: [16, 18, 20] + node-version: [18, 20, 22, 23] platform: [ubuntu-latest] runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true - - name: Install pnpm - uses: pnpm/action-setup@v2.2.4 - with: - version: 7.14.0 - run_install: true + - run: corepack enable - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' - name: Test ${{ matrix.node-version }} run: npm run coverage - - name: Coveralls Parallel - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.github_token }} - flag-name: node-${{ matrix.node-version }} - parallel: true - finish: - needs: build - runs-on: ubuntu-latest - steps: - - name: Coveralls Finished - uses: coverallsapp/github-action@master + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v5 with: - github-token: ${{ secrets.github_token }} - parallel-finished: true + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..ae24ed7 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,30 @@ +name: Publish Package to npmjs +on: + release: + types: [published] + workflow_call: + secrets: + NPM_TOKEN: + required: true + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v4 + - run: corepack enable + - uses: actions/setup-node@v4 + with: + node-version: '22.x' + registry-url: 'https://registry.npmjs.org' + cache: pnpm + - run: pnpm i -r + - run: npm run test + - run: npm run lint + - run: npm pkg delete devDependencies scripts packageManager + - run: npm publish --access public --provenance + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.ncurc b/.ncurc new file mode 100644 index 0000000..055e5d0 --- /dev/null +++ b/.ncurc @@ -0,0 +1,6 @@ +{ + "dep": ["prod", "dev", "packageManager"], + "reject": [ + "rimraf" + ] +} diff --git a/.ncurc.js b/.ncurc.js index c49cba5..17552de 100644 --- a/.ncurc.js +++ b/.ncurc.js @@ -1,7 +1,7 @@ -'use strict' +'use strict'; module.exports = { reject: [ - "node-fetch" - ] -} + 'node-fetch', + ], +}; diff --git a/README.md b/README.md index 8b5be8d..37d3355 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,14 @@ Call the WebSequenceDiagram.com API. Example: ```js -const wsd = require('websequencediagrams') -const fs = require('fs') - -;(async() => { - const [buf, typ] = await wsd.diagram('Alice->Bob: message', 'modern-blue', 'png') - console.log('Received MIME type:', typ) - fs.writeFile('my.png', buf) -})() +const wsd = require('websequencediagrams'); +const fs = require('node:fs'); + +(async() => { + const [buf, typ] = await wsd.diagram('Alice->Bob: message', 'modern-blue', 'png'); + console.log('Received MIME type:', typ); + fs.writeFile('my.png', buf); +})(); ``` ### .diagram(text, style, output_type) diff --git a/bin/wsd_get b/bin/wsd_get index 056944b..e6c91a3 100755 --- a/bin/wsd_get +++ b/bin/wsd_get @@ -33,7 +33,7 @@ const {argv} = yargs alias: 'r', desc: 'WebSequenceDiagrams root URL', type: 'string', - default: 'https://websequencediagrams.com', + default: 'https://www.websequencediagrams.com', }, key: { alias: 'k', diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..d4d2eb1 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,7 @@ +import base from '@cto.af/eslint-config'; +import markdown from '@cto.af/eslint-config/markdown.js'; + +export default [ + ...base, + ...markdown, +]; diff --git a/lib/fileStream.js b/lib/fileStream.js index 1724a79..daa0fb2 100644 --- a/lib/fileStream.js +++ b/lib/fileStream.js @@ -1,11 +1,9 @@ -'use strict' +'use strict'; -const fs = require('fs') -const path = require('path') -const util = require('util') -const {Buffer} = require('buffer') -const stat = util.promisify(fs.stat) -const readdir = util.promisify(fs.readdir) +const fs = require('node:fs'); +const fsp = require('node:fs/promises'); +const path = require('node:path'); +const {Buffer} = require('node:buffer'); /** * Promisified stream for a file. Can be replaced with fs.promises one day. @@ -17,12 +15,12 @@ class FileStream { * @param {string} [name='-'] File name, or '-' for stdin. */ constructor(name = '-') { - this.name = name + this.name = name; if (name === '-') { - this.stream = process.stdin - process.stdin.resume() + this.stream = process.stdin; + process.stdin.resume(); } else { - this.stream = fs.createReadStream(name) + this.stream = fs.createReadStream(name); } } @@ -33,13 +31,11 @@ class FileStream { */ read() { return new Promise((resolve, reject) => { - const bufs = [] - this.stream.on('error', er => { - reject(er) - }) - this.stream.on('data', data => bufs.push(data)) - this.stream.on('end', () => resolve(Buffer.concat(bufs))) - }) + const bufs = []; + this.stream.on('error', reject); + this.stream.on('data', data => bufs.push(data)); + this.stream.on('end', () => resolve(Buffer.concat(bufs))); + }); } /** @@ -53,19 +49,19 @@ class FileStream { const streams = await Promise.all(names.map(async n => { if (n === '-') { // Prevent stat() throwing - return new FileStream() + return new FileStream(); } - const stats = await stat(n) + const stats = await fsp.stat(n); if (stats.isDirectory()) { - const dir = await readdir(n) + const dir = await fsp.readdir(n); return dir .filter(f => f.endsWith('.wsd')) - .map(fn => new FileStream(path.join(n, fn))) + .map(fn => new FileStream(path.join(n, fn))); } - return new FileStream(n) - })) - return streams.flat() + return new FileStream(n); + })); + return streams.flat(); } } -module.exports = FileStream +module.exports = FileStream; diff --git a/lib/wsd.js b/lib/wsd.js index 2fa16b4..6c1ed25 100644 --- a/lib/wsd.js +++ b/lib/wsd.js @@ -1,9 +1,9 @@ -'use strict' +'use strict'; -const fetch = require('node-fetch') -const {Buffer} = require('buffer') +const {Buffer} = require('node:buffer'); +const {version} = require('../package.json'); -const defaultRoot = 'http://www.websequencediagrams.com' +const defaultRoot = 'https://www.websequencediagrams.com'; const styles = [ 'default', 'earth', @@ -17,7 +17,7 @@ const styles = [ 'magazine', 'vs2010', 'patent', -] +]; /** * API for WebSequenceDiagrams. @@ -37,56 +37,52 @@ class WSD { * formats include: 'png', 'svg', or 'pdf'. 'pdf' requires a paid * account. * @param {string} [apikey] API key for non-free usage. - * @param {string} [root='http://www.websequencediagrams.com'] Root URL for + * @param {string} [root='https://www.websequencediagrams.com'] Root URL for * the service. * @returns {Promise<string>} The URL for the diagram. */ // eslint-disable-next-line max-params static async diagramURL( - message, style = 'default', + message, + style = 'default', format = 'png', apikey = null, root = defaultRoot ) { - if (message instanceof Buffer) { - message = message.toString('utf8') - } + const msg = Buffer.isBuffer(message) ? message.toString('utf8') : message; if (WSD.styles.indexOf(style) === -1) { - throw new Error(`Unknown style: ${style}`) + throw new Error(`Unknown style: ${style}`); } if (['png', 'pdf', 'svg'].indexOf(format) === -1) { - throw new Error(`Unknown format: ${format}`) + throw new Error(`Unknown format: ${format}`); } - const query = new URLSearchParams(apikey ? - { - apiVersion: '1', - message, - style, - format, - apikey, - } : - { - apiVersion: '1', - message, - style, - format, - }) - const res = await fetch(`${root}/index.php`, { + const query = new URLSearchParams({ + apiVersion: '1', + message: msg, + style, + format, + ...(apikey ? {apikey} : {}), + }); + + const u = new URL('index.php', root); + // eslint-disable-next-line n/no-unsupported-features/node-builtins + const res = await fetch(u, { method: 'POST', body: query, - }) + redirect: 'error', + headers: { + 'user-agent': `node-websequencediagrams/${version}`, + }, + }); if (res.status !== 200) { - throw new Error(`HTTP Error: ${res.status}`) - } - const jres = await res.json() - if (!jres.errors) { - throw new Error(`Invalid JSON response: ${jres}`) + throw new Error(`${res.status} ${res.statusText}: ${res.headers.get('status')}`); } - if (jres.errors.length > 0) { - throw new Error(jres.errors.join(', ')) + const jres = await res.json(); + if (jres.errors?.length > 0) { + throw new Error(jres.errors.join(', ')); } - return `${root}/${jres.img}` + return new URL(jres.img, root).toString(); } /** @@ -107,13 +103,14 @@ class WSD { */ // eslint-disable-next-line max-params static async diagram(description, style, format, apikey, root) { - const u = await WSD.diagramURL(description, style, format, apikey, root) - const res = await fetch(u) - const ct = res.headers.get('content-type') - const buf = await res.buffer() - return [buf, ct] + const u = await WSD.diagramURL(description, style, format, apikey, root); + // eslint-disable-next-line n/no-unsupported-features/node-builtins + const res = await fetch(u); + const ct = res.headers.get('content-type'); + const buf = await res.arrayBuffer(); + return [Buffer.from(buf), ct]; } } -WSD.styles = styles +WSD.styles = styles; -module.exports = WSD +module.exports = WSD; diff --git a/package.json b/package.json index 78992db..888aff2 100644 --- a/package.json +++ b/package.json @@ -29,37 +29,38 @@ "license": "Apache-2.0", "scripts": { "test": "ava", - "lint": "eslint . --ext js,cjs,mjs,md bin/*", - "coverage": "c8 -r lcov npm test", + "lint": "eslint .", + "coverage": "c8 npm test", + "nock": "rm -f test/fixtures/wsd.ava.js.json && NOCK_BACK_MODE=record npx ava --serial test/wsd.ava.js", "release": "npm version patch && git push --follow-tags && npm publish" }, "devDependencies": { - "@cto.af/eslint-config": "^2.0.3", - "@types/node": "^20.3.2", - "ava": "^5.3.1", - "c8": "8.0.0", - "eslint": "^8.43.0", - "eslint-plugin-jsdoc": "^46.4.2", - "eslint-plugin-markdown": "^3.0.0", + "@cto.af/eslint-config": "^5.1.1", + "@types/node": "^22.10.2", + "ava": "^6.2.0", + "c8": "10.1.3", + "eslint": "^9.16.0", + "eslint-plugin-jsdoc": "^50.6.1", + "eslint-plugin-markdown": "^5.1.0", "eslint-plugin-node": "^11.1.0", - "nock": "^13.3.1", + "nock": "14.0.0-beta.19", "tmp-promise": "^3.0.3" }, "dependencies": { - "node-fetch": "2", "yargs": "^17.7.2" }, "pnpm": { "overrides": { - "semver": ">=7.5.3", - "word-wrap": "npm:@aashutoshrathi/word-wrap" + "micromatch": "^4.0.8", + "cross-spawn": "^7.0.6" } }, "overrides": { - "semver": ">=7.5.3", - "word-wrap": "npm:@aashutoshrathi/word-wrap" + "micromatch": "^4.0.8", + "cross-spawn": "^7.0.6" }, + "packageManager": "pnpm@9.15.0", "engines": { - "node": ">=16" + "node": ">=18.8" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9671ab..523babf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,122 +1,1458 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false overrides: - semver: '>=7.5.3' - word-wrap: npm:@aashutoshrathi/word-wrap - -dependencies: - node-fetch: - specifier: '2' - version: 2.6.12 - yargs: - specifier: ^17.7.2 - version: 17.7.2 - -devDependencies: - '@cto.af/eslint-config': - specifier: ^2.0.3 - version: 2.0.3(eslint-plugin-jsdoc@46.4.2)(eslint-plugin-n@16.0.1) - '@types/node': - specifier: ^20.3.2 - version: 20.3.2 - ava: - specifier: ^5.3.1 - version: 5.3.1 - c8: - specifier: 8.0.0 - version: 8.0.0 - eslint: - specifier: ^8.43.0 - version: 8.43.0 - eslint-plugin-jsdoc: - specifier: ^46.4.2 - version: 46.4.2(eslint@8.43.0) - eslint-plugin-markdown: - specifier: ^3.0.0 - version: 3.0.0(eslint@8.43.0) - eslint-plugin-node: - specifier: ^11.1.0 - version: 11.1.0(eslint@8.43.0) - nock: - specifier: ^13.3.1 - version: 13.3.1 - tmp-promise: - specifier: ^3.0.3 - version: 3.0.3 + micromatch: ^4.0.8 + cross-spawn: ^7.0.6 + +importers: + + .: + dependencies: + yargs: + specifier: ^17.7.2 + version: 17.7.2 + devDependencies: + '@cto.af/eslint-config': + specifier: ^5.1.1 + version: 5.1.1(eslint@9.16.0)(typescript@5.7.2) + '@types/node': + specifier: ^22.10.2 + version: 22.10.2 + ava: + specifier: ^6.2.0 + version: 6.2.0 + c8: + specifier: 10.1.3 + version: 10.1.3 + eslint: + specifier: ^9.16.0 + version: 9.16.0 + eslint-plugin-jsdoc: + specifier: ^50.6.1 + version: 50.6.1(eslint@9.16.0) + eslint-plugin-markdown: + specifier: ^5.1.0 + version: 5.1.0(eslint@9.16.0) + eslint-plugin-node: + specifier: ^11.1.0 + version: 11.1.0(eslint@9.16.0) + nock: + specifier: 14.0.0-beta.19 + version: 14.0.0-beta.19 + tmp-promise: + specifier: ^3.0.3 + version: 3.0.3 + +packages: + + '@aashutoshrathi/word-wrap@1.2.6': + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + + '@bcoe/v8-coverage@1.0.1': + resolution: {integrity: sha512-W+a0/JpU28AqH4IKtwUPcEUnUyXMDLALcn5/JLczGGT9fHE2sIby/xP/oQnx3nxkForzgzPy201RAKcB4xPAFQ==} + engines: {node: '>=18'} + + '@cto.af/eslint-config@5.1.1': + resolution: {integrity: sha512-WYr0KDfk4p3QB8NZfNUsvjbH2t0cYrB9V6JhRA3RJe5OPsPQfbg7vFP4UdToSYuarywlKid8OkvU4fPLX0g0FA==} + engines: {node: '>=18'} + + '@es-joy/jsdoccomment@0.49.0': + resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} + engines: {node: '>=16'} + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.16.0': + resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/json@0.8.0': + resolution: {integrity: sha512-DdWL9kT3h0XNRK1EVo4ZvxcdQus30msg1Yligb3VR7dnP+1CPM+qBH+SqVV53++XSEhiUJB702bHOttlaa5vhg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/momoa@3.3.5': + resolution: {integrity: sha512-NI9codbQNjw9g4SS/cOizi8JDZ93B3oGVko8M3y0XF3gITaGDSQqea35V8fswWehnRQBLxPfZY5TJnuNhNCEzA==} + engines: {node: '>=18'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jridgewell/resolve-uri@3.1.0': + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.4.14': + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + '@jridgewell/trace-mapping@0.3.18': + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + + '@mapbox/node-pre-gyp@2.0.0-rc.0': + resolution: {integrity: sha512-nhSMNprz3WmeRvd8iUs5JqkKr0Ncx46JtPxM3AhXes84XpSJfmIwKeWXRpsr53S7kqPkQfPhzrMFUxSNb23qSA==} + engines: {node: '>=18'} + hasBin: true + + '@mswjs/interceptors@0.37.3': + resolution: {integrity: sha512-USvgCL/uOGFtVa6SVyRrC8kIAedzRohxIXN5LISlg5C5vLZCn7dgMFVSNhSF9cuBEFrm/O2spDWEZeMnw4ZXYg==} + engines: {node: '>=18'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@open-draft/deferred-promise@2.2.0': + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + + '@open-draft/logger@0.3.0': + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + + '@open-draft/until@2.1.0': + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@rollup/pluginutils@5.1.3': + resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@stylistic/eslint-plugin@2.11.0': + resolution: {integrity: sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/istanbul-lib-coverage@2.0.4': + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@3.0.11': + resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} + + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + + '@types/unist@2.0.6': + resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + + '@typescript-eslint/scope-manager@8.18.0': + resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.18.0': + resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.18.0': + resolution: {integrity: sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/utils@8.18.0': + resolution: {integrity: sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/visitor-keys@8.18.0': + resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vercel/nft@0.27.9': + resolution: {integrity: sha512-pTs7OchHQmSYJPR0puVQCWw/NqzuvAtnAhBurz21lq4Y4KqWoMpYKqmikkETG5r1bHNCM/hQMZ5JiRr9mhOkyg==} + engines: {node: '>=16'} + hasBin: true + + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-find-index@1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + + arrgv@1.0.2: + resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==} + engines: {node: '>=8.0.0'} + + arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + + async-sema@3.1.1: + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + + ava@6.2.0: + resolution: {integrity: sha512-+GZk5PbyepjiO/68hzCZCUepQOQauKfNnI7sA4JukBTg97jD7E+tDKEA7OhGOGr6EorNNMM9+jqvgHVOTOzG4w==} + engines: {node: ^18.18 || ^20.8 || ^22 || >=23} + hasBin: true + peerDependencies: + '@ava/typescript': '*' + peerDependenciesMeta: + '@ava/typescript': + optional: true + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + c8@10.1.3: + resolution: {integrity: sha512-LvcyrOAaOnrrlMpW22n690PUvxiq4Uf9WMhQwNJ9vgagkL/ph1+D4uvjvDA5XCbykrc0sx+ay6pVi9YZ1GnhyA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + monocart-coverage-reports: ^2 + peerDependenciesMeta: + monocart-coverage-reports: + optional: true + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + callsites@4.2.0: + resolution: {integrity: sha512-kfzR4zzQtAE9PC7CzZsjl3aBNbXWuXiSeOCdLcPpBfGW8YuCqQHcRPFDbr/BPVmd3EEPVpuFzLyuT/cUhPr4OQ==} + engines: {node: '>=12.20'} + + cbor@9.0.2: + resolution: {integrity: sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==} + engines: {node: '>=16'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + + character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + + character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + chunkd@2.0.1: + resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} + + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} + engines: {node: '>=8'} + + ci-parallel-vars@1.0.1: + resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concordance@5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + currently-unhandled@0.4.1: + resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} + engines: {node: '>=0.10.0'} + + date-time@3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emittery@1.0.3: + resolution: {integrity: sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==} + engines: {node: '>=14.16'} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-es-x@7.8.0: + resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-es@3.0.1: + resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=4.19.1' + + eslint-plugin-jsdoc@50.6.1: + resolution: {integrity: sha512-UWyaYi6iURdSfdVVqvfOs2vdCVz0J40O/z/HTsv2sFjdjmdlUI/qlKLOTmwbPQ2tAfQnE5F9vqx+B+poF71DBQ==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-markdown@5.1.0: + resolution: {integrity: sha512-SJeyKko1K6GwI0AN6xeCDToXDkfKZfXcexA6B+O2Wr2btUS9GrC+YgwSyVli5DJnctUHjFXcQ2cqTaAmVoLi2A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-n@17.14.0: + resolution: {integrity: sha512-maxPLMEA0rPmRpoOlxEclKng4UpDe+N5BJS4t24I3UKnN109Qcivnfs37KMy84G0af3bxjog5lKctP5ObsvcTA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.23.0' + + eslint-plugin-node@11.1.0: + resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=5.16.0' + + eslint-plugin-redos@4.4.5: + resolution: {integrity: sha512-t2OxsTply2KTXjjJbfQPgQcwxzcoqhx8DtmM/0r17GLNTr35Aa5C/slXHg1r2fEk1LhzjfYXysjLCsD0ZLJjLg==} + engines: {node: '>=14'} + peerDependencies: + eslint: '>= 3' + + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + + eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + + eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.16.0: + resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up-simple@1.0.0: + resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + engines: {node: '>=18'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.3.0: + resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} + engines: {node: '>=18'} + + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.13.0: + resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} + engines: {node: '>=18'} + + globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + engines: {node: '>=18'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + ignore-by-default@2.1.0: + resolution: {integrity: sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw==} + engines: {node: '>=10 <11 || >=12 <13 || >=14'} + + ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + irregular-plurals@3.5.0: + resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} + engines: {node: '>=8'} + + is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + + is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + + is-core-module@2.12.1: + resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + + is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + js-string-escape@1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + load-json-file@7.0.1: + resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + matcher@5.0.0: + resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + md5-hex@3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + + mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + + mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + + memoize@10.0.0: + resolution: {integrity: sha512-H6cBLgsi6vMWOcCpvVCdFFnl3kerEXbrYh9q+lY6VXvQSmM6CkmV08VOwT+WE2tzIEqRPFfAq3fm4v/UIW6mSA==} + engines: {node: '>=18'} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@3.0.1: + resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} + engines: {node: '>= 18'} + + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + nock@14.0.0-beta.19: + resolution: {integrity: sha512-xqWQQZ/Hv01tj5uL7BE4j752hhB2MHP7aaEcTp/iDT1EHsh3TYZOIx4HHFL81yRc8KFx4pqb2P2OtuxKShKhjw==} + engines: {node: '>= 18'} + + node-fetch@2.6.12: + resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + nofilter@3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} + + nopt@8.0.0: + resolution: {integrity: sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@7.0.3: + resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + engines: {node: '>=18'} + + package-config@5.0.0: + resolution: {integrity: sha512-GYTTew2slBcYdvRHqjhwaaydVMvn/qrGC323+nKclYioNSLTDUM/lGgtGTgyHVtYcozb+XkE8CNhwcraOmZ9Mg==} + engines: {node: '>=18'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + + parse-imports@2.2.1: + resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==} + engines: {node: '>= 18'} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + plur@5.1.0: + resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + + propagate@2.0.1: + resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} + engines: {node: '>= 8'} + + punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + recheck-jar@4.4.5: + resolution: {integrity: sha512-a2kMzcfr+ntT0bObNLY22EUNV6Z6WeZ+DybRmPOUXVWzGcqhRcrK74tpgrYt3FdzTlSh85pqoryAPmrNkwLc0g==} + + recheck-linux-x64@4.4.5: + resolution: {integrity: sha512-s8OVPCpiSGw+tLCxH3eei7Zp2AoL22kXqLmEtWXi0AnYNwfuTjZmeLn2aQjW8qhs8ZPSkxS7uRIRTeZqR5Fv/Q==} + cpu: [x64] + os: [linux] + + recheck-macos-x64@4.4.5: + resolution: {integrity: sha512-Ouup9JwwoKCDclt3Na8+/W2pVbt8FRpzjkDuyM32qTR2TOid1NI+P1GA6/VQAKEOjvaxgGjxhcP/WqAjN+EULA==} + cpu: [x64] + os: [darwin] + + recheck-windows-x64@4.4.5: + resolution: {integrity: sha512-mkpzLHu9G9Ztjx8HssJh9k/Xm1d1d/4OoT7etHqFk+k1NGzISCRXBD22DqYF9w8+J4QEzTAoDf8icFt0IGhOEQ==} + cpu: [x64] + os: [win32] + + recheck@4.4.5: + resolution: {integrity: sha512-J80Ykhr+xxWtvWrfZfPpOR/iw2ijvb4WY8d9AVoN8oHsPP07JT1rCAalUSACMGxM1cvSocb6jppWFjVS6eTTrA==} + engines: {node: '>=14'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.5.3: + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + slashes@3.0.12: + resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + strict-event-emitter@0.5.1: + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} -packages: + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supertap@3.0.1: + resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} + + temp-dir@3.0.0: + resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} + engines: {node: '>=14.16'} + + test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} + + time-zone@1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true + tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - /@cto.af/eslint-config@2.0.3(eslint-plugin-jsdoc@46.4.2)(eslint-plugin-n@16.0.1): - resolution: {integrity: sha512-DDN8cgU1gsoBFOkQ11gHlCambC5Qp+DFKf2aeOl0MJFpN5LQPCaD3kVzVHihHTCSOMukKHudCsSRsuDEL1sFCw==} + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: - '@typescript-eslint/eslint-plugin': ~5 - '@typescript-eslint/parser': ~5 - eslint-plugin-ava: ~14 - eslint-plugin-jsdoc: ~46 - eslint-plugin-n: ~16 - typescript: ~5 - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - '@typescript-eslint/parser': - optional: true - eslint-plugin-ava: - optional: true - eslint-plugin-jsdoc: - optional: true - typescript: - optional: true + typescript: '>=4.2.0' + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + v8-to-istanbul@9.1.0: + resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + engines: {node: '>=10.12.0'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + well-known-symbols@2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@6.0.0: + resolution: {integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==} + engines: {node: ^18.17.0 || >=20.5.0} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@bcoe/v8-coverage@1.0.1': {} + + '@cto.af/eslint-config@5.1.1(eslint@9.16.0)(typescript@5.7.2)': dependencies: - eslint-plugin-jsdoc: 46.4.2(eslint@8.43.0) - eslint-plugin-n: 16.0.1(eslint@8.43.0) - dev: true + '@eslint/json': 0.8.0 + '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0)(typescript@5.7.2) + eslint-plugin-n: 17.14.0(eslint@9.16.0) + eslint-plugin-redos: 4.4.5(eslint@9.16.0) + globals: 15.13.0 + transitivePeerDependencies: + - eslint + - supports-color + - typescript - /@es-joy/jsdoccomment@0.39.4: - resolution: {integrity: sha512-Jvw915fjqQct445+yron7Dufix9A+m9j1fCJYlCo1FWlRvTxa3pjJelxdSTdaLWcTwRU6vbL+NYjO4YuNIS5Qg==} - engines: {node: '>=16'} + '@es-joy/jsdoccomment@0.49.0': dependencies: - comment-parser: 1.3.1 - esquery: 1.5.0 - jsdoc-type-pratt-parser: 4.0.0 - dev: true + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.1.0 - /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.4.0(eslint@9.16.0)': dependencies: - eslint: 8.43.0 + eslint: 9.16.0 eslint-visitor-keys: 3.4.1 - dev: true - /@eslint-community/regexpp@4.5.1: - resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0)': + dependencies: + eslint: 9.16.0 + eslint-visitor-keys: 3.4.3 - /@eslint/eslintrc@2.0.3: - resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.1': + dependencies: + '@eslint/object-schema': 2.1.5 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.9.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.2 - globals: 13.20.0 + espree: 10.3.0 + globals: 14.0.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -124,439 +1460,389 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /@eslint/js@8.43.0: - resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@eslint/js@9.16.0': {} - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} - engines: {node: '>=10.10.0'} + '@eslint/json@0.8.0': dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true + '@eslint/plugin-kit': 0.2.4 + '@humanwhocodes/momoa': 3.3.5 - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true + '@eslint/object-schema@2.1.5': {} - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true + '@eslint/plugin-kit@0.2.4': + dependencies: + levn: 0.4.1 - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true + '@humanfs/core@0.19.1': {} - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true + '@humanwhocodes/module-importer@1.0.1': {} - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + '@humanwhocodes/momoa@3.3.5': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + + '@istanbuljs/schema@0.1.3': {} + + '@jridgewell/resolve-uri@3.1.0': {} + + '@jridgewell/sourcemap-codec@1.4.14': {} + + '@jridgewell/trace-mapping@0.3.18': dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@mapbox/node-pre-gyp@2.0.0-rc.0': + dependencies: + consola: 3.2.3 + detect-libc: 2.0.3 + https-proxy-agent: 7.0.6 + node-fetch: 2.6.12 + nopt: 8.0.0 + semver: 7.5.3 + tar: 7.4.3 + transitivePeerDependencies: + - encoding + - supports-color + + '@mswjs/interceptors@0.37.3': + dependencies: + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.3 + strict-event-emitter: 0.5.1 + + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - dev: true - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@open-draft/deferred-promise@2.2.0': {} - /@types/mdast@3.0.11: - resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} + '@open-draft/logger@0.3.0': + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.3 + + '@open-draft/until@2.1.0': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@rollup/pluginutils@5.1.3': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + + '@sindresorhus/merge-streams@2.3.0': {} + + '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + eslint: 9.16.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + estraverse: 5.3.0 + picomatch: 4.0.2 + transitivePeerDependencies: + - supports-color + - typescript + + '@types/estree@1.0.6': {} + + '@types/istanbul-lib-coverage@2.0.4': {} + + '@types/json-schema@7.0.15': {} + + '@types/mdast@3.0.11': dependencies: '@types/unist': 2.0.6 - dev: true - /@types/node@20.3.2: - resolution: {integrity: sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==} - dev: true + '@types/node@22.10.2': + dependencies: + undici-types: 6.20.0 - /@types/unist@2.0.6: - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - dev: true + '@types/unist@2.0.6': {} - /acorn-jsx@5.3.2(acorn@8.9.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/scope-manager@8.18.0': dependencies: - acorn: 8.9.0 - dev: true + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true + '@typescript-eslint/types@8.18.0': {} - /acorn@8.9.0: - resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + '@typescript-eslint/typescript-estree@8.18.0(typescript@5.7.2)': + dependencies: + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 + debug: 4.3.4 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.4.3(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color - /aggregate-error@4.0.1: - resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} - engines: {node: '>=12'} + '@typescript-eslint/utils@8.18.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - clean-stack: 4.2.0 - indent-string: 5.0.0 - dev: true + '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + eslint: 9.16.0 + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + '@typescript-eslint/visitor-keys@8.18.0': + dependencies: + '@typescript-eslint/types': 8.18.0 + eslint-visitor-keys: 4.2.0 + + '@vercel/nft@0.27.9': + dependencies: + '@mapbox/node-pre-gyp': 2.0.0-rc.0 + '@rollup/pluginutils': 5.1.3 + acorn: 8.14.0 + acorn-import-attributes: 1.9.5(acorn@8.14.0) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + node-gyp-build: 4.8.4 + picomatch: 4.0.2 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + abbrev@2.0.0: {} + + acorn-import-attributes@1.9.5(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.0 + + acorn@8.14.0: {} + + agent-base@7.1.3: {} + + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true + ansi-regex@6.0.1: {} - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true + ansi-styles@6.2.1: {} - /are-docs-informative@0.0.2: - resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} - engines: {node: '>=14'} - dev: true + are-docs-informative@0.0.2: {} - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true + argparse@2.0.1: {} - /array-find-index@1.0.2: - resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} - engines: {node: '>=0.10.0'} - dev: true + array-find-index@1.0.2: {} - /arrgv@1.0.2: - resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==} - engines: {node: '>=8.0.0'} - dev: true + arrgv@1.0.2: {} - /arrify@3.0.0: - resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} - engines: {node: '>=12'} - dev: true + arrify@3.0.0: {} - /ava@5.3.1: - resolution: {integrity: sha512-Scv9a4gMOXB6+ni4toLuhAm9KYWEjsgBglJl+kMGI5+IVDt120CCDZyB5HNU9DjmLI2t4I0GbnxGLmmRfGTJGg==} - engines: {node: '>=14.19 <15 || >=16.15 <17 || >=18'} - hasBin: true - peerDependencies: - '@ava/typescript': '*' - peerDependenciesMeta: - '@ava/typescript': - optional: true + async-sema@3.1.1: {} + + ava@6.2.0: dependencies: - acorn: 8.9.0 - acorn-walk: 8.2.0 + '@vercel/nft': 0.27.9 + acorn: 8.14.0 + acorn-walk: 8.3.4 ansi-styles: 6.2.1 arrgv: 1.0.2 arrify: 3.0.0 - callsites: 4.0.0 - cbor: 8.1.0 + callsites: 4.2.0 + cbor: 9.0.2 chalk: 5.3.0 - chokidar: 3.5.3 chunkd: 2.0.1 - ci-info: 3.8.0 + ci-info: 4.1.0 ci-parallel-vars: 1.0.1 - clean-yaml-object: 0.1.0 - cli-truncate: 3.1.0 + cli-truncate: 4.0.0 code-excerpt: 4.0.0 common-path-prefix: 3.0.0 concordance: 5.0.4 currently-unhandled: 0.4.1 - debug: 4.3.4 - emittery: 1.0.1 - figures: 5.0.0 - globby: 13.2.0 + debug: 4.4.0 + emittery: 1.0.3 + figures: 6.1.0 + globby: 14.0.2 ignore-by-default: 2.1.0 indent-string: 5.0.0 - is-error: 2.2.2 is-plain-object: 5.0.0 is-promise: 4.0.0 matcher: 5.0.0 - mem: 9.0.2 + memoize: 10.0.0 ms: 2.1.3 - p-event: 5.0.1 - p-map: 5.5.0 - picomatch: 2.3.1 - pkg-conf: 4.0.0 + p-map: 7.0.3 + package-config: 5.0.0 + picomatch: 4.0.2 plur: 5.1.0 - pretty-ms: 8.0.0 + pretty-ms: 9.2.0 resolve-cwd: 3.0.0 stack-utils: 2.0.6 strip-ansi: 7.1.0 supertap: 3.0.1 temp-dir: 3.0.0 - write-file-atomic: 5.0.1 + write-file-atomic: 6.0.0 yargs: 17.7.2 transitivePeerDependencies: + - encoding + - rollup - supports-color - dev: true - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true + balanced-match@1.0.2: {} - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 - /blueimp-md5@2.19.0: - resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} - dev: true + blueimp-md5@2.19.0: {} - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + brace-expansion@2.0.1: dependencies: - fill-range: 7.0.1 - dev: true - - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true + balanced-match: 1.0.2 - /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + braces@3.0.3: dependencies: - semver: 7.5.3 - dev: true + fill-range: 7.1.1 - /c8@8.0.0: - resolution: {integrity: sha512-XHA5vSfCLglAc0Xt8eLBZMv19lgiBSjnb1FLAQgnwkuhJYEonpilhEB4Ea3jPAbm0FhD6VVJrc0z73jPe7JyGQ==} - engines: {node: '>=12'} - hasBin: true + c8@10.1.3: dependencies: - '@bcoe/v8-coverage': 0.2.3 + '@bcoe/v8-coverage': 1.0.1 '@istanbuljs/schema': 0.1.3 find-up: 5.0.0 - foreground-child: 2.0.0 + foreground-child: 3.3.0 istanbul-lib-coverage: 3.2.0 - istanbul-lib-report: 3.0.0 - istanbul-reports: 3.1.5 - rimraf: 3.0.2 - test-exclude: 6.0.0 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.1.7 + test-exclude: 7.0.1 v8-to-istanbul: 9.1.0 - yargs: 16.2.0 - yargs-parser: 20.2.9 - dev: true + yargs: 17.7.2 + yargs-parser: 21.1.1 - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + callsites@3.1.0: {} - /callsites@4.0.0: - resolution: {integrity: sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==} - engines: {node: '>=12.20'} - dev: true + callsites@4.2.0: {} - /cbor@8.1.0: - resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} - engines: {node: '>=12.19'} + cbor@9.0.2: dependencies: nofilter: 3.1.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true - - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - dev: true - - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - dev: true + chalk@5.3.0: {} - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - dev: true + character-entities-legacy@1.1.4: {} - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true + character-entities@1.2.4: {} - /chunkd@2.0.1: - resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} - dev: true + character-reference-invalid@1.1.4: {} - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - dev: true + chownr@3.0.0: {} - /ci-parallel-vars@1.0.1: - resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} - dev: true + chunkd@2.0.1: {} - /clean-stack@4.2.0: - resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} - engines: {node: '>=12'} - dependencies: - escape-string-regexp: 5.0.0 - dev: true + ci-info@4.1.0: {} - /clean-yaml-object@0.1.0: - resolution: {integrity: sha512-3yONmlN9CSAkzNwnRCiJQ7Q2xK5mWuEfL3PuTZcAUzhObbXsfsnMptJzXwz93nc5zn9V9TwCVMmV7w4xsm43dw==} - engines: {node: '>=0.10.0'} - dev: true + ci-parallel-vars@1.0.1: {} - /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 - string-width: 5.1.2 - dev: true - - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true + string-width: 7.2.0 - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /code-excerpt@4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + code-excerpt@4.0.0: dependencies: convert-to-spaces: 2.0.1 - dev: true - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /comment-parser@1.3.1: - resolution: {integrity: sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==} - engines: {node: '>= 12.0.0'} - dev: true + comment-parser@1.4.1: {} - /common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - dev: true + common-path-prefix@3.0.0: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true + concat-map@0.0.1: {} - /concordance@5.0.4: - resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} - engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + concordance@5.0.4: dependencies: date-time: 3.1.0 esutils: 2.0.3 @@ -566,430 +1852,298 @@ packages: md5-hex: 3.0.1 semver: 7.5.3 well-known-symbols: 2.0.0 - dev: true - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true + consola@3.2.3: {} - /convert-to-spaces@2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + convert-source-map@1.9.0: {} - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + convert-to-spaces@2.0.1: {} + + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true - /currently-unhandled@0.4.1: - resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} - engines: {node: '>=0.10.0'} + currently-unhandled@0.4.1: dependencies: array-find-index: 1.0.2 - dev: true - /date-time@3.1.0: - resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} - engines: {node: '>=6'} + date-time@3.1.0: dependencies: time-zone: 1.0.0 - dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4: dependencies: ms: 2.1.2 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + debug@4.4.0: dependencies: - path-type: 4.0.0 - dev: true + ms: 2.1.3 - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true + deep-is@0.1.4: {} - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true + detect-libc@2.0.3: {} - /emittery@1.0.1: - resolution: {integrity: sha512-2ID6FdrMD9KDLldGesP6317G78K7km/kMcwItRtVFva7I/cSEOIaLpewaUb+YLXVwdAp3Ctfxh/V5zIl1sj7dQ==} - engines: {node: '>=14.16'} - dev: true + eastasianwidth@0.2.0: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emittery@1.0.3: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true + emoji-regex@10.4.0: {} - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + emoji-regex@8.0.0: {} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true + emoji-regex@9.2.2: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: true + es-module-lexer@1.5.4: {} - /eslint-plugin-es-x@7.1.0(eslint@8.43.0): - resolution: {integrity: sha512-AhiaF31syh4CCQ+C5ccJA0VG6+kJK8+5mXKKE7Qs1xcPRg02CDPOj3mWlQxuWS/AYtg7kxrDNgW9YW3vc0Q+Mw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8' + escalade@3.1.1: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-compat-utils@0.5.1(eslint@9.16.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - '@eslint-community/regexpp': 4.5.1 - eslint: 8.43.0 - dev: true + eslint: 9.16.0 + semver: 7.6.3 - /eslint-plugin-es@3.0.1(eslint@8.43.0): - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' + eslint-plugin-es-x@7.8.0(eslint@9.16.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) + '@eslint-community/regexpp': 4.12.1 + eslint: 9.16.0 + eslint-compat-utils: 0.5.1(eslint@9.16.0) + + eslint-plugin-es@3.0.1(eslint@9.16.0): dependencies: - eslint: 8.43.0 + eslint: 9.16.0 eslint-utils: 2.1.0 regexpp: 3.2.0 - dev: true - /eslint-plugin-jsdoc@46.4.2(eslint@8.43.0): - resolution: {integrity: sha512-fmIgOe7irf9otkMtsPjr5P39wC5LzA6aEU/nydfUlc8JaEiS93uhPaxI+x/v5s1Ckm+IZeP3006do2n2ehZcNQ==} - engines: {node: '>=16'} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint-plugin-jsdoc@50.6.1(eslint@9.16.0): dependencies: - '@es-joy/jsdoccomment': 0.39.4 + '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 - comment-parser: 1.3.1 - debug: 4.3.4 + comment-parser: 1.4.1 + debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint: 8.43.0 - esquery: 1.5.0 - is-builtin-module: 3.2.1 - semver: 7.5.3 - spdx-expression-parse: 3.0.1 + eslint: 9.16.0 + espree: 10.3.0 + esquery: 1.6.0 + parse-imports: 2.2.1 + semver: 7.6.3 + spdx-expression-parse: 4.0.0 + synckit: 0.9.2 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-markdown@3.0.0(eslint@8.43.0): - resolution: {integrity: sha512-hRs5RUJGbeHDLfS7ELanT0e29Ocyssf/7kBM+p7KluY5AwngGkDf8Oyu4658/NZSGTTq05FZeWbkxXtbVyHPwg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-markdown@5.1.0(eslint@9.16.0): dependencies: - eslint: 8.43.0 + eslint: 9.16.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-n@16.0.1(eslint@8.43.0): - resolution: {integrity: sha512-CDmHegJN0OF3L5cz5tATH84RPQm9kG+Yx39wIqIwPR2C0uhBGMWfbbOtetR83PQjjidA5aXMu+LEFw1jaSwvTA==} - engines: {node: '>=16.0.0'} - peerDependencies: - eslint: '>=7.0.0' + eslint-plugin-n@17.14.0(eslint@9.16.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - builtins: 5.0.1 - eslint: 8.43.0 - eslint-plugin-es-x: 7.1.0(eslint@8.43.0) - ignore: 5.2.4 - is-core-module: 2.12.1 - minimatch: 3.1.2 - resolve: 1.22.2 - semver: 7.5.3 - dev: true + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) + enhanced-resolve: 5.17.1 + eslint: 9.16.0 + eslint-plugin-es-x: 7.8.0(eslint@9.16.0) + get-tsconfig: 4.8.1 + globals: 15.13.0 + ignore: 5.3.2 + minimatch: 9.0.5 + semver: 7.6.3 - /eslint-plugin-node@11.1.0(eslint@8.43.0): - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' + eslint-plugin-node@11.1.0(eslint@9.16.0): dependencies: - eslint: 8.43.0 - eslint-plugin-es: 3.0.1(eslint@8.43.0) + eslint: 9.16.0 + eslint-plugin-es: 3.0.1(eslint@9.16.0) eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 resolve: 1.22.2 - semver: 7.5.3 - dev: true + semver: 6.3.1 - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-redos@4.4.5(eslint@9.16.0): + dependencies: + eslint: 9.16.0 + recheck: 4.4.5 + + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-utils@2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + eslint-utils@2.1.0: dependencies: eslint-visitor-keys: 1.3.0 - dev: true - /eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - dev: true + eslint-visitor-keys@1.3.0: {} - /eslint-visitor-keys@3.4.1: - resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.1: {} - /eslint@8.43.0: - resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint@9.16.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.43.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.16.0 + '@eslint/plugin-kit': 0.2.4 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 debug: 4.3.4 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.5.2 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 - graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /espree@9.5.2: - resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.3.0: dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) - eslint-visitor-keys: 3.4.1 - dev: true + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true + esprima@4.0.1: {} - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esquery@1.6.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + estraverse@5.3.0: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + estree-walker@2.0.2: {} - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true + esutils@2.0.3: {} - /fast-glob@3.3.0: - resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} - engines: {node: '>=8.6.0'} + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 - dev: true + micromatch: 4.0.8 - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fastq@1.15.0: dependencies: reusify: 1.0.4 - dev: true - /figures@5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} + figures@6.1.0: dependencies: - escape-string-regexp: 5.0.0 - is-unicode-supported: 1.3.0 - dev: true + is-unicode-supported: 2.1.0 - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.0.4 - dev: true + flat-cache: 4.0.1 - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + file-uri-to-path@1.0.0: {} + + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up-simple@1.0.0: {} + + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - dev: true - - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: dependencies: - flatted: 3.2.7 - rimraf: 3.0.2 - dev: true + flatted: 3.3.2 + keyv: 4.5.4 - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true + flatted@3.3.2: {} - /foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} + foreground-child@3.3.0: dependencies: - cross-spawn: 7.0.3 - signal-exit: 3.0.7 - dev: true + cross-spawn: 7.0.6 + signal-exit: 4.0.2 - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true + function-bind@1.1.1: {} - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true + get-caller-file@2.0.5: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.3.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - dev: true - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -997,313 +2151,176 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true + globals@14.0.0: {} - /globby@13.2.0: - resolution: {integrity: sha512-jWsQfayf13NvqKUIL3Ta+CIqMnvlaIDFveWE/dpOZ9+3AMEJozsxDvKA02zync9UuvOM8rOXzsD5GqKP4OnWPQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globals@15.13.0: {} + + globby@14.0.2: dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.0 + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 ignore: 5.2.4 - merge2: 1.4.1 - slash: 4.0.0 - dev: true + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graceful-fs@4.2.11: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true + has-flag@4.0.0: {} - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + has@1.0.3: dependencies: function-bind: 1.1.1 - dev: true - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true + html-escaper@2.0.2: {} - /ignore-by-default@2.1.0: - resolution: {integrity: sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw==} - engines: {node: '>=10 <11 || >=12 <13 || >=14'} - dev: true + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true + ignore-by-default@2.1.0: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + ignore@5.2.4: {} + + ignore@5.3.2: {} + + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - dev: true + indent-string@5.0.0: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true + inherits@2.0.4: {} - /irregular-plurals@3.5.0: - resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} - engines: {node: '>=8'} - dev: true + irregular-plurals@3.5.0: {} - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - dev: true + is-alphabetical@1.0.4: {} - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + is-alphanumerical@1.0.4: dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 - dev: true - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - /is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + is-core-module@2.12.1: dependencies: has: 1.0.3 - dev: true - - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - dev: true - /is-error@2.2.2: - resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} - dev: true + is-decimal@1.0.4: {} - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true + is-extglob@2.1.1: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true + is-fullwidth-code-point@4.0.0: {} - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - dev: true - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - dev: true + is-hexadecimal@1.0.4: {} - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true + is-node-process@1.2.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-number@7.0.0: {} - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: true + is-plain-object@5.0.0: {} - /is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - dev: true + is-promise@4.0.0: {} - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - dev: true + is-unicode-supported@2.1.0: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true + isexe@2.0.0: {} - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true + istanbul-lib-coverage@3.2.0: {} - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true + istanbul-lib-report: 3.0.1 - /js-string-escape@1.0.1: - resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} - engines: {node: '>= 0.8'} - dev: true + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-string-escape@1.0.1: {} + + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /jsdoc-type-pratt-parser@4.0.0: - resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} - engines: {node: '>=12.0.0'} - dev: true + jsdoc-type-pratt-parser@4.1.0: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-buffer@3.0.1: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-schema-traverse@0.4.1: {} - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + json-stringify-safe@5.0.1: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /load-json-file@7.0.1: - resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + load-json-file@7.0.1: {} - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true + lodash.merge@4.6.2: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash@4.17.21: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true + lru-cache@10.4.3: {} - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + make-dir@4.0.0: dependencies: semver: 7.5.3 - dev: true - - /map-age-cleaner@0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} - dependencies: - p-defer: 1.0.0 - dev: true - /matcher@5.0.0: - resolution: {integrity: sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + matcher@5.0.0: dependencies: escape-string-regexp: 5.0.0 - dev: true - /md5-hex@3.0.1: - resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} - engines: {node: '>=8'} + md5-hex@3.0.1: dependencies: blueimp-md5: 2.19.0 - dev: true - /mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + mdast-util-from-markdown@0.8.5: dependencies: '@types/mdast': 3.0.11 mdast-util-to-string: 2.0.0 @@ -1312,108 +2329,75 @@ packages: unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true + mdast-util-to-string@2.0.0: {} - /mem@9.0.2: - resolution: {integrity: sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==} - engines: {node: '>=12.20'} + memoize@10.0.0: dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 4.0.0 - dev: true + mimic-function: 5.0.1 - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + micromark@2.11.4: dependencies: debug: 4.3.4 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 - dev: true - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + mimic-function@5.0.1: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + minipass@7.1.2: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + minizlib@3.0.1: + dependencies: + minipass: 7.1.2 + rimraf: 5.0.10 + + mkdirp@3.0.1: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + natural-compare@1.4.0: {} - /nock@13.3.1: - resolution: {integrity: sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==} - engines: {node: '>= 10.13'} + nock@14.0.0-beta.19: dependencies: - debug: 4.3.4 + '@mswjs/interceptors': 0.37.3 json-stringify-safe: 5.0.1 - lodash: 4.17.21 propagate: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.6.12: dependencies: whatwg-url: 5.0.0 - dev: false - /nofilter@3.1.0: - resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} - engines: {node: '>=12.19'} - dev: true + node-gyp-build@4.8.4: {} - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + nofilter@3.1.0: {} - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + nopt@8.0.0: + dependencies: + abbrev: 2.0.0 + + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -1421,69 +2405,31 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - - /p-defer@1.0.0: - resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} - engines: {node: '>=4'} - dev: true - /p-event@5.0.1: - resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-timeout: 5.1.0 - dev: true + outvariant@1.4.3: {} - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - yocto-queue: 1.0.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-limit: 4.0.0 - dev: true + p-map@7.0.3: {} - /p-map@5.5.0: - resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} - engines: {node: '>=12'} + package-config@5.0.0: dependencies: - aggregate-error: 4.0.1 - dev: true + find-up-simple: 1.0.0 + load-json-file: 7.0.1 - /p-timeout@5.1.0: - resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} - engines: {node: '>=12'} - dev: true + package-json-from-dist@1.0.1: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + parse-entities@2.0.0: dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -1491,442 +2437,302 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - dev: true - /parse-ms@3.0.0: - resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} - engines: {node: '>=12'} - dev: true + parse-imports@2.2.1: + dependencies: + es-module-lexer: 1.5.4 + slashes: 3.0.12 - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + parse-ms@4.0.0: {} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-key@3.1.1: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true + path-parse@1.0.7: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + path-type@5.0.0: {} - /pkg-conf@4.0.0: - resolution: {integrity: sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - find-up: 6.3.0 - load-json-file: 7.0.1 - dev: true + picomatch@2.3.1: {} - /plur@5.1.0: - resolution: {integrity: sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + picomatch@4.0.2: {} + + plur@5.1.0: dependencies: irregular-plurals: 3.5.0 - dev: true - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /pretty-ms@8.0.0: - resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} - engines: {node: '>=14.16'} + pretty-ms@9.2.0: dependencies: - parse-ms: 3.0.0 - dev: true + parse-ms: 4.0.0 - /propagate@2.0.1: - resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} - engines: {node: '>= 8'} - dev: true + propagate@2.0.1: {} - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true + punycode@2.3.0: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true + recheck-jar@4.4.5: + optional: true - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true + recheck-linux-x64@4.4.5: + optional: true - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + recheck-macos-x64@4.4.5: + optional: true - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + recheck-windows-x64@4.4.5: + optional: true + + recheck@4.4.5: + optionalDependencies: + recheck-jar: 4.4.5 + recheck-linux-x64: 4.4.5 + recheck-macos-x64: 4.4.5 + recheck-windows-x64: 4.4.5 + + regexpp@3.2.0: {} + + require-directory@2.1.1: {} + + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - dev: true - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + resolve-from@5.0.0: {} - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.2: dependencies: is-core-module: 2.12.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + reusify@1.0.4: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /semver@7.5.3: - resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} - engines: {node: '>=10'} - hasBin: true + semver@6.3.1: {} + + semver@7.5.3: dependencies: lru-cache: 6.0.0 - dev: true - /serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} + semver@7.6.3: {} + + serialize-error@7.0.1: dependencies: type-fest: 0.13.1 - dev: true - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + signal-exit@4.0.2: {} - /signal-exit@4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} - engines: {node: '>=14'} - dev: true + slash@5.1.0: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true + slashes@3.0.12: {} - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: true + spdx-exceptions@2.3.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@4.0.0: dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.13 - dev: true - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} - dev: true + spdx-license-ids@3.0.13: {} - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + sprintf-js@1.0.3: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + strict-event-emitter@0.5.1: {} + + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.3.0 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - dev: true - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /supertap@3.0.1: - resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + supertap@3.0.1: dependencies: indent-string: 5.0.0 js-yaml: 3.14.1 serialize-error: 7.0.1 strip-ansi: 7.1.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true + supports-preserve-symlinks-flag@1.0.0: {} - /temp-dir@3.0.0: - resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} - engines: {node: '>=14.16'} - dev: true + synckit@0.9.2: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.8.1 - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + tapable@2.2.1: {} + + tar@7.4.3: dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.1 + mkdirp: 3.0.1 + yallist: 5.0.0 - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + temp-dir@3.0.0: {} - /time-zone@1.0.0: - resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} - engines: {node: '>=4'} - dev: true + test-exclude@7.0.1: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 10.4.5 + minimatch: 9.0.5 - /tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + time-zone@1.0.0: {} + + tmp-promise@3.0.3: dependencies: tmp: 0.2.1 - dev: true - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + tmp@0.2.1: dependencies: rimraf: 3.0.2 - dev: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false + tr46@0.0.3: {} - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + ts-api-utils@1.4.3(typescript@5.7.2): + dependencies: + typescript: 5.7.2 + + tslib@2.8.1: {} + + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - dev: true + type-fest@0.13.1: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + typescript@5.7.2: {} - /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + undici-types@6.20.0: {} + + unicorn-magic@0.1.0: {} + + unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.6 - dev: true - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.0 - dev: true - /v8-to-istanbul@9.1.0: - resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@9.1.0: dependencies: '@jridgewell/trace-mapping': 0.3.18 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 - dev: true - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false + webidl-conversions@3.0.1: {} - /well-known-symbols@2.0.0: - resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} - engines: {node: '>=6'} - dev: true + well-known-symbols@2.0.0: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: false - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - dev: true - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 - /write-file-atomic@5.0.1: - resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + wrappy@1.0.2: {} + + write-file-atomic@6.0.0: dependencies: imurmurhash: 0.1.4 signal-exit: 4.0.2 - dev: true - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + y18n@5.0.8: {} - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true + yallist@4.0.0: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + yallist@5.0.0: {} - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 - dev: true + yargs-parser@21.1.1: {} - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -1936,12 +2742,4 @@ packages: y18n: 5.0.8 yargs-parser: 21.1.1 - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@0.1.0: {} diff --git a/test/fileStream.ava.js b/test/fileStream.ava.js index 903b286..680770a 100644 --- a/test/fileStream.ava.js +++ b/test/fileStream.ava.js @@ -1,15 +1,12 @@ -'use strict' +'use strict'; -const fs = require('fs') -const path = require('path') -const stream = require('stream') -const util = require('util') -const test = require('ava') -const tmp = require('tmp-promise') -const FileStream = require('../lib/fileStream') -const writeFile = util.promisify(fs.writeFile) -const unlink = util.promisify(fs.unlink) -tmp.setGracefulCleanup() +const fs = require('node:fs/promises'); +const path = require('node:path'); +const stream = require('node:stream'); +const test = require('ava'); +const tmp = require('tmp-promise'); +const FileStream = require('../lib/fileStream'); +tmp.setGracefulCleanup(); const desc = ` title Authentication Sequence @@ -17,52 +14,53 @@ title Authentication Sequence Alice->Bob: Authentication Request note right of Bob: Bob thinks about it Bob->Alice: Authentication Response -` -const files = ['1.wsd', '2.wsd'] +`; +const files = ['1.wsd', '2.wsd']; test.before(async t => { - t.context = await tmp.dir({keep: false}) - t.context.files = [] + t.context = await tmp.dir({keep: false}); + t.context.files = []; for (const f of files) { - const fn = path.join(t.context.path, f) - t.context.files.push(fn) - await writeFile(fn, desc) + const fn = path.join(t.context.path, f); + t.context.files.push(fn); + await fs.writeFile(fn, desc); } -}) +}); test.after(async t => { for (const f of t.context.files) { - await unlink(f) + await fs.unlink(f); } - t.context.cleanup() -}) + t.context.cleanup(); +}); test('stdin', async t => { - const f = new FileStream() - t.truthy(f instanceof FileStream) - t.truthy(f.stream instanceof stream.Readable) - const streams = await FileStream.createAll(['-']) - t.is(streams.length, 1) -}) + const f = new FileStream(); + t.truthy(f instanceof FileStream); + t.truthy(f.stream instanceof stream.Readable); + const streams = await FileStream.createAll(['-']); + t.is(streams.length, 1); + process.stdin.destroy(); +}); test('all', async t => { - const streams = await FileStream.createAll([t.context.path]) - t.is(streams.length, files.length) - const individuals = await FileStream.createAll(t.context.files) - t.is(individuals.length, files.length) -}) + const streams = await FileStream.createAll([t.context.path]); + t.is(streams.length, files.length); + const individuals = await FileStream.createAll(t.context.files); + t.is(individuals.length, files.length); +}); test('read', async t => { - const streams = await FileStream.createAll([t.context.path]) - const bufs = await Promise.all(streams.map(s => s.read())) + const streams = await FileStream.createAll([t.context.path]); + const bufs = await Promise.all(streams.map(s => s.read())); bufs.forEach(b => { - const s = b.toString('utf8') - t.is(s, desc) - }) -}) + const s = b.toString('utf8'); + t.is(s, desc); + }); +}); test('error', async t => { - const fn = path.join(t.context.path, 'DOES_NOT_EXIST') - const f = new FileStream(fn) - await t.throwsAsync(() => f.read()) -}) + const fn = path.join(t.context.path, 'DOES_NOT_EXIST'); + const f = new FileStream(fn); + await t.throwsAsync(() => f.read()); +}); diff --git a/test/fixtures/wsd.ava.js.json b/test/fixtures/wsd.ava.js.json index 2513648..1442963 100644 --- a/test/fixtures/wsd.ava.js.json +++ b/test/fixtures/wsd.ava.js.json @@ -1,239 +1,433 @@ [ { - "scope": "http://www.websequencediagrams.com:80", + "scope": "https://www.websequencediagrams.com:443", "method": "POST", "path": "/index.php", - "body": "apiVersion=1&message=Alice%0A&style=default&format=pdf", - "status": 402, - "response": "<!DOCTYPE html>\n<html><head>\n<title>API Key Required for PDF</title>\n</head><body>\n<h1>API Key Required for PDF</h1>\n</body></html>\n", - "rawHeaders": [ - "Content-Length", - "132", - "Set-Cookie", - "PHPSESSID=PBgF9XS5yRQDfQdpiqDe9_oIQWwW4Tl_; expires=Sun, 10 Mar 2019 00:20:13 GMT; path=/;; HttpOnly;", - "Status", - "402 API Key Required for PDF", - "Connection", - "close", - "Date", - "Fri, 08 Feb 2019 00:20:13 GMT", - "Server", - "lighttpd/1.4.35" - ] - }, - { - "scope": "http://www.websequencediagrams.com:80", - "method": "POST", - "path": "/index.php", - "body": "apiVersion=1&message=Alice-%3E&style=default&format=png", + "body": "apiVersion=1&message=%0Atitle+Authentication+Sequence%0A%0AAlice-%3EBob%3A+Authentication+Request%0Anote+right+of+Bob%3A+Bob+thinks+about+it%0ABob-%3EAlice%3A+Authentication+Response%0A&style=default&format=png", "status": 200, - "response": [ - "1f8b0800000000000003ab56cacc4d57b25250b22fc84bb7cd2d4e2ec9300db1b454d251504a2d2aca2f2a06ca452bf964e6a52a185a290457e6952456288065f494627594f2124b4a8b1273c233534a32802a8d0c749412934b4a514592f22b52c1e6c4d602009728647a6f000000" - ], - "rawHeaders": [ - "Content-encoding", - "gzip", - "Content-type", - "application/json", - "Set-Cookie", - "PHPSESSID=p7XPwE2D8CfS9YSlmaZ_8A7f2jA34S2K; expires=Sun, 10 Mar 2019 00:20:13 GMT; path=/;; HttpOnly;", - "Connection", - "close", - "Transfer-Encoding", - "chunked", - "Date", - "Fri, 08 Feb 2019 00:20:13 GMT", - "Server", - "lighttpd/1.4.35" - ] + "response": { + "img": "?png=msc124521731", + "errors": [], + "naturalWidth": 369, + "actualWidth": 369, + "boxes": [ + { + "line": 3, + "rect": [ + 53.5, + 115.66666666666669, + 173, + 17 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 192.5, + 222.66666666666669, + 0, + 0 + ], + "header": 0 + }, + { + "line": 4, + "rect": [ + 238.5, + 146.00000000000003, + 120, + 33 + ], + "header": 0 + }, + { + "line": 5, + "rect": [ + 53.5, + 192.33333333333334, + 173, + 17 + ], + "header": 0 + }, + { + "line": 5, + "rect": [ + 192.5, + 222.66666666666669, + 0, + 0 + ], + "header": 0 + }, + { + "line": 1, + "rect": [ + 10, + 10, + 348.5, + 25 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 192.5, + 222.66666666666669, + 69, + 49 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 187.5, + 48.33333333333334, + 79, + 59 + ], + "header": 1 + }, + { + "line": 3, + "rect": [ + 15, + 222.66666666666669, + 76, + 49 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 10, + 48.33333333333334, + 86, + 59 + ], + "header": 1 + } + ] + }, + "rawHeaders": { + "connection": "keep-alive", + "content-length": "685", + "content-type": "application/json", + "date": "Wed, 11 Dec 2024 20:30:29 GMT", + "server": "nginx/1.14.0 (Ubuntu)", + "vary": "Accept-Encoding" + }, + "responseIsBinary": false }, { - "scope": "http://www.websequencediagrams.com:80", + "scope": "https://www.websequencediagrams.com:443", "method": "POST", "path": "/index.php", - "body": "apiVersion=1&message=%0Atitle+Authentication+Sequence%0A%0AAlice-%3EBob%3A+Authentication+Request%0Anote+right+of+Bob%3A+Bob+thinks+about+it%0ABob-%3EAlice%3A+Authentication+Response%0A&style=default&format=png", + "body": "apiVersion=1&message=%0Atitle+Authentication+Sequence%0A%0AAlice-%3EBob%3A+Authentication+Request%0Anote+right+of+Bob%3A+Bob+thinks+about+it%0ABob-%3EAlice%3A+Authentication+Response%0A&style=earth&format=png", "status": 200, - "response": [ - "1f8b08000000000000038d90cb8ac24010457f456a5d84aeaa7e2401f10366f6b3902c626c348346693b3020febb6d848c630467d7dc3ef75ca833b4fb0d9433581cbbcd7c7f6a74fcf8fcee0167e043388453fa5b56085d1dfb50efbeda75dca648ac46a89bd83f45abc38f1f2a67d8b59d873265c13711caa561a45c32114172e96dab0b4e296bd0f20d1254a81e10191116832405121528f480f09f2d5564d6bae916bfdf5223422a8950b44696970e2a3833c8c4c3583a813603b7f5f5da072809a795dca58ab6f765a7d198d7ea5faf93ff78d528cd659056972bfd6bf069df010000" - ], - "rawHeaders": [ - "Content-encoding", - "gzip", - "Content-type", - "application/json", - "Set-Cookie", - "PHPSESSID=hyRcdnRiPBH8w9l3krhd2dbEmOVzZle5; expires=Sun, 10 Mar 2019 00:20:13 GMT; path=/;; HttpOnly;", - "Connection", - "close", - "Transfer-Encoding", - "chunked", - "Date", - "Fri, 08 Feb 2019 00:20:13 GMT", - "Server", - "lighttpd/1.4.35" - ] + "response": { + "img": "?png=msc2766322553", + "errors": [], + "naturalWidth": 364, + "actualWidth": 364, + "boxes": [ + { + "line": 3, + "rect": [ + 47.296875, + 106.66666666666669, + 176, + 18 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 197.65625, + 217.66666666666669, + 0, + 0 + ], + "header": 0 + }, + { + "line": 4, + "rect": [ + 236.296875, + 138.00000000000003, + 117, + 35 + ], + "header": 0 + }, + { + "line": 5, + "rect": [ + 47.296875, + 186.33333333333334, + 176, + 18 + ], + "header": 0 + }, + { + "line": 5, + "rect": [ + 197.65625, + 217.66666666666669, + 0, + 0 + ], + "header": 0 + }, + { + "line": 1, + "rect": [ + 10, + 10, + 343.296875, + 22 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 197.65625, + 217.66666666666669, + 54.28125, + 43 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 192.65625, + 45.33333333333334, + 64.28125, + 53 + ], + "header": 1 + }, + { + "line": 3, + "rect": [ + 15, + 217.66666666666669, + 61.59375, + 43 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 10, + 45.33333333333334, + 71.59375, + 53 + ], + "header": 1 + } + ] + }, + "rawHeaders": { + "connection": "keep-alive", + "content-length": "746", + "content-type": "application/json", + "date": "Wed, 11 Dec 2024 20:30:29 GMT", + "server": "nginx/1.14.0 (Ubuntu)", + "vary": "Accept-Encoding" + }, + "responseIsBinary": false }, { - "scope": "http://www.websequencediagrams.com:80", + "scope": "https://www.websequencediagrams.com:443", "method": "POST", "path": "/index.php", - "body": "apiVersion=1&message=%0Atitle+Authentication+Sequence%0A%0AAlice-%3EBob%3A+Authentication+Request%0Anote+right+of+Bob%3A+Bob+thinks+about+it%0ABob-%3EAlice%3A+Authentication+Response%0A&style=default&format=png", - "status": 200, - "response": [ - "1f8b0800000000000003", - "8d90cb8ac2", - "4010457f45", - "6a5d84aeaa", - "7e2401f103", - "5cb8742159", - "6462a3018d", - "da4614c47f", - "b78d907126", - "82ee9adbe7", - "9e0b75857a", - "bb827c0493", - "7db31a6f8f", - "d5e13c9d55", - "73c011f810", - "76e118ff16", - "054253b6a7", - "506ee6f5b2", - "5dc748ac46", - "28abf6f42f", - "fad95d7c57", - "b9c2a66e3c", - "e4310bbe6a", - "215f18464a", - "2511112417", - "dfb6b8e190", - "b2062d3f20", - "4185ea0591", - "1e61314892", - "215186422f", - "08ffd95259", - "62ad1b6ef1", - "e72dd523a4", - "a208456b64", - "79eba08c13", - "834cdc8dc5", - "1368d3716b", - "5f2e7d809c", - "7058495dac", - "68fb5c761a", - "8d79affef5", - "3af9c6ab7a", - "692a9db4b8", - "dd01875e25", - "7fdf010000" - ], - "rawHeaders": [ - "Content-encoding", - "gzip", - "Content-type", - "application/json", - "Set-Cookie", - "PHPSESSID=1pmT4xV4z4U2RtEw3PLsl2YLigAIKQLs; expires=Sun, 10 Mar 2019 00:20:13 GMT; path=/;; HttpOnly;", - "Connection", - "close", - "Transfer-Encoding", - "chunked", - "Date", - "Fri, 08 Feb 2019 00:20:13 GMT", - "Server", - "lighttpd/1.4.35" - ] + "body": "apiVersion=1&message=Alice%0A&style=default&format=pdf", + "status": 402, + "response": "", + "rawHeaders": { + "connection": "keep-alive", + "content-length": "0", + "date": "Wed, 11 Dec 2024 20:30:29 GMT", + "server": "nginx/1.14.0 (Ubuntu)", + "status": "API Key Required for PDF", + "vary": "Accept-Encoding" + }, + "responseIsBinary": false }, { - "scope": "http://www.websequencediagrams.com:80", + "scope": "https://www.websequencediagrams.com:443", "method": "POST", "path": "/index.php", "body": "apiVersion=1&message=%0Atitle+Authentication+Sequence%0A%0AAlice-%3EBob%3A+Authentication+Request%0Anote+right+of+Bob%3A+Bob+thinks+about+it%0ABob-%3EAlice%3A+Authentication+Response%0A&style=default&format=png", "status": 200, - "response": [ - "1f8b0800000000000003", - "8d90dd6ac2", - "4010855f45", - "e67a083b33", - "fb930d481f", - "a317928b18", - "170d689435", - "42db9077ef", - "9a42aa46d0", - "bbe5ec77be", - "03d34373d8", - "42b1808f53", - "bb5d1eceb5", - "fef9f6b605", - "5c4088f118", - "cfe96f5522", - "b4557789d5", - "feb3d974bb", - "1489d50855", - "dd5d1ea2f5", - "f12b8c951e", - "f64d1ba048", - "590c7507c5", - "ca30522e99", - "8820b9f4b6", - "e58073ca1a", - "b47c850415", - "aa1b442684", - "c520894722", - "8f423708df", - "6d299f59eb", - "e65bfc7a4b", - "4d08a92442", - "d11a599e3a", - "c873669089", - "c7b174026d", - "466e17aa4d", - "885010ce2b", - "b94b156dff", - "969d46639e", - "abffbd4ede", - "f1aa499acb", - "282d875f49", - "78e48fdf01", - "0000" - ], - "rawHeaders": [ - "Content-encoding", - "gzip", - "Content-type", - "application/json", - "Set-Cookie", - "PHPSESSID=eoEfj82daWZ4-3bGVuyu06-4J6IzJvsE; expires=Sun, 10 Mar 2019 00:20:13 GMT; path=/;; HttpOnly;", - "Connection", - "close", - "Transfer-Encoding", - "chunked", - "Date", - "Fri, 08 Feb 2019 00:20:13 GMT", - "Server", - "lighttpd/1.4.35" - ] + "response": { + "img": "?png=msc951989904", + "errors": [], + "naturalWidth": 369, + "actualWidth": 369, + "boxes": [ + { + "line": 3, + "rect": [ + 53.5, + 115.66666666666669, + 173, + 17 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 192.5, + 222.66666666666669, + 0, + 0 + ], + "header": 0 + }, + { + "line": 4, + "rect": [ + 238.5, + 146.00000000000003, + 120, + 33 + ], + "header": 0 + }, + { + "line": 5, + "rect": [ + 53.5, + 192.33333333333334, + 173, + 17 + ], + "header": 0 + }, + { + "line": 5, + "rect": [ + 192.5, + 222.66666666666669, + 0, + 0 + ], + "header": 0 + }, + { + "line": 1, + "rect": [ + 10, + 10, + 348.5, + 25 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 192.5, + 222.66666666666669, + 69, + 49 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 187.5, + 48.33333333333334, + 79, + 59 + ], + "header": 1 + }, + { + "line": 3, + "rect": [ + 15, + 222.66666666666669, + 76, + 49 + ], + "header": 0 + }, + { + "line": 3, + "rect": [ + 10, + 48.33333333333334, + 86, + 59 + ], + "header": 1 + } + ] + }, + "rawHeaders": { + "connection": "keep-alive", + "content-length": "685", + "content-type": "application/json", + "date": "Wed, 11 Dec 2024 20:30:30 GMT", + "server": "nginx/1.14.0 (Ubuntu)", + "vary": "Accept-Encoding" + }, + "responseIsBinary": false }, { - "scope": "http://www.websequencediagrams.com:80", + "scope": "https://www.websequencediagrams.com:443", "method": "GET", - "path": "/?png=msc4zy96n", + "path": "/?png=msc951989904", "body": "", "status": 200, - "response": "89504e470d0a1a0a0000000d494844520000016c0000011a0802000000ba86fa3200000006624b474400ff00ff00ffa0bda7930000200049444154789ceddd795c13d7da38f01381ac40d8ca6280808020200a2e68d954f4a3b81454f06a69ed625b5179d5aa75a9b7b56a5dde16a9d6bad4a22c8a7ac50d9552af1b12a0a87501150454401050904596b02439bf3fcebdf3cb1b120c8c40a0cff7afc99933e73c6766f2301b1906c618010040570de8ed0000007d1b241100002d90440000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b440120100d0d2af92c8679f7dc66030180c86abab2b9d76ce9d3b979999497d0c0f0f27cd3e78f080768c9dee7df9f2e5a4f77bf7eef5d18e9492c964515151e3c78f7fe79d777474748c8d8d7d7d7df7efdf2f954a7ba077f016f59f2422168b131212c8f4c3870f6fdebcd985469e3d7b367dfaf4c0c0c08a8a8ab71a9d66f5debbc34408492492c0c0c0cf3fff3c2525a5aaaa4a22915457578b44a2458b164d9932a5b5b5b557a2025da3dddb01bc3567ce9c79fdfa35f5313a3a7af4e8d19d6de4f4e9d34949496f352ebabd8f1e3dfaa38f3e4208191919f5b98e54898989b970e10242c8c0c0203838d8dcdcfce9d3a7a74e9d6a6969b97cf9f2ce9d3b57af5edddd3180b7a5ff2491d8d8588490b6b6b6a1a1616565e5f1e3c77ffae927369bdddb71d1f5fefbefbffffefbfda9238410c92008a15bb76ed9dbdb93e9a0a0a03973e620848e1d3b0649a42fc1fd426969e9800103104253a64cf9f2cb2fc9d08e1c39225f87fc99450815161652857c3e1f21346cd8308cf1b469d31456ceddbb7731c64b962c211fefdcb9b379f366a150c862b1860f1f7ee2c409f9f62b2a2ac2c2c2060e1cc86432854261787878454505359734c262b1aaabab972e5d6a6969c962b15c5d5d636363490555bd2f5bb64cfe2321168bb76cd9e2e2e2c266b34d4c4cbcbdbd1582494d4d9d366d9a4020d0d1d1313232f2f1f1397af468173ac2189f3c79d2dfdfdfd8d898cd66bbbaba6edebcb9a1a141fd71293565ca14d2d7bffffd6faa5022916cd9b265f3e6cd3b76ec5073ad628c6b6a6ac2c3c3cdcdcdd96cb69797d79f7ffe4942e2f1786a6ef7b7b2f9d4dc2e6f1c4e5fd44f92c8b66ddbc88e121717f7d75f7f91697f7f7ff93af493c8f0e1c3152a9c3f7f9eb4f3fcf973a150a830d7cacaaab4b49454208d686b6b3b39392184984c26552d2929a983dedb7fb7c562f1bbefbe8bdad9ba752ba990929222df3e85ecf19d4a229f7ffe79fb76860e1d5a5959a9e6b894dab16307a93360c080c99327fff2cb2f393939edabbd71ad3634340c1d3a547e2e87c3f1f1f1419d4c22f4379f3adbe58dbdf451fd2489904dcbe1705ebf7e8d31767474440831188ca2a222aace1b77a67bf7ee2d5ab488d4d9b871e3a54b97eaebebb15c12e172b97bf6ecf9f3cf3fc3c2c248c98c1933483b3367ce243d7ef7dd77696969111111dadada08a1e0e06052816a442814666565618c7ffef96752326ddab40e7a6fffddfee69b6f4889afafef993367e2e3e32d2d2d11425a5a5ac5c5c518632f2f2f8490bebe7e7c7c7c666626f58d255955fd8e7efbed3752626c6cbc75ebd67dfbf68d1a354a61e06f1c975262b1d8d3d353e1eb646d6dbd76edda172f5e50d5deb856bffefa6bb2acbdbd7d7c7cfcf1e3c7c9a6479d4c22f4379f3adbe58dbdf451fd2189dcb871836cbc90901052b269d32652f2dd77df51d5d4d9997efae92752e7cc9933541d6a07fafefbef49495b5b1b87c34108393b3b638c5fbe7c494ea6e6cc99432d45bea8dadada757575f28d444747930a32998c34e2e4e4d441efedbfdb16161608213e9f4f5ac6182726264e9a3469d5aa550f1f3ec418e7e6e61e3d7a943a4ac218933f8043860ce9544783070f26df81ecec6c52d2d2d242f23542e8c183076a8e4ba9c6c6c6b56bd71a1a1a2aa49277de79e7d6ad5b6aae55322e2d2dad82820252e1c99327e49ba97e12795b9bafe3eda24e2f7d547fb8b04a2ea92284a8eb82a1a1a1df7efb2d42282626e6db6fbf6530186fa523729c8c10d2d6d63632327afefcb9582c4608ddb97347269321846edebc3971e24452a7a4a40421249148eedfbf4f0e0d0817171732c160304823cdcdcdeac7505e5e5e5e5e8e101a316284bebe3e297cefbdf7de7bef3daa8e9393939393535959d98913276edebc999292525c5c4c8251bfa3b2b2b2fcfc7c326aea9481c9647ef6d967ab56ad42088944226a2c5d181797cbddb66ddbc68d1b5353532f5fbe7ce5ca15b21a2b2b2be7ce9d9b9f9fffc6b53a6cd83032ae61c386515767070d1a3474e8d0bb77efaa3fd2b7b2f9deb85d2e5ebca87e2f7d4b9f4f22adadadc78f1f27d3e470515e5151d1d5ab57fdfdfde50bb1dc0fdc77ea7b656060404d933f7764b7a8a9a9a1ba2b2a2a5258ead5ab57f21f757575151ac19df9c1fdbaba3a32d1c18dd8870f1f868585a5a5a5918f3a3a3a3a3a3a6d6d6de42fa19aa8b00502817c39f5b1baba5abebc53e37af5ea555959199bcd76707098387122f952e5e6e60604041417173f79f2243333f38d6bb5b1b1914c9b9a9acacf52b566546df7b7b2f9deb85d3ad54bdfd2e71f363b77ee9cc2deac203a3a9a4c50c7236d6d6d64422a9592430935a9fa12eae9e99189b56bd7b63fd8933f46900fa36bc8713842a8aaaa8a2a148bc577eedc2163696d6d0d0808484b4b633299cb962dfbe38f3faaabab6d6d6d3b885f29ea9bf9fcf973f9f2d2d25232f1ce3befc897ab3fae7bf7ee999898b8b9b9cd9f3f5fbe7cc89021d3a74f27d3e5e5e56f5cab7c3e9f742abf2ae42354084cd5767f2b9bef8ddba553bdf42d7dfe48843a9759bc78b1c26ebd7dfbf6969696d3a74fd7d5d5f1f97c1e8f47cacbcacac8d9feddbb77c9a10485fa9a2994776cd8b06164e2ca952b54e1c68d1bababab5d5d5d3ffcf043351f5751a7770b0b0b7373f38a8a8a1b376e5456569221272626ce9b376fc08001bb77ef1e3e7c3839485eba74e98f3ffe4896227f06a92f803a1d9999990d1a34e8e9d3a72291e8e1c387e430beadadedd0a143a4829f9f9f3a836acfd5d5d5c4c4a4aaaa2a3333f3d8b163f3e6cd23e5555555d4f323d6d6d6e41203ea70ad0e1932242727273b3bbbb4b4945cc5cccccccccbcb93efee8ddbfdad6cbe376e172a4dd0dc493411ad2b2abdedc58b17e490d2c2c2422a952acc9d356b1619e3fefdfb31c63b77ee241f478e1c99969676f6ec59ea449abab01a1515454aa64f9f1e1919f9e4c9132c7751edfefdfb54e3e4929e5028241fa9b3dc850b17debe7d3b2a2a4a4b4b8bf4452a508de4e6e6aa6a4469efedaf77ae5fbf9e94383a3aeed9b3e7a79f7e22bbec8001030a0b0befdfbf4f3542d60935707b7bfb4e7544ddd6313131d9b66ddbfefdfba95b2aed6f5b7430aef6befbee3b6a0ff4f7f75fba74e9871f7e485d6475767696c964eaac55ead6fed0a1438f1f3f7ee0c001ea008abab0aace767f2b9bafe3eda24e2f7d54df4e2291919164ab2c5dbab4fddcd3a74f93b9a3478fc6189795955157bc085b5b5bf25788da996edfbe2d5f21313111ab9744f2f3f3158e8310427c3efff6eddba4823a7ba1d2dedb7fb79b9a9adadf1f4508454646628ca5522935d7c6c6869cc8e8e8e82084747575251289fa1dc96432ea30419e8787477575b5fae36aafa5a5a5fde32a84818101b987aace5a158bc50a0fefe8e9e99143182a89a8b3dddfcae6eb78bba8d34b1fd5b7af8950e732e471690553a74e2597426fdebcf9f0e1430b0b8bab57af8e1f3f9ecbe59a9a9a7ef1c517376fde343131915fc4c3c363cb962de6e6e64c26d3d1d15161e7eb808383c3ddbb77172e5c686565c564320502c1bc79f33233333d3c3cd41f8e9abd73389cab57af6edab469c890212c16cbd4d474fcf8f1172e5c208fea0e1830203131f1a38f3eb2b0b0a8aaaad2d7d7fff1c71f7ff8e10784504343c3e5cb97d5ef88c1601c3d7af4c4891313274e343232224fac6ed9b2252d2dadfdadd94e613299e7cf9f8f8d8d9d3871a2b1b1b1b6b6b68181819b9bdbaa55ab1e3d7ae4e6e646aabd71adb2d9ec2b57ae2c58b0c0c8c888cbe54e9932253d3ddddada5abe2f75b6fb5bd97c1d6f97b7d58b06626078172fe85fc68c1973e3c60d1e8fd7d0d0d0dbb1fc2df4ed23110040af83240200a0059208008016b8260200a0058e440000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b440120100d0d2b9d7688e1b37eefaf5ebdd144aaf835f8aec9a7eb057c0a6a7a373bfb1ca60f4dbdf64edc743eb6e7d7dd5f5f5f87b1d9cce00006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a2089000068e9d124121010c06030a64e9dda7ed6942953180c467373334228383898c160545454f4646ca0c7ac5dbb96f17fe9ebebbbb9b97dfffdf72d2d2deab7131414c460306a6b6bbb2f54a08ecefd9e081d151515972e5de272b9172f5e2c2d2db5b4b4ecb1ae8106727272323333430849a5d2bababafcfcfc6fbef9262d2d2d393999c160f47674a0137aee48243e3e5e2a95ae5ebd5a26931d3a74a8839a515151e5e5e5a6a6a63d161be879ebd7af4f4949494949118944d9d9d9a5a5a5eeeeee172f5e4c4a4aeaedd040e7f45c12898b8b3334345cbd7a359fcf8f8e8eeee067600c0c0ccccdcd070c80eb357f232626265f7ef92542283d3dbdb763019dd3435fd4acacacececec89132772389ca0a0a0a2a2a24b972ea9aaac704da4a6a666d5aa557676761c0ec7c1c161cd9a35af5fbfa62ad7d5d57df5d55783060d62b1589696964b962ca9acacecf6f1806ea0adad8d10e2f3f954c9cb972fc3c3c3adadad994ca6a5a5e5c2850bcbcaca14962a2929993d7bb69e9e9ea1a1614848485e5e5e8f060d1042b8333a5b9fb262c50a84d0c9932731c6c9c9c908a1909010f90a93274f460889c5628cf1ecd9b31142e5e5e518e3caca4a3b3b3b8490afafefca952b274d9a8410f2f6f66e6969c118d7d4d4383b3b23847c7c7cbefaeaab9090102d2d2d5b5bdb8a8a8ace46d8e5a181ceaeba356bd620840e1f3e2c5f5855553572e4482e975b5858484a8a8b8b050201d9f44b972e9d30610242c8c2c2e2c99327a44260602042c8dcdcdccece6ed5aa558181810c06c3d0d0302f2faf5be3070a7a22894824127373733d3d3d9223dadada4c4d4d994c6665652555475512f9fcf3cf1142dbb66da36a2e5dba1421141f1f8f31fee28b2f10429b366da2e62626262284e6cd9bd7d920614feab2ae25112727273f3f3f3f3f3f5f5f5f0f0f0f369b6d6c6cfcfbefbf53d5a64f9f8e10dabd7b3755b26fdf3e84d0840913c84792443c3c3c1a1b1b49c9c183071142efbdf75eb7c60f14f4441221871ef3e7cfa74a962c598210dab1630755a23489b4b5b5191818088542994c46d52c2d2d5db76e9d48246a6969e1703842a1502a95ca773776ec586d6dedfafafa1e181ac05d4d22ed3199cc850b17363737638cabaaaa180cc6a851a31496f5f4f4440891a3159244e4f30ec6d8dddd5d4b4babb6b6b6fbe2070a7ae29a485c5c1c4268debc7954496868284288fcdde8c0b367cf6a6b6b3d3d3de5eff9090482ad5bb77a7b7be7e6e68ac562168bb569d3a6efe43437374b2492870f1f76cf68c0db217f3a535f5f9f9999397efcf85f7ffd951c7b666767638cfdfcfc1496f2f1f141086565655125bebebef215c68e1d2b954a1f3c78d0fd2300ffd1edcf89d4d7d79f3d7b1621141010a0302b2727272323e3dd77df55b56c4d4d0d42485f5f5fe95cf294517e7efec68d1b552d0bfa045d5d5d4f4fcfb367cf0a85c2f8f8f8eddbb7936be7ed37fdc0810311428d8d8de4a3bebe3e8fc793af60646484106a6868e889b80142a8079248424282582c1e356a948787877c795e5e5e4a4a4a54545407494457571721545f5faf50ded8d8c8e3f1c8dcd0d0d023478e7443e0a0a7b1d96cf2a8c8e3c78ff5f4f41042edefc590bf0dc6c6c6e4636b6bab4205b2b79054027a46b72711722e131919e9eded2d5ffeecd9335b5bdb13274eecdab58bec31edd9d9d971b9dc9b376fca17565555999999858686eedfbf5f4747273d3d5d229190bb83c4ae5dbb1a1a1ac2c3c3e56f16823ea1a4a40421646c6c6c6666c6603032323230c6f227b3a9a9a90821724b0e21d4dcdc5c5c5c2c140aa90a77eedc613299aeaeae3d1bf8df5af75e13292e2e4e4d4db5b1b1f1f2f25298656d6d3d61c284c6c6c663c78ea95a5c5b5bfb1ffff8476161e1eeddbba9c26ddbb6c964b289132772b9dc909090a2a2a20d1b36507353535357ae5c191717a7ea240868268944121111919393e3e0e0e0e2e26262623275ead4ececec5f7ef985aa13131373fdfa755f5f5f2b2b2baa70d7ae5dd4744646465a5adabc79f3381c4e8f46ff37d7a9cbb09dadbf79f36684d0d75f7fad746e7c7c3c42885c8157758bf7c58b1736363608a1499326ad5ab56afcf8f108a180800072bfa6a2a2c2d6d61621e4e9e9b962c58ad0d050168bc5e170442251a7e2ecc2d000a5b3ab4ee116af9f9f9f97979789890942484747e7d2a54ba45a515111b902e2efefbf62c50ab287989b9be7e7e7930a818181dadada5c2e372c2c2c393979d7ae5d868686b6b6b62f5fbeecd6f88182ee4d2283070f4608e5e4e4289ddbd4d444ce38b2b3b35525118cf18b172f162f5e2c1008b4b5b5adadadd7ae5ddbd4d44435525959b97cf9721b1b1b2693291008828383c985fdce823da9cbba9644e431994c6b6bebf7df7fffce9d3bf235cbcacac2c2c204020193c9140a85e1e1e1d45e81310e0c0ce4f3f9191919dededee431934f3ffd149e33ec79f042efffe8c743eb6e7d7dd5f5f5f87b1dfc931b008016482200005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a3afdf388f0b265d01eec157f679afb4b0af02b0f80803d41c3c1e90c008016482200005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a2089fc475d5d5d4d4d8d2634f51623d104fd6c38a0bd7e9e443efcf0432693595656f6c69a1e1e1e4f9e3c41083d7efc98e64fecd06cea2d46a2adadcdf82f26933968d0a05dbb76d169b00ba8e180feaa3f27919a9a9aa4a4a4909090fdfbf7bfb1f2ab57afde56bf54531616160909093dbcb882df7fffbdbebebebebefef9f3e76bd7ae5db162457a7a3acd363be52dae58a0a1b0a6a21fdbce9d3b030303d3d3d3cdcccc5a5a5a48e1fdfbf7592c1655c7d1d1f1fcf9f33367ce643018a6a6a6a74f9f2e28284008454444080402030383b56bd7929a77efdef5f1f1e1f3f943870e4d4a4ac2181714145858587cf3cd371e1e1e969696ebd6adc318b76f8a2c2e1289468e1cc9e3f19c9d9d93939349615c5cdcf0e1c3f97cbeb1b1f1b265cb3a583c3535d5d3d3534f4fcfc5c52521214155ef0ab4b4b4ae5dbb265f626f6ffff3cf3f2b1d0ec6f8fcf9f38e8e8e4646461f7cf0818f8fcff9f3e795ae2ea58bcb64b2e5cb979b9a9a9a9a9a4e9b36ada4a44461385dde8e9abc97028cb1e66e1efabb8e8b8b4b626222c6d8d5d5f5c89123a450d5b782cfe7dfba750b634cbeba616161b5b5b52291484747e7afbffeaaaeae363131f9f9e79fdbdadaae5dbb666868989797476a6edebc992cc566b3b3b3b3db378531aeaaaae2f3f9bffdf65b5b5bdbb973e7b85c6e7575757e7e3e9bcdceccccc41867656571381c32dd7ef1c2c2420e87131313437ad7d3d34b4b4b53d5bb3cf9242293c9ce9d3ba7a5a575e3c60da5c321bdfcfefbef3299ecc71f7f4408a94a224a17bf70e182b3b3734d4d4d4b4bcbdcb973172d5a4416a186d3318564270f928886d3dccd4373d7494f4f17080412890463bc67cf9e3163c69072359348555515a9e0eaea9a9090101d1dedecec4c2df5f1c71faf5bb78ed4acacaca46a9e3a75aa7d5318e3b8b8385757576af11b376e3435353537373f7efc18635c5353939e9e6e616171f6ec59a58b474444787b7b538b2f59b2e4b3cf3e53d5bb3c2d2d2d1e8fc7e7f3f97c3e93c9b4b7b78f8989c1182b1dcece9d3b7d7d7d49894c26130804aa9288d2c52f5fbeaca7a717191959505020954aa9b96a26110e87a32a8f4012d1709dfeb5f7bee2c08103555555028100212491485ebd7a75fbf6ed112346a8b9b8b1b1319960b1581289e4d9b367f9f9f9060606a4502291cc9a358b4c9b989890092d2d2d994ca6b4b58a8a0a4b4b4beae3e8d1a311423299ece0c183d1d1d16c36dbc3c3a3b5b515abf839e2972f5f0a8542eaa38d8dcde5cb97d5ec3d2a2a6acc9831c5c5c58b172f9e3a75eafcf9f311424a873360c08081030792120683616363a36ae5285ddcdfdf7fdfbe7d7bf7ee5dbd7ab5bdbdfd9e3d7b264c98a0aa85f6c462f1b469d3929292c68d1ba7fe524013f4cf2452575777e2c4892b57aed8d9d9919265cb96eddebd3b2626464b4babadad0d634c6e7c545555910a1ddf07b1b0b0183d7a347549b2b4b4949c9228addcbe298140f0fcf973eae3962d5b424242d2d3d38f1e3d7aebd62d925f2c2c2c542d6e6565257f35f4e9d3a76666661d8d5f8eb9b9b98d8d8d8d8d4d525292bbbb3b97cbddb871a3d2e19c3e7dfaca952bd482e49696d2d5a574f1e2e2623737b7f4f4f4bababac8c8c83973e690caeadf606a6a6a9a366ddaf9f3e73b957d40afeb9f77670e1f3eece8e8e8e5e565fe5f0b162c387efc785555959595158bc53a78f0a0582c8e8888a01e6160b1588f1e3d6a6a6a52da606060604e4e4e7474b4542acdcbcb1b3366ccd9b36755f5debea92953a6949696c6c6c64aa5d2a4a4a48888082323a3dada5a0e8763686828954a2323232b2a2a5a5b5b952e3e73e6ccacacacd8d8588944929292121717171a1adad975626363b367cf9e2d5bb6dcbc7953e97066cd9a959f9f7fe4c8118944b267cf9ec2c2428490d2d5a574719148141414545c5cacafafafafaf2f7f28d7c18a55d0d4d43463c68cab57af767674a037f5f2e9946a7462737373fbe1871fe44ba452a94020d8ba752bc6382a2acad6d6565757373c3c7ce2c489e49ac89a356b582cd6debd7be5ef89608c478c1871ecd8318c716666a69797179fcfb7b4b4dcb2650b96bb66410c1b368cdc3751dad49f7ffee9e9e9a9afafefe6e6464efe5fbf7e3d63c60c232323a150181a1a1a1010b061c306558b5fbf7e7df4e8d1bababa83070f8e8d8deda07779edefce0407073b393989c5e2f6c3c118dfbc7973d4a8518686861f7ef8a18d8d0d59334a5757fbc56532d99a356bcccdcd793c9ea7a7e79d3b77489bd4703ade64f2fb2497cbbd72e58afcac8e9705bd4b735f0b04af2cea5d4e4e4e111111d3a74fef99ee14ce7ab85c2e755e037b8286eb9fa733a0af83f39a3e049208d0509047fa0acd3d506430181b366cd8b871636f07027a93a5a5656969a9c6eea500697812d1d8d8c05ba7f44e308fc73b77ee9cbfbf3fec099a0c4e6780862219049e19d17c90448026820cd2874012011a073248df0249046816c8207d0e2411a0412083f445fdf31ff0405fc4e3f12e5cb800ffc5dbe7c09108d0081c0e0732481fa5b9cf62c073227f2b292929aa3208ec091a4e73370fec3a80803d41c3c1e90c008016482200005a2089000068812402fab649932631006d5a5a5a2929295ddb049a7bc98a0197d30042e84d7b02ec276f0583c13035353d76ec58179ef4832311000042089d3a756adebc795df81528482200008410f2f6f6ee5a1e81240200f88faee51148220080ffaf0b7904920800e0ffe86c1e8124020050d4a93c02490400a084fa794473efb1c3fd7f40c073223d80c1609c3871a27df9a3478f76ecd8f1d34f3f7df2c9272a97d5d80d003b0720342189d4d5d5c964324343c3eeeea8bba91a4848480899686b6bc31833994c6a566565656666667373b3ca467be89dbf9da7c9b1819ed4f19ed07e6e7d7d3db57b0f1830c0dcdc3c3c3cbca5a545550bb9b9b96fdcd9060d1a74ebd62ddcee3dea84d24235e7768a3aa1768c1a883cf9089556e8b853f87944d03f5dbc78d1d9d9592a951614148486863a39392d59b2a4cbadbd7af5aa83b91616160909095d6ebc27291d887cfc1d8f5429b8b00afa275353534b4b4ba150e8e0e0a0abab6b626242ca4522d1983163f4f5f55d5d5d4f9e3c49d5dfbc79b3b9b9b940203878f0a04253b366cd7afdfaf5b469d3ce9c39434a76ecd8616969696868b86edd3a8450797939391d78fcf8f1c08103bffdf6db1123465859597dfdf5d7f2ed343737fbfbfb0707074b24128cf1975f7e696666666666367dfaf4d2d2d2f643387cf8b0bbbbbb8181818989c9f2e5cb3b08b5fda01e3c78c066b3a9459c9c9c2e5cb8d07e200415bfaa0a6f40e7d0a85b69726ca02775bc27b49f4b4e67984c268bc5d2d1d14108050505c964328c7161612187c3898989696b6bbb76ed9a9e9e5e5a5a1a394758b06081582c4e4f4fe772b91919190a6df2f97cf9d399b0b0b0dada5a9148a4a3a3f3d75f7f51a7036462f3e6cd649acd6667676793c2d6d6d6e9d3a7cf9a358b5c74b870e182b3b3734d4d4d4b4bcbdcb973172d5aa4d0637e7e3e9bcdceccccc41867656571389ccccc4ca5a12a1dd4fdfbf7592c16d59aa3a3e3f9f3e7e507224ffe744669858e37011c8980fee95ffffad7bd7bf7eedebd7be6cc99bb77ef7efbedb708a153a74e8d1831e2a38f3ed2d6d61e376edcfcf9f3636262104203060c888c8c64b3d9efbefbee9c39738e1f3fde71e3df7fff3d9fcff7f6f67674742c2c2c54981b16168610b2b7b7b7b7b727df4f84d0071f7cf0ecd9b3e3c78f6b6b6b2384d86c764949497474f4b367cfe2e3e3f7eeddabd088b5b5f583070f3c3d3d6b6b6b1b1a1a0c0c0c2a2a2a9486aa6a503d069208e89f6c6c6c9c9c9c5c5c5c828282bef9e69b03070e20845ebe7c29140ae5eb94949420848c8d8df5f5f5a9c2f2f2f28e1b37363626132c164b229128cca54e9db4b4b4643219997ef9f265414141565616f9e8efefbf6fdfbe93274f0e1932c4c5c5a5fdb3183a3a3a070f1eb4b0b0707777dfb163476b6b2b3922681faaaa41f5184822a0ff93c96452a9142164656555545444953f7dfad4cccc0c21f4faf5ebb6b63652585e5e2eff9d24180c06cd182e5ebcb862c58a050b16908e8a8b8bdddcdcd2d3d3abaaaae6cc993367ce1c85fab1b1b1478f1ebd75eb566161e1a953a7c87999d250950e4a4b4b8b8e06726f00001a56494441549c3791c2aaaa2a3507d28591421201fdd3cb972f4b4b4b4b4b4b4522d1fffeefffce9e3d1b213473e6ccacacacd8d8588944929292121717171a1a8a106a6969d9bd7b3742887c633ffae82385d6582cd6a3478f9a9a9aba1c0f93c9fce73fffd9d4d4f4c30f3f20844422515050507171b1bebebebebe3e756843a9adade5703886868652a9343232b2a2a2a2b5b55569a84a07656565c562b10e1e3c28168b2322226a6a6ad41c485746dac1f592dea5c9b1819ed4f19ed07eaefc73220c06e39d77de090f0fafafaf2773af5fbf3e7af4685d5dddc18307c7c6c6628c7373738d8d8d172d5ae4eeee3e6cd8b0d3a74fb7ef65cd9a352c166befdebd0a0f7d8c1831e2d8b1630a1756a9b9c3860d4b4848902fbc74e9129bcdcecdcd95c9646bd6ac313737e7f1789e9e9e77eedc51e8f1f5ebd73366cc303232120a85a1a1a10101011b366c50156afb41618ca3a2a26c6d6d757575c3c3c3274e9c482eac520391ef4b3e42a5153ade049afb54283cb10a084d7862f56faee3950ca73300005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a2089000068819f47047d1efd7fb105744012017d1bfce34caf83d31900002d90440000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b4fc7d93485d5d1df596e3de6dea2d460240cfeb6f49e4c30f3f6432996565656face9e1e1f1e4c91384d0e3c78f69feaa0dcda6de6224dadada8cff62329983060ddab56b179d060178a37e95446a6a6a929292424242f6efdfffc6caaf5ebd7a5bfd524d595858242424f4f0e20a7efffdf7fafafafafafae7cf9faf5dbb76c58a15e9e9e934db04a02358537521b69d3b77060606a6a7a79b9999b5b4b490c2fbf7efb3582caa8ea3a3e3f9f3e767ce9cc960304c4d4d4f9f3e5d505080108a88881008040606066bd7ae2535efdebdebe3e3c3e7f3870e1d9a949484312e2828b0b0b0f8e69b6f3c3c3c2c2d2dd7ad5b87316edf14595c24128d1c3992c7e3393b3b27272793c2b8b8b8e1c387f3f97c6363e365cb9675b0786a6aaaa7a7a79e9e9e8b8b4b424282aade156869695dbb764dbec4dedefee79f7f563a1c994cb67cf9725353535353d369d3a6959494905eccccccc2c3c37d7d7d5d5d5d7ffdf5d74ec5a3b44da5bdab4f93f7528031d6dccdd3c1aea3f03da1b8b8b8242626628c5d5d5d8f1c39420a9526118c319fcfbf75eb16c6987c75c3c2c26a6b6b4522918e8ece5f7ffd555d5d6d6262f2f3cf3fb7b5b55dbb76cdd0d0302f2f8fd4dcbc7933598acd66676767b76f0a635c5555c5e7f37ffbedb7b6b6b673e7ce71b9dceaeaeafcfc7c369b9d99998931cecacae2703864bafde28585851c0e27262686f4aea7a7979696a6aa7779f2494426939d3b774e4b4bebc68d1b4a8773e1c2056767e79a9a9a969696b973e72e5ab4888a61e3c68d18e38a8a0a7373739148a47e3c4adb54dafb5bd9138026d0dccda36ad7b976ed1a87c3695f9e9e9e2e1008241209c678cf9e3d63c68c21e56a2691aaaa2a52c1d5d5352121213a3adad9d9995aeae38f3f5eb76e1da959595949d53c75ea54fba630c6717171aeaeaed4e2376edc686a6a6a6e6e7efcf831c6b8a6a6263d3dddc2c2e2ecd9b34a178f8888f0f6f6a6165fb264c9679f7da6aa77795a5a5a3c1e8fcfe7f3f97c2693696f6f1f13138331563a9ccb972febe9e945464616141448a55232aba0a0404b4baba9a9897c5cbe7cf9e2c58bd58f47699b4a7b6fbf05558124a2e1fad8359194949469d3a689c5e2f6b30e1c38505555251008cccdcdbffdf6dbccccccdbb76fabdfb2b1b1319960b1581289e4d9b367f9f9f906ff959090505a5a4a2a98989890092d2d2d994ca6b4b58a8a0a4b4b4beae3e8d1a3391c8e8e8ecec183072d2c2cdcdddd77ecd8d1dada8a55fcc8f0cb972f854221f5d1c6c6a6a4a444cddea3a2a2eeddbb979898686f6f1f1414347ffe7c8490d2e1f8fbfbefdbb7efe4c99343860c717171b97af52a69c1d0d090c3e150aba5a2a242fd7894b6d9c1ca04fd405ffab5779148347dfaf4a6a6a6f6b3eaeaea4e9c3871e5ca153b3b3b52b26cd9b2ddbb77c7c4c4686969b5b5b5618cc98d8faaaa2a52a1e3fb20161616a3478fa62e49969696925312a595db372510089e3f7f4e7ddcb2654b4848487a7afad1a3476fddba45f28b858585aac5adacace4af863e7dfad4ccccac8368e5999b9bdbd8d8d8d8d8242525b9bbbb73b9dc8d1b372a1d4e7171b19b9b5b7a7a7a5d5d5d6464e49c3973c8caa9aeae6e6868d0d5d545083d79f2c4caca4afd7894b6a9b477358703345f9f39121189440101018d8d8d4ae71e3e7cd8d1d1d1cbcbcbfcbf162c5870fcf8f1aaaa2a2b2b2b168b75f0e041b1581c1111413d91c162b11e3d7aa434252184020303737272a2a3a3a552695e5ede983163ce9e3dab2ab6f64d4d9932a5b4b4343636562a95262525454444181919d5d6d672381c434343a9541a1919595151d1dadaaa74f1993367666565c5c6c64a2492949494b8b8b8d0d0d0ceae311b1b9b3d7bf66cd9b2e5e6cd9b4a872312898282828a8b8bf5f5f5f5f5f5a96331994cb66eddba969696ebd7af2724247cf0c107eac7a3b4cd4ead4cd0f7f4f6f9944af2b1a5a6a6f278bc0ec2767373fbe1871fe44ba452a94020d8ba752bc6382a2acad6d6565757373c3c7ce2c489e49ac89a356b582cd6debd7be5ef89608c478c1871ecd8318c716666a69797179fcfb7b4b4dcb2650b96bb66410c1b368cdca750dad49f7ffee9e9e9a9afafefe6e6462e76be7efd7ac68c1946464642a130343434202060c3860daa16bf7efdfae8d1a3757575070f1e1c1b1bdb41eff2dadf9d090e0e767272128bc5ed872393c9d6ac59636e6ecee3f13c3d3defdcb943f5b27af56a1313133b3bbbe3c78f772a1ea56d2a5d99ead3e4bd14608c195853dffdc360fc2736a5c7201a1b765ff7f8f1630707078d5abdd49e003493a69fce747c160300e8751a9d44208300a0f934faeeccfbefbfaf2a83c03b9cbb95e6acde0d1b36f47608e00d34f76c93c160902391868686f67335366cf0d6c135110da7d1a733dededec9c9c9e48105008066d2e82482208f00a0f1343d8920c8230068b63e904410e411003458df482208f208009aaacf24118490b7b7f7f9f3e7159e7f0700f4aebe94441042e3c68dbb70e102f58fea00805ea7b977e03b783a20252565dcb8713d1b0ee835f09c8886d3dccd03bb0e20604fd0707dec740600a0692089000068e9dc81e2b871e3ae5fbfde7dd1f42e3866ee9a7eb057c0a6a7a37349a41f9f9df6e3a175b7bebeeafa7afcbd0e4e670000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b440120100d002490400400b241100002d90440000b4f4681209080860301853a74e6d3f6bca94290c06a3b9b91921141c1ccc60302a2a2a7a3236d063d6ae5dcbf8bff4f5f5dddcdcbefffefb969616f5db090a0a623018b5b5b5dd172a5047cfbdd0bba2a2e2d2a54b5c2ef7e2c58ba5a5a59696963dd635d0404e4e4e6666660821a9545a5757979f9fffcd37dfa4a5a52527276bceebc4813a7aee48243e3e5e2a95ae5ebd5a26931d3a74a8839a515151e5e5e5a6a6a63d161be879ebd7af4f4949494949118944d9d9d9a5a5a5eeeeee172f5e4c4a4aeaedd040e7f45c12898b8b3334345cbd7a359fcf8f8e8eeee067600c0c0ccccdcd070c80eb357f232626265f7ef92542283d3dbdb763019dd3435fd4acacacececec89132772389ca0a0a0a2a2a24b972ea9aaac704da4a6a666d5aa557676761c0ec7c1c161cd9a35af5fbfa62ad7d5d57df5d55783060d62b1589696964b962ca9acacecf6f1806ea0adad8d10e2f3f954c9cb972fc3c3c3adadad994ca6a5a5e5c2850bcbcaca14962a2929993d7bb69e9e9ea1a1614848485e5e5e8f060d1042b8333a5b9fb262c50a84d0c9932731c6c9c9c908a1909010f90a93274f460889c5628cf1ecd9b31142e5e5e518e3caca4a3b3b3b8490afafefca952b274d9a8410f2f6f66e6969c118d7d4d4383b3b23847c7c7cbefaeaab9090102d2d2d5b5bdb8a8a8ace46d8e5a181ceaeba356bd620840e1f3e2c5f5855553572e4482e975b5858484a8a8b8b050201d9f44b972e9d30610242c8c2c2e2c99327a44260602042c8dcdcdccece6ed5aa558181810c06c3d0d0302f2faf5be3070a7a22894824127373733d3d3d9223dadada4c4d4d994c6665652555475512f9fcf3cf1142dbb66da36a2e5dba1421141f1f8f31fee28b2f10429b366da2e62626262284e6cd9bd7d920614feab2ae25112727273f3f3f3f3f3f5f5f5f0f0f0f369b6d6c6cfcfbefbf53d5a64f9f8e10dabd7b3755b26fdf3e84d0840913c84792443c3c3c1a1b1b49c9c183071142efbdf75eb7c60f14f4441221871ef3e7cfa74a962c598210dab1630755a23489b4b5b5191818088542994c46d52c2d2d5db76e9d48246a6969e1703842a1502a95ca773776ec586d6dedfafafa1e181ac05d4d22ed3199cc850b17363737638cabaaaa180cc6a851a31496f5f4f4440891a3159244e4f30ec6d8dddd5d4b4babb6b6b6fbe2070a7ae29a485c5c1c4268debc7954496868284288fcdde8c0b367cf6a6b6b3d3d3de5eff9090482ad5bb77a7b7be7e6e68ac562168bb569d3a6efe43437374b2492870f1f76cf68c0db217f3a535f5f9f9999397efcf85f7ffd951c7b666767638cfdfcfc1496f2f1f141086565655125bebebef215c68e1d2b954a1f3c78d0fd2300ffd1edcf89d4d7d79f3d7b1621141010a0302b2727272323e3dd77df55b56c4d4d0d42485f5f5fe95cf294517e7efec68d1b552d0bfa045d5d5d4f4fcfb367cf0a85c2f8f8f8eddbb7936be7ed37fdc0810311428d8d8de4a3bebe3e8fc793af60646484106a6868e889b80142a8079248424282582c1e356a948787877c795e5e5e4a4a4a54545407494457571721545f5faf50ded8d8c8e3f1c8dcd0d0d023478e7443e0a0a7b1d96cf2a8c8e3c78ff5f4f41042edefc590bf0dc6c6c6e4636b6bab4205b2b79054027a46b72711722e131919e9eded2d5ffeecd9335b5bdb13274eecdab58bec31edd9d9d971b9dc9b376fca17565555999999858686eedfbf5f4747273d3d5d229190bb83c4ae5dbb1a1a1ac2c3c3e56f16823ea1a4a40421646c6c6c6666c6603032323230c6f227b3a9a9a90821724b0e21d4dcdc5c5c5c2c140aa90a77eedc613299aeaeae3d1bf8df5af75e13292e2e4e4d4db5b1b1f1f2f25298656d6d3d61c284c6c6c663c78ea95a5c5b5bfb1ffff8476161e1eeddbba9c26ddbb6c964b289132772b9dc909090a2a2a20d1b36507353535357ae5c191717a7ea240868268944121111919393e3e0e0e0e2e26262623275ead4ececec5f7ef985aa13131373fdfa755f5f5f2b2b2baa70d7ae5dd4744646465a5adabc79f3381c4e8f46ff37d7a9cbb09dadbf79f36684d0d75f7fad746e7c7c3c42885c8157758bf7c58b1736363608a1499326ad5ab56afcf8f108a180800072bfa6a2a2c2d6d61621e4e9e9b962c58ad0d050168bc5e170442251a7e2ecc2d000a5b3ab4ee116af9f9f9f97979789890942484747e7d2a54ba45a515111b902e2efefbf62c50ab287989b9be7e7e7930a818181dadada5c2e372c2c2c393979d7ae5d868686b6b6b62f5fbeecd6f88182ee4d2283070f4608e5e4e4289ddbd4d444ce38b2b3b35525118cf18b172f162f5e2c1008b4b5b5adadadd7ae5ddbd4d44435525959b97cf9721b1b1b2693291008828383c985fdce823da9cbba9644e431994c6b6bebf7df7fffce9d3bf235cbcacac2c2c204020193c9140a85e1e1e1d45e81310e0c0ce4f3f9191919dededee431934f3ffd149e33ec79f042efffe8c743eb6e7d7dd5f5f5f87b1dfc931b008016482200005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a208900006881240200a0059208008016482200005a3afdf388f0b265d01eec157f67f04b0a00005ae0740600400b2411f0d690d7d63d7efcb8b703e92e11111163c68c4108d5d6d632188c478f1ef576441a019208009dc666b3d7af5f4f7e5c1a74fb7b6700e87fd86cf6f7df7fdfdb51680a3812e963860f1fbe73e74e321d141444bd57f0f4e9d30e0e0e74e6aadf0b42a8acac6cd6ac593c1ecfdada7af5ead52d2d2dd4b267ce9cb1b6b6d6d5d59d3f7f3ef53acbfdfbf7dbdadab2d9ece1c3875fbc789114aa6a243737d7cfcf8fc3e18c193366fbf6ede40ca2b4b494c160141515913ad49985aa76c8b9d5a14387060d1ac4e170264d9a44bd4feff9f3e73367ced4d3d31b3870e077df7dd771300f1f3ef4f1f1e170383e3e3ee5e5e5a450fe74e6d6ad5b13264ce0f1785c2e77d2a449c5c5c5a44e4e4e8eafaf2f87c3f1f0f0d8be7dbb93931342a8a2a282c160ecd8b1c3c0c080bc9d5ae9e224f8f8f8785b5b5b2e973b77eedc070f1e787979f1783c5f5fdfe7cf9f77b056e5291de9b367cf8283838d8c8c4c4c4c962e5ddadcdcac7e8fcaf5e64fcd83ce5bbd7a75606020c6582693191919696b6bbf7efd1a631c1616161e1e4e67aefabd608c3d3d3d67cf9efde0c1838c8c8ce1c3872f5dba14635c59598910b2b1b1494949494f4fb7b7b75fb46811c6383b3b9bc7e3fdf1c71f858585ebd7afd7d3d36b686850d588582cb6b6b6fef8e38f9f3d7b76f8f0611e8fe7e9e98931262fc72b2c2c2411fef8e38fa4bce360c68c19535252525d5d3d7cf8f0c58b17638c251289ababebe4c993b3b2b2ae5cb962626272e0c0818e83f9e0830f7273737ffbed372693493a256ff3cccdcdadafaf3732325ab972e593274f323333870e1dfac9279f608c9b9b9b8542616868684e4e4e74743487c3717474c41893343466cc989494941b376ea85a9c04efe7e7575959999f9fcf66b3cdcdcd6fddba555d5d3d72e448b20954ad558ad2918ac5e24183064d9f3e3d3b3bfbca952b83060d22ab459d1e558124d2c75cb972c5d0d0502a95666565d9dbdb0f1e3cf8e2c58b18633b3bbba4a4243a73d5ef25252585c3e1506fffc9c8c8d0d1d1696969213be2c9932749f9993367582c567373736262a2bebefea3478f30c62d2d2dfffef7bf9b9b9b553592989828ff7d58b06041c749a4e360ce9f3f4fca77ecd8e1e1e141eaebe8e8bc78f18294ffeb5fff3a76ec98aa46ce9e3d2b1fcc279f7ca290442a2a2ab66cd9d2dada4a2a6cdfbe7df4e8d118e353a74e191a1a36363692f2f0f070f92472faf46952ae6a71127c727232291f397224f9aa638c376edc3861c2048cb1d2b52abf11958ef4c48913bababab5b5b5a4303939594b4babb6b6569d1e55816b227d8cb7b7776b6b6b7676b64824f2f1f1914aa56969690e0e0ea5a5a5e3c68dd3d6d6eef25cf57b898b8b6b6e6e7ee79d7748658c715b5b5b61612179cf3675963172e4c8969696a74f9f4e9a34c9c9c9c9c9c9c9dddd7dc68c190b162c60b158b9b9b94a1b79f4e8918383038fc723e59e9e9e0f1e3ce86085a86a870443bda697cbe592b77fe7e4e4585a5a9a9a9a92f23973e62084f6efdfafb411f25a4f2a9851a346e5e4e4c8f76e6666b664c992a8a8a8acacacdcdcdc9b376fbab8b82084b2b3b39d9d9db95c2ea93676ecd84b972e514bd9d9d975bc386169694926582c1635cd6432c9a996d2b52a1f9bd2916edab4c9c9c9897a4df5d8b163a5526941410179cf64c73daa0249a48f613299e3c68d4b4949494b4b9b366d9a542a3d7af4a8a5a5a59f9f1fd965e9cc55b3178944626d6d7df9f265f945acacaceaebeb1142d4ae4cdeb24e5e6c9a9999999a9a9a989878f8f0e15f7ef9e5cf3fff54d50897cb95c96454898e8e0e9950782856229150131d04432d8e10c21893a1b57fbe565523d452d46a5158b0bcbc7cd4a85142a170dab469efbdf7deeddbb7131313c9d8e54781ffef239dd4da56b5b8fc0a543a7c8490d2b54ade394945db7e29369b2dff910426954ad5e95115b8b0daf74c9e3cf9dab56b6969693e3e3e3e3e3e376edcb870e1c2942953e8cf55b3174747c7d2d252369b6d6f6f6f6f6f5f5b5bbb7efd7aea3b939f9f4f26eedfbfcfe572adadad5353537ffae9273f3fbfc8c8c8fcfc7c1e8f77e9d225558d383b3be7e7e7d7d6d69246eeddbb4726c817b8aeae8e7c2c282820131d07d39e8383434949c9ab57afc8c71d3b76cc9d3b575523aeaeae050505af5fbf56088672faf469994c261289befefaeba953a792b77c22845c5c5c727373c56231a976fbf66da5c1a85a5c1d4ad7ea1b47eae4e4f4e8d1236a356666666a6969d9dbdbabd9a9721d9cea00cd949797c76432cdcdcdc9473333330683919b9b4b7f6e7474f4b163c7de58532a950e1b36ccc7c7e7debd7b77eedc7173730b0a0ac2ff3d939f3469524343435555d5a851a3fef9cf7f628c4522918e8ecee1c3874b4a4a4e9d3ac5643233323254352293c9468c18111414f4e8d1a3848404eac2aa4c26b3b1b1090e0ececaca3a70e08091911129ef38186a68fbf6ed73717121ed78787890f6af5dbb666666161515a5aa91969696c18307878484e4e5e51d3f7e5c575757e19a487c7c3c9bcd4e4d4dadaeae3e74e8108bc522bdb4b6b6dad8d8cc9f3f9fd4e172b94e4e4ef8bfd7440a0a0a4854aa165708decbcb6bdbb66d647adbb66d5e5e5eaad6aafc46543ad2b6b6362727a7a0a0a09c9c9cd4d4547b7bfb0f3ef840cd1e558124d227d9d8d884848490e9e0e0601b1b9bb732d7dfdf7ff6ecd9ead42c2a2a9a3163068fc7333636fef8e38fc9853ab223fef8e38f8e8e8e464646fff33fff435d32fcf5d75fededed994ca6bdbdfdc183073b6804635c5c5c3c79f264168b3572e4c8458b16517761ae5ebdeaececcc62b1264f9ebc77ef5eaabc8360da27118c716161614040009bcdb6b4b4dcbe7d7bc7c13c7dfad4dfdf9fc3e1b8bbbbaf5fbf5e2189482492458b16191a1af2f9fc091326ecdbb78fcd66933b595959599e9e9e4c2673c488118b172f767373c3ed9288aac5d5fc4a2b5dabf21b51e9481f3f7e1c1010c0e1704c4d4d57ae5c29168bdbafae4e2511f8073ca0d12222224e9e3c999999d9db81744e7979794e4e8ebfbf3ff9b861c3861b376efcf1c71fbd1b5537816b2200bc7dadadad53a64c3974e8507171717272f2be7dfb4242427a3ba8ee0277670078fb8442615c5cdce6cd9b172f5e6c6161b17af5ea4f3ffdb4b783ea2e703a0300a0054e670000b440120100d002490400400b241100002d90440000b440120100d00249040040cbff03ab77943da151422e0000000049454e44ae426082", - "rawHeaders": [ - "Content-Length", - "15021", - "Content-type", - "image/png", - "Set-Cookie", - "PHPSESSID=oCgL0nxq6-OmKPXtHK2xdhwp4dUrmbUm; expires=Sun, 10 Mar 2019 00:20:13 GMT; path=/;; HttpOnly;", - "Connection", - "close", - "Date", - "Fri, 08 Feb 2019 00:20:13 GMT", - "Server", - "lighttpd/1.4.35" - ], + "response": "89504e470d0a1a0a0000000d49484452000001710000013208020000008329773100000006624b474400ff00ff00ffa0bda7930000200049444154789ceddd7b408c79ff3ffef77498633acde8bc53a9282222717722a28890d6d2adb5dcbb8e8ba5c5cdc7e6accf6d459f75165629d661b1b86963b59584254545b195d241a552990e33f3fefef1feddd76fee69a6a6baa4695f8fbf66ded7fb7a1faeeb9a67d7610c06c6180100004d343ef6000000bd0a640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804ebd3353fef18f7f30180c0683e1e8e8d895767ef9e597b4b434eaedb265cb48b34f9f3eedf2183bdcfbca952b49ef8f1f3f56d38e14924aa551515163c78eeddbb7afb6b6369fcff7f4f43c74e8904422e986de01ed7a61a68844a273e7ce91d7595959f7efdfef4423af5ebdf2f7f70f0808282b2ba375743dabf78f3b4d8490582c0e0808f8f2cb2f1313132b2b2bc562f1dbb76f939393172f5eece7e7d7dcdcfc514605ba42eb630f807e172f5e7cf7ee1df5f6c4891323478eec68233ffffcf3b56bd7681d57577b1f3972e4e79f7f8e1032343454bb8e94f9f1c71faf5ebd8a10d2d7d79f3973a68989c99f7ffe79e1c285a6a6a6848484bd7bf7ae59b3e6438f01d0ab1766cac9932711425a5a5a060606151515a74f9f8e8888e070381f7b5c5d3567ce9c3973e6f4a68e1042245010420f1e3cb0b5b525afa74d9bf6e9a79f22844e9f3e0d99a27e70ef525c5caca1a18110f2f5f5fde69b6fc81c63636365eb903fc208a1fcfc7caa504f4f0f21e4e4e484319e3c79b2dc564a4f4fc7182f5dba94bc7df4e8d1d6ad5b2d2d2d592cd6d0a143cf9e3d2bdb7e5959d9a2458bcccccc984ca6a5a5e5b265cbcacacaa8a5a411168bf5f6eddbe5cb975b5858b0582c4747c793274f920aca7a5fb16285ec5b4224126ddfbe7dd0a0416c365b2010b8bbbbcb0d26292969f2e4c9e6e6e6dadada8686861e1e1e7171719de808637cfefcf971e3c6f1f97c369bede8e8b875ebd6fafa7ad5e7a590afaf2fe9ebd75f7fa50ac562f1f6eddbb76eddba7bf76e15b72ac6b8baba7ad9b2652626266c36dbcdcdedeeddbb64483c1e4fc5fd4ecbee5371bfb43b1df5d5db3265e7ce9de4b8898e8efee38f3fc8eb71e3c6c9d6e97aa60c1d3a54ae4242420269e7f5ebd7969696724b3ff9e493e2e262528134a2a5a5656f6f8f1062329954b56bd7aeb5d17beb8fba4824fadbdffe865ad9b16307a990989828db3e857c003a94295f7ef965eb76060f1e5c5151a1e2bc14dabd7b37a9a3a1a13171e2c47dfbf6656767b7aed6ee56adafaf1f3c78b0ec520e87e3e1e1813a98295ddf7daaec97767b516bbd2d531c1c1cc8f1f4eedd3b8cf180010310420c06a3a0a080aad3eeb1f5f8f1e3c58b17933a9b376f4e4848a8ababc33299c2e572f7efdf7ff7eedd79f3e691921933669076a64f9f4e7adcb469534a4acaf7df7fafa5a585109a397326a9403562696999919181657270f2e4c96df4defaa3be71e34652e2e9e979f1e2c5d8d8580b0b0b8490a6a666616121c6d8cdcd0d21a4abab1b1b1b9b9696467d8049c8aaded1d1a34749099fcfdfb163c7c183075d5c5c48c9942953549c97422291c8d5d555eed325140ad7ad5b575e5e4e556b77abae5fbf9eac6b6b6b1b1b1b7be6cc19b2eb510733a5ebbb4f95fdd26e2f6aad5765cabd7bf7c8be0c0a0a22255bb66c21259b366da2aaa9726cedd9b387d4b978f12255873a9eb66ddb464a5a5a5ac89d9a810307628cdfbc7943aebc3efdf4536a2df2b9d5d2d2aaadad956de4c48913a4824422218dd8dbdbb7d17beb8fbaa9a92942484f4f8fb48c31be7cf9b28f8f4f686868565616c6382727272e2eeeca952b5423e4cfa3838343873aeadfbf3ff9486466669292a6a626f2871a21f4f4e95315e7a5504343c3ba75eb0c0c0ce492a56fdfbe0f1e3c5071ab9279696a6ae6e5e5910a2f5fbe241f54d53385aeddd7f67e51a517b5d6abeed192bbb30821ea16637070f077df7d8710faf1c71fbffbee3b0683414b47e4a41a21a4a5a5656868f8faf56b914884107af4e891542a4508ddbf7f7ffcf8f1a44e51511142482c163f79f2849c381083060d222f34343448238d8d8daa8fa1b4b4b4b4b41421347cf8705d5d5d523875ead4a953a75275ecededededed4b4a4ace9e3d7bfffefdc4c4c4c2c2423218d53b2a2929c9cdcd25b3a6ae2f984ce63ffef18fd0d050845072723235974ecc8bcbe5eedcb973f3e6cd494949376fdebc75eb16d98c1515159f7df6596e6e6ebb5bd5c9c989cccbc9c989bad1dbaf5fbfc18307a7a7a7ab3e535a765fbbfb253e3e5ef55ed451efc994e6e6e63367ce90d7e4dc52564141c1eddbb7bdbdbd650bb1ccff6dd4a18f99bebe3ef59afc31244749757535d55d414181dc5a555555b26f757474e41ac11df9bf966a6b6bc98b369ef86665652d5ab428252585bcd5d6d6d6d6d66e6969217f2755440ddbdcdc5cb69c7afbf6ed5bd9f20ecdabaaaaaaa4a484cd66dbd9d98d1f3f9e7cc6727272fcfcfc0a0b0b5fbe7c999696d6ee566d686820af8d8c8c641729db32caf63b2dbbafddfdd2a15ed451eff9cedb2fbffc227770cb397efc3879419dadb4b4b490171289849c68a848d967b24f9f3ee4c53ffff9cfd6e784b26710b2c3e81c72d28e10aaacaca40a4522d1a3478fc85c9a9b9bfdfcfc525252984ce68a152b6edcb8f1f6ed5b6b6beb36c6af10f5417dfdfab56c7971713179d1b76f5fd972d5e7959e9e2e1008860c19121212225beee0e0e0efef4f5e979696b6bb55f5f4f448a7b29b427684720353b6df69d97dedee970ef5a28e7a4fa650173e4b962c09fb6f2c160b21f4f3cf3f93bf213c1e8fd42c2929212fd2d3d3c9890685fad4c995b7cdc9c989bc484848a00a376fdebc62c58aa3478faa7e69a34aefa6a6a626262608a17bf7ee55545490c2cb972f0f1f3e5c4747e7c081037ffcf10739a35ebe7cf9debd7b274e9ca8a3a343fe48529f07553a323636eed7af1f42283939392b2b8b14b6b4b45019ede5e5a5e2bce40c1e3c5820102084d2d2d24e9f3e4d9557565652df5b110a85ed6e55369b4deecd6766665239929696f6fcf973d9eedaddefb4ecbe76f70b5d0749cfd5a5bb313d4679793939ff343535954824724b67cc9841267be8d0218cf1debd7bc9db112346a4a4a45cba7489ba08a7eed146454591127f7fff888888972f5f6299fb734f9e3ca11a2777072d2d2dc95bea0a79e1c2850f1f3e8c8a8ad2d4d444080d1f3e9c54a01ac9c9c951d688c2de5bdf3addb0610329193060c0fefdfbf7ecd9434e19343434f2f3f39f3c79423542b60935715b5bdb0e75443d301208043b77ee3c74e810f5b0a6f5039136e6d5daa64d9ba84371dcb871cb972f9f3b772e75bf76e0c08152a95495ad4a3d7c193c78f09933678e1c39429d5e51f76855d9efb4ecbeb6f78b2abda8b55e922911111164272d5fbebcf5d29f7ffe992c1d397224c6b8a4a484ba7946585b5b93bf1ed4b1f5f0e143d90a972f5fc6aa654a6e6eaedcb50042485757f7e1c387a4822a07a5c2de5b7fd4dfbf7fdffa412c4228222202632c9148a8a5565656e4aa475b5b1b21a4a3a323168b55ef482a95ce9e3dbb7547cecece6fdfbe557d5ead353535b5fe9a0ca1afaf4f1ed6aab255452291dc9786faf4e943ce17a84c5165bfd3b2fbdade2faaf4a2d67ac9b50f75e143bed32d67d2a449e44fdffdfbf7b3b2b24c4d4d7ffbedb7b163c772b95c2323a3afbefaeafefdfbe4249ce2ececbc7dfbf67efdfab158ac010306c81d8b6db0b3b34b4f4f5fb870e1279f7cc26432cdcdcd67cf9e7defde3d676767d5a7a362ef1c0ee7b7df7edbb2658b8383038bc53232321a3b76ecd5ab57c917883534342e5fbefcf9e79f9b9a9a565656eaeaeafeeb5ffffad7bffe8510aaafafbf79f3a6ea1d31188cb8b8b8b367cf8e1f3fded0d0907c8f76fbf6ed292929ad9f01770893c9bc72e5cac99327c78f1fcfe7f3b5b4b4f4f5f5870c19121a1afaecd9b3214386906aed6e55369b7debd6ad050b16181a1a72b95c5f5fdf3b77eec87daf4c95fd4ecbee6b7bbfd0d54b8fc5c01d79d600801a19356ad4bd7bf7783c5e7d7dfdc71ecb5f482f394f0100f410902900003a41a60000e804f75300007482f31400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d049ab43b5bbf8df86ab0bf88dde0ee97d47051c005dd1b14c417f81cdddfb3e21dda0371d15700074115cfb0000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a0d347c8143f3f3f06833179f2e4d68b7c7d7d190c466363234268e6cc990c06a3acacacdb0708bac9ba75eb18ff4d575777c89021dbb66d6b6a6a52bd9d69d3a631188c9a9a9a0f3754a0ba0eff7e4a1795959525242470b9dcf8f8f8e2e2620b0b8b6e1e00e869eceded8d8d8d11421289a4b6b636373777e3c68d292929d7af5f879f325147dd7d9e121b1b2b9148d6ac592391484e9c38d146cda8a8a8d2d2522323a36e1b1bf828366cd8909898989898989c9c9c9999595c5c3c6cd8b0f8f8f86bd7ae7deca181cee8ee4c898e8e36303058b3668d9e9edef1e3c7dbf87d307d7d7d1313130d0db8e3f3d7221008bef9e61b84d09d3b773ef658406774eb2736333333333373fcf8f11c0e67dab469050505376fde545659ee7e4a7575756868a88d8d0d87c3b1b3b35bbb76edbb77efa8cab5b5b5df7efb6dbf7efd582c968585c5d2a54b2b2a2a3ef87cc087a1a5a58510d2d3d3a34adebc79b36cd932a150c864322d2c2c162e5c58525222b7565151516060609f3e7d0c0c0c8282829e3f7fdead830614dc111dad2f67d5aa5508a1f3e7cf638caf5fbf8e10faf4d34f652b4c9c38112124128930c681818108a1d2d2528c714545858d8d0d42c8d3d373f5ead53e3e3e08217777f7a6a6268c717575f5c0810311421e1e1edf7efb6d505090a6a6a6b5b5755959592706d9c539fe05757a8bad5dbb1621141313235b5859593962c4082e979b9f9f4f4a0a0b0bcdcdcdc9de5fbe7cb9b7b73742c8d4d4f4e5cb97a44240400042c8c4c4c4c6c626343434202080c1601818183c7ffebc3ba70388eecb14b1586c6262d2a74f1f121962b1d8c8c888c96456545450759465ca975f7e8910dab973275573f9f2e508a1d8d8588cf1575f7d8510dab2650bb5f4f2e5cb08a1d9b36777629c704875541733c5dededecbcbcbcbcbcbd3d3d3d9d999cd66f3f9fc7ffffbdf54357f7f7f84d00f3ffc40951c3c781021e4eded4dde924c7176766e68682025c78e1d43084d9d3ab53ba70388eecb14726212121242952c5dba1421141111419528cc949696167d7d7d4b4b4ba9544ad52c2e2efee73fff999c9cdcd4d4c4e5722d2d2d2512896c77a3478fd6d2d2aaababebe838e190eaa82e664a6b4c2673e1c2858d8d8d18e3caca4a0683e1e2e222b7aeabab2b42889ccb904c918d218cf1b061c33435356b6a6aba6d3a80e8befb29d1d1d108a1d9b3675325c1c1c108a1a8a8a8b6577cf5ea554d4d8dabababec93457373f31d3b76b8bbbbe7e4e4bc7fff9ec5626dd9b265938cc6c646b1589c9595f561660368237bed5357579796963676ecd8c3870f9393d3cccc4c8cb1979797dc5a1e1e1e08a18c8c0cb912cae8d1a32512c9d3a74f3ffc0cc07fe9a6efa7d4d5d55dba740921e4e7e727b7283b3bfbeeddbba3478f56b66e7575354248575757e152f24da7dcdcdccd9b372b5b17a80b1d1d1d5757d74b972e595a5ac6c6c6868787933bf1adf7be99991942a8a1a181bcd5d5d5d5d1d191ad6068688810aaafafef8e710319dd9429e7ce9d1389442e2e2ecececeb2e5cf9f3f4f4c4c8c8a8a6a2353c8b15257572757ded0d0c0e3f1c8d2e0e0e053a74e7d8081838f80cd6693afa8bc78f1a24f9f3e08a1d64f79c85f0b3e9f4fde363737cb5520070c4916d09dba2953c8854f444484bbbbbb6cf9ab57afacadad7ffae9a7bd7bf792a3a7351b1b1b2e977bfffe7dd9c2caca4a6363e3e0e0e043870e696b6bdfb973472c16936790446464647d7dfdb265cb641f4902755154548410e2f3f9c6c6c60c0623353515632c7bf19b94948410727070206f1b1b1b0b0b0b2d2d2da90a8f1e3d6232998e8e8edd3b70d02ddf4f292c2c4c4a4ab2b2b2727373935b24140abdbdbd1b1a1ace9c39a36c752d2dad59b366e5e7e7efdbb78f2adcb973a7542a1d3f7e3c97cb0d0a0a2a2828080b0ba396262525ad5ebd3a3a3a5ad91513e8b1c462f1962d5bb2b3b3edecec060d1a241008264d9a94999929bbf77ffcf1c7df7fffddd3d35328145285919191d4ebd4d4d4949494d9b36773389c6e1d3d40ddf2fd94ad5bb72284d6af5faf70696c6c2c4268e4c89158f9b3e4f2f2722b2b2b84908f8f4f6868e8d8b1631142bebebee44950595999b5b53542c8d5d575d5aa55c1c1c14c2693c3e12427277762b49d9be35f59a7b798dcb3642f2f2f37373781408010d2d6d64e484820d5f2f3f3c9dd136f6fef55ab569183c4c4c42437379754080808d0d2d2e272b98b162dba7efd7a6464a4818181b5b5f59b376fba733a80e88e4c1930600042283b3b5be1529148a4afaf8f10cacccc54962918e3f2f2f2254b96989b9b6b69690985c275ebd6bd7fff9e6aa4a2a262e5ca955656564c26d3dcdc7ce6cc99e4794127c021d5515dcc14594c26532814ce9933e7d1a347b2354b4a4a162d5a646e6ece64322d2d2d972d5b461d1818e38080003d3dbdd4d454777777f2f596f9f3e777ee1b8f5d990e201858f9bfb8698dc1e8587d75f4579823bd7ad916eb65d3e97ef02ff4000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074eaf0efe6cbfe763900041c1580d2d37f260f7ec80f50e060500b70ed0300a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a6fc97bababa376fdef484a6681c490fd1fb660414fa4b64ca8a152b180cc6bd7bf7daad396ad4a8cccc4c845041410183c1a8afafef74a75453c5c5c50c06a3a6a6a63b5797a5a3a3c3f80f2d2d2d3333b3952b574a24924e37d839d48c40efd6fb33452412c5c4c42c58b0203232b2ddca55555574f54b35c5e7f3cf9d3bc7e3f1ba737539a74f9faeabab23670a478e1c397efcf8810307bad26027d0b86d418f867bb6ae8ff0f8f1e32e2e2e0505052c16ebf5ebd7a4302f2f0f21241289c8db891327eedab56bfaf4e91a1a1a0281202a2a2a3f3f1f21b47bf76e2b2b2b1e8f171212d2dcdc8c317ef2e4c9b871e3f4f5f5edecec8e1e3d8a31cecfcfd7d3d30b0f0f1f316284999919a929db5451511142a8baba1a639c9696367af4681d1d1d6b6beb13274e90decf9d3b3762c4080303033d3dbd3973e688442265abdfb973c7dddd5d5757d7d6d6363232522a952aec5d6e0bf078bc8b172fca9604060686848490d7ad6784318e8f8f777474343030983469525050d0ae5dbb146e3185ab4ba5d2356bd6989a9a0a04823163c6a4a7a7638c6567d4e95dd9f30f578031eee93ba9eb87d1c89123c971ecefefbf61c30652a8ec13626c6c9c9090803126993263c68caaaaaaecec6c3e9f1f1d1d5d5b5b6b6262b275ebd6e6e6e68c8c0c7373f3ab57af929aa1a1a152a9b4a2a2c2cccc2c2e2e4eb6292a14aaaaaa0c0c0cf6ecd9d3dcdc7cf7ee5d2e97fbf0e1c3fcfc7c269379ebd62dd2a9a9a9e9c9932715ae5e5858c8e572f7eddbd7dcdcfce8d1233333b3a3478f2aeb5d965ca6242525191a1a1e38700063ac7046c5c5c55c2ef7ecd9b318e39f7efa0921a42c5314ae7ee3c60d6b6bebcaca4ab158bc6ad52a1f1f1fb20a35a3b6ddbe7d5bd922c814b5d0d37752170fa3f4f4747d7dfd8686068cf18d1b37040201f954a89829050505a4c2b469d3c2c2c24e9d3a25140aa9c6b76ddb3675ea5452333f3f9faab979f366ac28146262626c6d6d65c7565d5dddd4d49497978731aeadad7df0e0819393537878b8c2d577efde3d7cf8706af5888888d1a3472beb5d168fc7e372b97a7a7a7a7a7a6c36dbccccecbbefbe138bc518638533dabf7fffb061c3a8427777776599a270f5b4b4342e971b1e1e9e9595259148a8a52a660a87c351162b90296aa1c3ff17877a3978f0607d7dbd5028246fabaaaae2e2e2e6cf9f2f570d2bf935763e9f4f5eb0582cb1585c5858585252a2afaf4f0a251249fffefdc96b8140405e686a6a4aa55285ad959595595858506f870e1d4aba8e89893976ec988686869393537d7dbdb2c19497975b5959516fadadad5fbd7aa562ef7bf6ec993061427979f98a152bacacacd6af5fafa9a989105238a38a8a0a7373736a5d1b1b9bd60d92412a5cddd5d5353a3a7adfbe7d616161262626dbb76f0f0e0e563823854422d1e4c993af5dbb3666cc18d5d7023d476fce94bababab8b8b88b172f924f2f4268fffefd919191f3e7cfd7d0d04008b5b4b4b0d96c2473fbb0edffa7c6dcdcdcc1c1817a78f1e6cd1b8944d2d4d4a4b072eba62c2c2c8a8b8ba9b7070f1e7474742c2c2c3c7cf8706a6a6abf7efd1042eeeeeeca56170a85376fdea4defef9e79f2626266d8c56969191919595959595557c7cbc8b8bcbdcb973cf9e3dab6c46bffefaebb973e7a8755fbf7eede8e8a8708b295cbdb0b0d0c6c6e6f6eddbefdfbf8f8e8e0e0909f1f1f131323252fdff007afffefde4c993af5cb9e2ededade22aa0e7e8cdcf7d4e9d3a656464e4efef6ff11f8b172f7efaf4696262a2a9a9a98e8ecee1c3871b1b1b4f9d3a959191415661b158797979ca1e214f9932a5b4b474efdebd2d2d2daf5fbf9e3061c2debd7b95f5deba295f5fdf9a9a9afdfbf78bc5e27bf7eead5bb78ec7e3d5d4d4b0d96c3e9f8f313e7dfa745a5a5a7373b3c2d50303035fbc78b17ffffe9696968c8c8c8888889090908e6e133d3dbd3367ce5cba74e9f0e1c3ca66347dfaf4cacaca7dfbf689c5e24b972eddba750b21a4708b295c3d3535d5dfdf3f2f2f8fcbe50a04020e87c3e572dbddb672debf7f3f65ca94df7efbada313041fdf47bdf26a5f5746e8e4e4b471e346b9c2091326040404608c636262ecececb85cee9c3973e6ce9d4beea7848585b158ac4d9b3691fb1475757564ad59b36691fbbbe9e9e963c78e3530303036365ebe7c795353935ccdc0c0c0b0b030d9a6641fdcfcf1c71fe4c18d9d9ddd99336730c6f5f5f53366cc303434140a8553a74e9d376f5e505090b2d5535353dddcdc74757585426178783879eea3b07759ad9ffbecd8b183c7e3e5e6e62a9c11c6382323c3cdcd4d5f5f7fca942923478e241b47e11653b8fac68d1bcdcccc783cde902143e2e3e349a7d48cdade6bb2072797cb2577afa9456daf0b7a829efe1fbbc17f3df7d1f9fafa8e1f3f3e3434b47bba93bb44e272b9d445101c0c6aa1375ffb805e002e82d40e640ae8e92056d44b4f3f996430186161619b376ffed803011f19796ad6c30f5780d422537af80801bd143e72e6f178bffcf2cbb871e3e060e8f9e0da07f4742450e0bb2aea023205f46810286a073205f45c1028ea083205f45010286a0a3205f4441028eaab37ff1b42a0a6783cded5ab57e1df25ab29384f013d0b87c38140516b3dfddb1ff0fd94bf9ac4c44465810207835ae8e93b090e23408183412dc0b50f00804e902900003a41a680dec3c7c78701e8c0e1701213133bb7177afa052a032ea1c17fb47b30c0d14217068361646474faf4e94e7c4508ce5300000a5cb87061f6ecd99df8d91ac814008002eeeeee9d8b15c8140080629d8b15c8140080529d8815c81400405b3a1a2b902900807674285620530000ed533d56205300002a5131567afa7784e05b4c8002df79eb360c0663e6cc990a17555454a4a5a53536362a5b177e93090020efecd9b36d2cfdfdf7dfdb58dad3731dfef2004a0f394fa9abab1389444646461fbaa30faddd8928abd0f67686fb29a0376b6c6ca4fe5d9c8686069fcf9f356b56454585b2fa0505050c06a3bebebe8d36478d1a959999a9ac7271713183c1a8a9a951b86edb4b3b4495a1b68d9a882cd9112aacd02ec814d0fbfdfcf3cf45454505050557af5ecdcaca5abf7e7d575aabaaaa6a63299fcf3f77ee1c8fc7eb4a17dd43e14464c7dff64c95814c01bd5fdfbe7d2d2c2c8442a18d8d8da1a1a1898909294f4d4df5f0f0d0d3d3b3b3b3fbbffffb3fea7c7ecf9e3d1616169696963b76ec904aa5b24dcd9831a3a2a262f6ecd9c78e1d2325478e1cb1b6b6d6d1d1f9fcf3cf5b5a5aaaaaaa8282821a1a1a0a0a0af4f5f5fff77fffd7c5c5c5dcdc9c2ca5da914aa573e6ccf9dbdffef6eedd3b8cf1dab56bcdccccfaf6ed3b76ecd8c78f1fb79ec2f9f3e75d5c5c0c0d0df5f5f5838383a95ba4ad87da7a522f5ebc603018d42abebebedf7fff7deb8910d4f89555681feed97afe0841b769f760685d4124122184984c268bc562329908a161c386d5d5d5618c0b0b0bb95ceebe7dfb9a9b9b1f3d7a64666676f4e8d1fcfc7c84505050505d5dddd3a74f4d4d4d7ffcf147b9368d8d8d13121230c6a4f28c1933aaaaaab2b3b3f97c7e74747451511142a8baba9a2c0d0d0d954aa515151566666671717164e9dbb76fe7cd9be7eeee4e02e5c68d1bd6d6d695959562b178d5aa553e3e3e723de6e7e73399cc5bb76e91d7a6a6a6274f9e5438548593cacbcb4308894422d2dac4891377edda253b1159d4f89555687747c0790ae8fd4e9c38f1f8f1e3f4f4f45f7ffd55535373f6ecd908a1f3e7cf3b38382c5dba545b5b7bd8b061a1a1a1c78f1f27f5232222747474060d1ab464c992b8b8b8b61b8f8888303434747070f0f0f078f9f2a5dcd2a54b9732180c81403072e448f2d946082d59b2e4e6cd9b376edce8d3a70f42485f5fbfbcbc3c2a2aeaf9f3e7bb76edfaf5d75fe51a313333cbcacaf2f6f67ef7ee5d6565a59191516969a9c2a1b631a96e0399027a3fa150686f6f3f70e0401f1f9f1f7ef8e1ead5ab454545e5e5e5565656541d6b6beb57af5e2184b4b5b52d2c2c48a1959515f5e95586cfe793172c164b2c16cb2d150804e485a6a6267519f5ead5abdadadadbb76f93b7aeaeaed1d1d1376edc707676eed7af5f6c6cac5c23dadada3131311616168e8e8e9b376faeafaf27270bad87aa6c52b2f0077e34069902fe5ac8274a2a950a850feb45fb00001b78494441544272f940fcf9e79fe43e4b4b4b4b5d5d1d292c2d2d95fd88120c06a38b63b878f1e28e1d3b162e5c481eaf141616dad8d8dcbe7dfbeddbb7ebd6ad0b090979f3e68d6cfdd8d8d8c3870f272525bd7af5eaca952bd4fda0d6435538290d0d0d52991452775edb9d48e7660a99027abf8a8a8ae2e2e2e2e2e2870f1fae5dbb76e4c8919696968181812f5ebcd8bf7f7f4b4b4b464646444444484808a9fffdf7df93b50e1f3ebc60c102b9d6582c565e5e5e571ee23299cc254b960885c255ab562184525353fdfdfdf3f2f2b85cae4020e070385c2e57b67e4d4d0d9bcde6f3f918e3d3a74fa7a5a53537372b1caac249999a9aeae8e81c3e7cb8b1b1f1d4a9531919192a4ea493336de35e4b4fd0f34708ba4dbb0743eb0ae41e2d455f5fffb3cf3e2b2a2a224b535353dddcdc7475758542617878b8542acdcfcfe772b9ab56ad1a366c98a3a3e3fefdfb5bf7121616c662b1366dda44ce08c81d5f8cf1ac59b3366cd820778f965a1a1818181616267b07f4e9d3a74c26f3c68d1b18e38d1b379a9999f178bc214386c4c7c7cbf5585f5f3f63c60c434343a1503875ead479f3e6050505291b6aeb49618c636262ecececb85cee9c3973e6ce9d4beed1521391ed4b76840a2bb4bb237afab754e17bb480d243be470be07bb40080ee03990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013fc6e3ee855bafe8f86411741a680de03feb14f4f00d73e00003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a0d35f3d53eaeaeadebc79d3139aa27124007c44bd335356ac58c16030eeddbbd76ecd51a34665666622840a0a0a180c467d7d7da73ba59a2a2e2e663018353535ddb9ba2c1d1d1dc67f686969999999ad5cb952229174ba410054d70b33452412c5c4c42c58b0203232b2ddca55555574f54b35c5e7f3cf9d3bc7e3f1ba737539a74f9faeabab23e73e478e1c397efcf8810307bad22000aac23d5b274678fcf871171797828202168bf5faf56b529897978710128944e4edc4891377edda357dfa740d0d0d8140101515959f9f8f10dabd7bb79595158fc70b0909696e6ec6183f79f264dcb871fafafa767676478f1ec518e7e7e7ebe9e98587878f1831c2cccc8cd4946daaa8a80821545d5d8d314e4b4b1b3d7ab48e8e8eb5b5f589132748efe7ce9d1b3162848181819e9ede9c3973442291b2d5efdcb9e3eeeeaeabab6b6b6b1b191929954a15f62eb705783cdec58b17654b020303434242c8ebd633924aa56bd6ac31353515080463c68c494f4f27d3e472b9ebd6adf3f0f0183870e0c68d1ba552a9ea4352d8a6c2de55d7f30f578031eee93ba91387d1c89123a3a2a230c6fefefe1b366c20850a3305636c6c6c9c9090803126993263c68caaaaaaecec6c3e9f1f1d1d5d5b5b6b6262b275ebd6e6e6e68c8c0c7373f3ab57af929aa1a1a152a9b4a2a2c2cccc2c2e2e4eb6292a14aaaaaa0c0c0cf6ecd9d3dcdc7cf7ee5d2e97fbf0e1c3fcfc7c269379ebd62dd2a9a9a9e9c9932715ae5e5858c8e572f7eddbd7dcdcfce8d1233333b3a3478f2aeb5d965ca6242525191a1a1e38700063ac7046376edcb0b6b6aeacac148bc5ab56adf2f1f1a136c8ca952b31c6efdebd1b3264c8a14387541f92c23615f6fe410f06d0fd7afa4e6ae330ba7dfb76ebc2f4f4747d7dfd8686068cf18d1b37040201c9111533a5a0a0805498366d5a5858d8a953a7844221d5f8b66ddba64e9d4a6ae6e7e75335376fde8c1585424c4c8cadadadecd8aaabab9b9a9af2f2f230c6b5b5b50f1e3c7072720a0f0f57b8faeeddbb870f1f4ead1e1111317af46865bdcbe2f1785c2e574f4f4f4f4f8fcd669b99997df7dd7762b11863ac70466969695c2e373c3c3c2b2b4b22919045a4a3aaaa2af2f6871f7ef0f4f4547d480adb54d87beb9da80c648a5a50d7dfcd4f4c4c9c3469d2fbf7efe5ca0f1e3c585f5f2f140ac9dbaaaaaab8b8b8f9f3e7cb55c34a7e609dcfe793172c164b2c16171616969494e8ebeb93428944d2bf7f7ff25a201090179a9a9a52a954616b656565161616d4dba1438792ae6362628e1d3ba6a1a1e1e4e4545f5faf6c30e5e5e5565656d45b6b6beb57af5ea9d8fb9e3d7b264c98505e5ebe62c50a2b2babf5ebd76b6a6a228414cec8d5d5353a3a7adfbe7d616161262626dbb76f0f0e0e4608b1d96c434343aac7b2b232d587a4b0cd36b627e835d43253121313274f9e2c1289e4caebeaeae2e2e22e5ebc483ebd08a1fdfbf7474646ce9f3f5f43430321d4d2d2c266b391cc0dd1b6ff3b18737373070707f2380621f4e6cd1b8944d2d4d4a4b072eba62c2c2c8a8b8ba9b7070f1e7474742c2c2c3c7cf8706a6a6abf7efd1042eeeeeeca56170a85376fdea4defef9e79f2626266d8c56969191919595959595557c7cbc8b8bcbdcb973cf9e3dab6c46858585363636b76fdf7efffe7d7474744848888f8f0f42a8b1b1f1cd9b3746464608a1172f5e7cf2c927aa0f49619b0a7b577146405da8df739fe4e4647f7fffd6672808a153a74e191919f9fbfb5bfcc7e2c58b9f3e7d9a9898686a6aaaa3a373f8f0e1c6c6c653a74e6564649055582c565e5e9eb247c853a64c292d2dddbb776f4b4bcbebd7af274c98b077ef5e65036bdd94afaf6f4d4dcdfefdfbc562f1bd7bf7d6ad5bc7e3f16a6a6ad86c369fcfc7189f3e7d3a2d2dadb9b959e1ea8181812f5ebcd8bf7f7f4b4b4b4646464444444848484737979e9ede9933672e5dba74f8f06165334a4d4df5f7f7cfcbcbe372b9028180c3e170b95cb2fadab56b4522516666e6be7dfbe6cd9ba7fa9014b6d9a1ed09d4d5c7bdf46a97dc08939292641fb2ca55767272dab871a35ce184091302020230c63131317676765c2e77ce9c3973e7ce25f753c2c2c2582cd6a64d9bc84d81baba3ab2d6ac59b3c8fdddf4f4f4b163c71a1818181b1b2f5fbebca9a949ae666060605858986c53b20f6efef8e30ff294c4ceceeecc993318e3fafafa193366181a1a0a85c2a953a7ce9b372f282848d9eaa9a9a96e6e6ebababa42a1303c3c9c3c6451d8bbacd6cf7d76ecd8c1e3f172737315ce0863bc71e3463333331e8f3764c890f8f878fc9ffb29df7efbadb1b1b1b9b979444404694af521b56e5359ef2aeaf9872bc0183370cffeafdb188cff7f84c9c9c97e7e7e0d0d0dd4d21e3e78b5565050606d6d5d5757a7a3a3f3b1c7f2ff913d18408fa536d73ead030500d003a947a640a000a02e7afac92483c1484a4a5216283d7cf0805e70eda316d4e059f29c3973949da1b4fd2418f4266161611f7b0840253d3df8190c06b9f051f8b8b7870f1ed00bce53d4821adc4f717777bf7efd7acf79fa000068831a640a825801407da847a620881500d484da640a825801401da853a6208815007a3c35cb148490bbbbfb952b57baf8d38a00800f44fd3205213466cc98ab57af72389c8f3d100080bc9efec0bf8daf242426268e1933a67b87033e26f87e8a5ae8e93b090e23408183412da8e5b50f00a0c7824c0100d0a96327937f917fb30727d81dd2fb8e0a3800baa2c3ff2eb9d76feedef709e906bde9a88003a08be0da07004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074fa0899e2e7e7c76030264f9edc7a91afaf2f83c1686c6c4408cd9c3993c16094959575fb00413759b76e1de3bfe9eaea0e193264dbb66d4d4d4daab7336dda340683515353f3e1860a54d7e1df64eaa2b2b2b28484042e971b1f1f5f5c5c6c6161d1cd03003d8dbdbdbdb1b13142482291d4d6d6e6e6e66edcb8312525e5faf5ebf0f348eaa8bbcf536263632512c99a356b2412c9891327daa8191515555a5a6a6464d46d63031fc5860d1b1213131313139393933333338b8b8b870d1b161f1f7feddab58f3d34d019dd9d29d1d1d10606066bd6acd1d3d33b7efc781bbf39a8afaf6f6262a2a101777cfe5a0402c137df7c8310ba73e7cec71e0be88c6efdc46666666666668e1f3f9ec3e14c9b36ada0a0e0e6cd9bca2acbdd4fa9aeae0e0d0db5b1b1e170387676766bd7ae7df7ee1d55b9b6b6f6db6fbfedd7af1f8bc5b2b0b058ba74694545c5079f0ff830b4b4b410427a7a7a54c99b376f962d5b26140a994ca68585c5c2850b4b4a4ae4d62a2a2a0a0c0cecd3a78f8181415050d0f3e7cfbb75d080823ba2a3f5e5ac5ab50a2174fefc798cf1f5ebd711429f7efaa96c858913272284442211c63830301021545a5a8a31aea8a8b0b1b14108797a7aae5ebddac7c70721e4eeeeded4d48431aeaeae1e38702042c8c3c3e3db6fbf0d0a0ad2d4d4b4b6b62e2b2bebc420bb38c7bfa04e6fb1b56bd72284626262640b2b2b2b478c18c1e572f3f3f349496161a1b9b939d9fbcb972ff7f6f64608999a9abe7cf992540808084008999898d8d8d884868606040430180c030383e7cf9f77e77400d17d9922168b4d4c4cfaf4e94322432c161b19193199cc8a8a0aaa8eb24cf9f2cb2f11423b77eea46a2e5fbe1c21141b1b8b31feeaabaf10425bb66ca1965ebe7c1921347bf6ec4e8c130ea98eea62a6d8dbdb7b7979797979797a7a3a3b3bb3d96c3e9fffef7fff9baae6efef8f10fae1871fa89283070f2284bcbdbdc95b9229cecece0d0d0da4e4d8b16308a1a953a776e77400d17d99424e4c424242a892a54b972284222222a8128599d2d2d2a2afaf6f696929954aa99ac5c5c5fffce73f9393939b9a9ab85caea5a5a5442291ed6ef4e8d15a5a5a7575751d1d271c521dd5c54c698dc9642e5cb8b0b1b111635c5959c960305c5c5ce4d675757545089173199229b23184311e366c98a6a6664d4d4db74d0710dd773f253a3a1a21347bf66caa2438381821141515d5f68aaf5ebdaaa9a9717575957db2686e6ebe63c70e7777f79c9c9cf7efdfb358ac2d5bb66c92d1d8d828168bb3b2b23ecc6c006d64af7deaeaead2d2d2c68e1d7bf8f06172729a99998931f6f2f2925bcbc3c30321949191215742193d7ab4442279faf4e9879f01f82fddf4fd94bababa4b972e2184fcfcfce416656767dfbd7b77f4e8d1cad6adaeae4608e9eaea2a5c4abee9949b9bbb79f36665eb0275a1a3a3e3eaea7ae9d2254b4bcbd8d8d8f0f0707227bef5de373333430835343490b7bababa3a3a3ab2150c0d0d1142f5f5f5dd316e20a39b32e5dcb9732291c8c5c5c5d9d959b6fcf9f3e78989895151516d640a3956eaeaeae4ca1b1a1a783c1e591a1c1c7cead4a90f3070f011b0d96cf21595172f5ef4e9d30721d4fa290ff96bc1e7f3c9dbe6e666b90ae48021c902ba5337650ab9f0898888707777972d7ff5ea95b5b5f54f3ffdb477ef5e72f4b4666363c3e572efdfbf2f5b585959696c6c1c1c1c7ce8d0216d6ded3b77ee88c562f20c92888c8cacafaf5fb66c99ec2349a02e8a8a8a10427c3edfd8d898c160a4a6a6628c652f7e93929210420e0e0ee46d6363636161a1a5a52555e1d1a3474c26d3d1d1b17b070ebae5fb298585854949495656566e6e6e728b8442a1b7b7774343c399336794adaea5a5356bd6acfcfcfc7dfbf651853b77ee944aa5e3c78fe772b9414141050505616161d4d2a4a4a4d5ab574747472bbb62023d96582cdeb2654b7676b69d9ddda041830402c1a4499332333365f7fe8f3ffef8fbefbf7b7a7a0a8542aa303232927a9d9a9a9a9292327bf66c0e87d3ada307a85bbe9fb275eb5684d0faf5eb152e8d8d8d45088d1c39122b7f965c5e5e6e65658510f2f1f1090d0d1d3b762c42c8d7d7973c092a2b2bb3b6b64608b9babaae5ab52a383898c96472389ce4e4e44e8cb67373fc2bebf416937b96ece5e5e5e6e62610081042dadada090909a45a7e7e3eb97be2ededbd6ad52a7290989898e4e6e6920a0101015a5a5a5c2e77d1a245d7af5f8f8c8c343030b0b6b67ef3e64d774e0710dd912903060c40086567672b5c2a1289f4f5f51142999999ca3205635c5e5ebe64c9127373732d2d2da150b86eddbaf7efdf538d545454ac5cb9d2caca8ac9649a9b9bcf9c39933c2fe80438a43aaa8b99228bc9640a85c23973e63c7af448b6664949c9a2458bcccdcd994ca6a5a5e5b265cba80303631c1010a0a7a7979a9aeaeeee4ebede327ffefcce7de3b12bd30104032bff1737ad31181dabaf8efe0a73a4572fdb62bd6c3add0ffe851e00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a013640a00804e902900003a41a60000e804990200a053877fe35af677860120e0a80014f8492b00009de0da07004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c0100d0093205004027c81400009d2053000074824c011f4465652583c178f1e2c5c71ec887f2fdf7df8f1a350a21545353c360309e3d7bf6b147d45340a600d0256c367bc3860d0281e0630fa4a7e8f06f1d000064b1d9ec6ddbb67dec51f420709ea2c69c9c9c222323c9eb69d3a60d1f3e9cbcbe70e1829d9d5d5796aade0b42a8a4a464c68c193c1e4f2814ae59b3a6a9a9895af7e2c58b42a150474767e1c28554f9a14387acadadd96cf6d0a143e3e3e349a1b246727272bcbcbc381ccea851a3c2c3c3c9e54671713183c12828282075a8cb1065ed900bb1e3c78ff7ebd74f5757d7cfcfafa4a484d47ffdfaf5f4e9d3fbf4e9636666b669d3a6b607939595e5e1e1c1e170dcdddd4b4b4b49a1ecb5cf83070fbcbdbd757474b85cae8f8f4f616121a9939d9dede9e9c9e1709c9d9dc3c3c3ededed11426565650c0663f7eedd8686865f7cf185b2d5c9e0636363adadadb95cee679f7df6f4e9533737371e8fe7e9e9f9faf5eb36b6aa2c85332d2a2a9a3973a6a1a1a14020f8faebaf1b1b1b55ef51290cd4d6b7df7e1b10108031964aa58686865a5a5aefdebdc3182f5ab4e8ebafbfeeca52d57bc118bbbaba0606063e7dfa34353575e8d0a1cb972fc7185754542084acacac121313efdcb9636b6bbb64c9128c716666268fc7bb71e3467e7efe860d1bfaf4e9535f5fafac11914824140ae7cd9bf7ead5ab9898181e8fe7eaea8a312e2a2a4208e5e7e79311eedab58b94b73d9851a3461515159594940c1d3a940c462c163b3a3a4e9c38312323e3d6ad5b0281e0c891236d0fe6ef7fff7b4e4eced1a347994c26e9b4baba9a645f5d5d9da1a1e1ead5ab5fbe7c9996963678f0e02fbef80263dcd8d8686969191c1c9c9d9d7de2c4090e873360c0008c3149a551a346252626debb774fd9ea64f05e5e5e151515b9b9b96c36dbc4c4e4c183076fdfbe1d3162c4b265cbdad8aa148533158944fdfaf5f3f7f7cfccccbc75eb56bf7efdc86651a5c73640a6a8b19b376f1a18184824928c8c0c5b5bdbfefdfbc7c7c7638c6d6c6cae5dbbd695a5aaf7929898c8e170debf7f4f2aa7a6a66a6b6b37353591e3f2fcf9f3a4fce2c58b2c16abb1b1f1f2e5cbbababacf9e3dc318373535fdfaebaf8d8d8dca1a2195a98fc782050bdace94b60773e5ca1552be7bf76e676767525f5b5bbbbcbc9c94fff4d34fa74f9f56d6c8a54b97643fab5f7cf1855ca69495956ddfbebdb9b99954080f0f1f397224c6f8c2850b0606060d0d0da47cd9b265b299f2f3cf3f937265ab93c15fbf7e9d948f1831827cf231c69b376ff6f6f6c6182bdcaab23b51e14ccf9e3daba3a3535353430aaf5fbfaea9a9595353a34a8f6d80fb296accddddbda9a9293333333939d9c3c3432291a4a4a4d8d9d9bd7efd7acc98319a9a9a9d5eaa7a2fd1d1d18d8d8d7dfbf6259531c62d2d2df9f9f97c3e1f21445d928c1831a2a9a9e9cf3ffff4f1f1717676b6b7b71f366cd8942953162c58c062b17272721436f2ecd9333b3b3b1e8f47ca5d5d5d9f3e7ddac60651d60e198ca5a52529e772b9cdcdcd08a1ecec6c0b0b0b23232352fee9a79f22840e1d3aa4b091ecec6cd9c1b8b8b8646767cbf66e6c6cbc74e9d2a8a8a88c8c8c9c9c9cfbf7ef0f1a3408219499993970e0402e974baa8d1e3d3a2121815acbc6c6a6edd5090b0b0bf282c56251af994c26b92e53b85565c7a670a65bb66cb1b7b7d7d3d3a306269148f2f2f2acacacdaedb10d90296a8cc5628d193326313131252565f2e4c91289242e2ecec2c2c2d3d3931cc15d59aa622f62b1582814debc795376954f3ef9a4aeae8eac4b4ab4b4b4c85b0e87f3db6fbf2525255dbe7c39262666dfbe7d77efde55d60897cb9548245489b6b6367921f7f3b762b1987ad1c660a8d511421863841093c96cfd4bbaca1a91abc66432e54a4a4b4b5d5c5c2c2d2d274f9e3c75ead4870f1f5ebe7c99cc5d2a95ca754da1b6b6b2d509b201154e1f21a470abf6efdf5f76b4add762b158b2856460d4066fbbc736c03d5af53671e2c4dbb76fa7a4a4787878787878dcbb77efead5ab7e7e7e5d5faa622f03060c282e2e66b3d9b6b6b6b6b6b63535351b366ca03e42b9b9b9e4c593274fb85cae50284c4a4adab3678f9797574444446e6e2e8fc74b484850d6c8c081037373736b6a6a48238f1f3f262fc8e7b9b6b696bccdcbcb232fda1e4c6b767676454545555555e4edeeddbb3ffbec33658d383a3ae6e6e6be7bf74e6e30940b172e48a5d2e4e4e4f5ebd74f9a34a9b4b4947c4a070d1a94939323128948b5870f1f2a1c8cb2d555a170abb63b530707879c9c1c6a33a6a5a5696a6adadadaaad8a9526d5f1a811eeed9b3674c26d3c4c484bc3536366630183939395d5f7ae2c489d3a74fb75b5322913839397978783c7efcf8d1a34743860c99366d1afecf5d001f1f9ffafafacaca4a171797fff99fffc1182727276b6b6bc7c4c41415155db87081c964a6a6a62a6b442a950e1f3e7cdab469cf9e3d3b77ee1c758f562a955a5959cd9c39332323e3c89123868686a4bcedc150533b78f0e0a04183483bcececed3a74f7ff6ecd9eddbb78d8d8da3a2a29435d2d4d4d4bf7fffa0a0a0e7cf9f9f397346474747ee7e4a6c6c2c9bcd4e4a4a7afbf6edf1e3c7592c16e9a5a5a5c5caca2a242484d4e172b9f6f6f6f83ff753f2f2f2c8a894ad2e37783737b79d3b7792d73b77ee74737353b6556577a2c299b6b4b43838384c9b362d3b3b3b2929c9d6d6f6ef7fffbb8a3db6013245ed59595905050591d73367ceb4b4b4a465e9b871e302030355a95950503065ca141e8fc7e7f3e7cd9b47eef991e372d7ae5d03060c303434fcfaebafa9bb8f870e1db2b5b5653299b6b6b6c78e1d6ba3118c716161e1c48913592cd6881123162f5e4c3ddff9edb7df060e1cc862b1264e9c78e0c001aabc8dc1b4ce148c717e7ebe9f9f1f9bcdb6b0b0080f0f6f7b302f5fbe1c376e1c87c319366cd8860d1be432452c162f5ebcd8c0c0404f4fcfdbdbfbe0c1836c369b3c23cbc8c8707575653299c3870f5fb264c990214370ab4c51b6ba8a9f70855b5576272a9ce98b172ffcfcfc381c8e9191d1ead5ab452251ebcdd5d14c81ff8b03a88defbffffefcf9f36969691f7b201d535a5a9a9d9d3d6edc38f2362c2cecdebd7b376edcf8b8a3fa70e07e0a001f567373b3afafeff1e3c70b0b0baf5fbf7ef0e0c1a0a0a08f3da80f089efb00f061595a5a4647476fddba75c99225a6a6a66bd6ac993f7ffec71ed40704d73e00003ac1b50f00804e902900003a41a60000e804990200a013640a00804e902900003afd3f42d7842f9c03a6110000000049454e44ae426082", + "rawHeaders": { + "connection": "keep-alive", + "content-type": "image/png", + "date": "Wed, 11 Dec 2024 20:30:30 GMT", + "server": "nginx/1.14.0 (Ubuntu)", + "transfer-encoding": "chunked", + "vary": "Accept-Encoding" + }, "responseIsBinary": true + }, + { + "scope": "https://www.websequencediagrams.com:443", + "method": "POST", + "path": "/index.php", + "body": "apiVersion=1&message=Alice-%3E&style=default&format=png", + "status": 200, + "response": { + "img": "?png=msc3495739104", + "errors": [ + "Line 1: Syntax error." + ], + "naturalWidth": 20, + "actualWidth": 20, + "boxes": [] + }, + "rawHeaders": { + "connection": "keep-alive", + "content-length": "115", + "content-type": "application/json", + "date": "Wed, 11 Dec 2024 20:30:30 GMT", + "server": "nginx/1.14.0 (Ubuntu)", + "vary": "Accept-Encoding" + }, + "responseIsBinary": false } ] \ No newline at end of file diff --git a/test/wsd.ava.js b/test/wsd.ava.js index ee6b6f2..1ab4541 100644 --- a/test/wsd.ava.js +++ b/test/wsd.ava.js @@ -1,9 +1,9 @@ -'use strict' +'use strict'; -const test = require('ava') -const wsd = require('../lib/wsd') -const path = require('path') -const {Buffer} = require('buffer') +const test = require('ava'); +const wsd = require('../lib/wsd'); +const path = require('node:path'); +const {Buffer} = require('node:buffer'); const desc = ` title Authentication Sequence @@ -11,73 +11,73 @@ title Authentication Sequence Alice->Bob: Authentication Request note right of Bob: Bob thinks about it Bob->Alice: Authentication Response -` +`; -const nock = require('nock') +const nock = require('nock'); test.before(async t => { - nock.back.fixtures = path.join(__dirname, 'fixtures') + nock.back.fixtures = path.join(__dirname, 'fixtures'); if (!process.env.NOCK_BACK_MODE) { - nock.back.setMode('lockdown') + nock.back.setMode('lockdown'); } - const title = escape(path.basename(__filename)) - const {nockDone, context} = await nock.back(`${title}.json`) + const title = escape(path.basename(__filename)); + const {nockDone, context} = await nock.back(`${title}.json`); if (context.scopes.length === 0) { // Set the NOCK_BACK_MODE variable to "record" when needed if (process.env.NOCK_BACK_MODE !== 'record') { // eslint-disable-next-line no-console console.error(`WARNING: Nock recording needed for "${title}". -Set NOCK_BACK_MODE=record`) +Set NOCK_BACK_MODE=record`); } } - t.context.nockDone = nockDone -}) + t.context.nockDone = nockDone; +}); test.after(t => { - t.context.nockDone() - t.truthy(nock.isDone()) -}) + t.context.nockDone(); + t.truthy(nock.isDone()); +}); test('url', async t => { - const u = await wsd.diagramURL(desc, 'default', 'png') - t.regex(u, /^http:\/\/www.websequencediagrams.com\/\?png=.+/) -}) + const u = await wsd.diagramURL(desc, 'default', 'png'); + t.regex(u, /^https:\/\/www.websequencediagrams.com\/\?png=.+/); +}); test('url buffer', async t => { - const u = await wsd.diagramURL(Buffer.from(desc)) - t.regex(u, /^http:\/\/www.websequencediagrams.com\/\?png=.+/) -}) + const u = await wsd.diagramURL(Buffer.from(desc), 'earth'); + t.regex(u, /^https:\/\/www.websequencediagrams.com\/\?png=.+/); +}); test('bad style', async t => { await t.throwsAsync( () => wsd.diagramURL(desc, 'snoopy', 'png'), {message: 'Unknown style: snoopy'} - ) -}) + ); +}); test('bad type', async t => { await t.throwsAsync( () => wsd.diagramURL(desc, 'default', 'snoopy'), {message: 'Unknown format: snoopy'} - ) -}) + ); +}); test('pdf requires account', async t => { await t.throwsAsync( () => wsd.diagramURL('Alice\n', undefined, 'pdf'), - {message: 'HTTP Error: 402'} - ) -}) + {message: '402 Payment Required: API Key Required for PDF'} + ); +}); test('diagram', async t => { - const [buf, typ] = await wsd.diagram(desc) - t.truthy(Buffer.isBuffer(buf)) - t.is(typ, 'image/png') -}) + const [buf, typ] = await wsd.diagram(desc); + t.truthy(Buffer.isBuffer(buf)); + t.is(typ, 'image/png'); +}); test('invalid wsd', async t => { await t.throwsAsync( () => wsd.diagramURL('Alice->'), {message: 'Line 1: Syntax error.'} - ) -}) + ); +});