From 11c1c771e4178176842b6c8b2a8f5a2822cd6004 Mon Sep 17 00:00:00 2001 From: Akash Gupta Date: Fri, 17 May 2024 20:41:47 +0530 Subject: [PATCH 1/4] feat: bun init --- .eslintignore | 2 +- bunRuntime | 1 + pnpm-lock.yaml | 11031 +++++++++++++++++++++++++++++++++++++++++ src/legacy/router.js | 1 + 4 files changed, 11034 insertions(+), 1 deletion(-) create mode 160000 bunRuntime create mode 100644 pnpm-lock.yaml diff --git a/.eslintignore b/.eslintignore index ce54730f4b..6b8b6aaefd 100644 --- a/.eslintignore +++ b/.eslintignore @@ -20,4 +20,4 @@ src/util/eventValidations.js src/v0/destinations/personalize/scripts/ test/integrations/destinations/testTypes.d.ts *.config*.js -scripts/skipPrepareScript.js +scripts/skipPrepareScript.js \ No newline at end of file diff --git a/bunRuntime b/bunRuntime new file mode 160000 index 0000000000..65e6f9d60e --- /dev/null +++ b/bunRuntime @@ -0,0 +1 @@ +Subproject commit 65e6f9d60e3965a89bf79cc5fac227affa07c680 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000000..61fe1176b3 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,11031 @@ +lockfileVersion: 5.4 + +specifiers: + '@amplitude/ua-parser-js': 0.7.24 + '@aws-sdk/client-personalize': ^3.470.0 + '@aws-sdk/client-s3': ^3.474.0 + '@aws-sdk/credential-providers': ^3.391.0 + '@aws-sdk/lib-storage': ^3.474.0 + '@bugsnag/js': ^7.20.2 + '@commitlint/config-conventional': ^17.6.3 + '@datadog/pprof': ^3.1.0 + '@digitalroute/cz-conventional-changelog-for-jira': ^8.0.1 + '@koa/router': ^12.0.0 + '@ndhoule/extend': ^2.0.0 + '@pyroscope/nodejs': ^0.2.9 + '@rudderstack/integrations-lib': ^0.2.8 + '@rudderstack/workflow-engine': ^0.7.5 + '@shopify/jest-koa-mocks': ^5.1.1 + '@types/fast-json-stable-stringify': ^2.1.0 + '@types/jest': ^29.5.1 + '@types/koa': ^2.13.6 + '@types/koa-bodyparser': ^4.3.10 + '@types/lodash': ^4.14.197 + '@types/node': ^20.2.5 + '@typescript-eslint/eslint-plugin': ^5.61.0 + '@typescript-eslint/parser': ^5.59.2 + ajv: ^8.12.0 + ajv-draft-04: ^1.0.0 + ajv-formats: ^2.1.1 + axios: ^1.6.4 + axios-mock-adapter: ^1.22.0 + benchmark-suite: ^0.1.8 + btoa: ^1.2.1 + commander: ^10.0.1 + commitizen: ^4.3.0 + commitlint: ^17.6.3 + component-each: ^0.2.6 + conventional-github-releaser: ^3.1.5 + crypto-js: ^4.2.0 + dotenv: ^16.0.3 + eslint: ^8.40.0 + eslint-config-airbnb-base: ^15.0.0 + eslint-config-airbnb-typescript: ^17.0.0 + eslint-config-prettier: ^8.10.0 + eslint-plugin-import: ^2.27.5 + eslint-plugin-json: ^3.1.0 + eslint-plugin-prettier: ^5.1.3 + eslint-plugin-sonarjs: ^0.19.0 + eslint-plugin-unicorn: ^46.0.1 + flat: ^5.0.2 + form-data: ^4.0.0 + get-value: ^3.0.1 + glob: ^10.3.3 + handlebars: ^4.7.7 + http-graceful-shutdown: ^3.1.13 + http-terminator: ^3.2.0 + https-proxy-agent: ^5.0.1 + husky: ^8.0.3 + ioredis: ^5.3.2 + is: ^3.3.0 + is-ip: ^3.1.0 + isolated-vm: 4.5.0 + jest: ^29.5.0 + jest-sonar: ^0.2.16 + jest-when: ^3.5.2 + js-sha1: ^0.6.0 + json-diff: ^1.0.3 + json-size: ^1.0.0 + jsontoxml: ^1.0.1 + koa: ^2.14.1 + koa-bodyparser: ^4.4.0 + koa2-swagger-ui: ^5.7.0 + lint-staged: ^13.2.2 + lodash: ^4.17.21 + madge: ^6.1.0 + match-json: ^1.3.5 + md5: ^2.3.0 + mocked-env: ^1.3.5 + modclean: ^3.0.0-beta.1 + moment: ^2.29.4 + moment-timezone: ^0.5.43 + node-cache: ^5.1.2 + node-fetch: ^2.6.12 + node-notifier: ^10.0.1 + oauth-1.0a: ^2.2.6 + object-hash: ^3.0.0 + parse-static-imports: ^1.1.0 + prettier: ^3.2.4 + prom-client: ^14.2.0 + qs: ^6.11.1 + rudder-transformer-cdk: ^1.4.11 + semver: ^7.5.3 + set-value: ^4.1.0 + sha256: ^0.2.0 + sqlstring: ^2.3.3 + stacktrace-parser: ^0.1.10 + standard-version: ^9.5.0 + statsd-client: ^0.4.7 + supertest: ^6.3.3 + swagger-cli: ^4.0.4 + truncate-utf8-bytes: ^1.0.2 + ts-jest: ^29.1.0 + typescript: ^5.0.4 + ua-parser-js: ^1.0.37 + unset-value: ^2.0.1 + uuid: ^9.0.0 + valid-url: ^1.0.9 + zod: ^3.22.4 + +dependencies: + '@amplitude/ua-parser-js': 0.7.24 + '@aws-sdk/client-personalize': 3.577.0 + '@aws-sdk/client-s3': 3.577.0 + '@aws-sdk/credential-providers': 3.577.0 + '@aws-sdk/lib-storage': 3.577.0_@aws-sdk+client-s3@3.577.0 + '@bugsnag/js': 7.23.0 + '@datadog/pprof': 3.2.0 + '@koa/router': 12.0.1 + '@ndhoule/extend': 2.0.0 + '@pyroscope/nodejs': 0.2.9 + '@rudderstack/integrations-lib': 0.2.8_bogqjejckhzc4pprie7up4myem + '@rudderstack/workflow-engine': 0.7.5 + '@shopify/jest-koa-mocks': 5.1.1 + ajv: 8.13.0 + ajv-draft-04: 1.0.0_ajv@8.13.0 + ajv-formats: 2.1.1_ajv@8.13.0 + axios: 1.6.8 + btoa: 1.2.1 + component-each: 0.2.6 + crypto-js: 4.2.0 + dotenv: 16.4.5 + flat: 5.0.2 + form-data: 4.0.0 + get-value: 3.0.1 + handlebars: 4.7.8 + http-graceful-shutdown: 3.1.13 + https-proxy-agent: 5.0.1 + ioredis: 5.4.1 + is: 3.3.0 + is-ip: 3.1.0 + isolated-vm: 4.5.0 + js-sha1: 0.6.0 + json-diff: 1.0.6 + json-size: 1.0.0 + jsontoxml: 1.0.1 + koa: 2.15.3 + koa-bodyparser: 4.4.1 + koa2-swagger-ui: 5.10.0_@types+koa@2.15.0 + lodash: 4.17.21 + match-json: 1.3.7 + md5: 2.3.0 + modclean: 3.0.0-beta.1 + moment: 2.30.1 + moment-timezone: 0.5.45 + node-cache: 5.1.2 + node-fetch: 2.7.0 + oauth-1.0a: 2.2.6 + object-hash: 3.0.0 + parse-static-imports: 1.1.0 + prom-client: 14.2.0 + qs: 6.12.1 + rudder-transformer-cdk: 1.4.11 + set-value: 4.1.0 + sha256: 0.2.0 + sqlstring: 2.3.3 + stacktrace-parser: 0.1.10 + statsd-client: 0.4.7 + truncate-utf8-bytes: 1.0.2 + ua-parser-js: 1.0.37 + unset-value: 2.0.1 + uuid: 9.0.1 + valid-url: 1.0.9 + zod: 3.23.8 + +devDependencies: + '@commitlint/config-conventional': 17.8.1 + '@digitalroute/cz-conventional-changelog-for-jira': 8.0.1_w5wi72oywipdfmcf22arenepbq + '@types/fast-json-stable-stringify': 2.1.0 + '@types/jest': 29.5.12 + '@types/koa': 2.15.0 + '@types/koa-bodyparser': 4.3.12 + '@types/lodash': 4.17.1 + '@types/node': 20.12.12 + '@typescript-eslint/eslint-plugin': 5.62.0_eqgev5mhbd7uh3ohcoscoa2fpe + '@typescript-eslint/parser': 5.62.0_te743w6atip6hhlha3uq43n2xe + axios-mock-adapter: 1.22.0_axios@1.6.8 + benchmark-suite: 0.1.8 + commander: 10.0.1 + commitizen: 4.3.0_w5wi72oywipdfmcf22arenepbq + commitlint: 17.8.1 + conventional-github-releaser: 3.1.5 + eslint: 8.57.0 + eslint-config-airbnb-base: 15.0.0_jrbq5spb6ym3vlo5mnlvtmgpyy + eslint-config-airbnb-typescript: 17.1.0_bogqjejckhzc4pprie7up4myem + eslint-config-prettier: 8.10.0_eslint@8.57.0 + eslint-plugin-import: 2.29.1_bok4kcstaiu5mkejbz7cmlqj2q + eslint-plugin-json: 3.1.0 + eslint-plugin-prettier: 5.1.3_34agktnnehixwbhlg45dr5syfm + eslint-plugin-sonarjs: 0.19.0_eslint@8.57.0 + eslint-plugin-unicorn: 46.0.1_eslint@8.57.0 + glob: 10.3.15 + http-terminator: 3.2.0 + husky: 8.0.3 + jest: 29.7.0_hdaboqmynivzxn73q3ixcvbfym + jest-sonar: 0.2.16 + jest-when: 3.6.0_jest@29.7.0 + lint-staged: 13.3.0 + madge: 6.1.0_typescript@5.4.5 + mocked-env: 1.3.5 + node-notifier: 10.0.1 + prettier: 3.2.5 + semver: 7.6.2 + standard-version: 9.5.0 + supertest: 6.3.4 + swagger-cli: 4.0.4 + ts-jest: 29.1.2_efpzjt3ouzl3k5daexyworxca4 + typescript: 5.4.5 + +packages: + + /@amplitude/ua-parser-js/0.7.24: + resolution: {integrity: sha512-VbQuJymJ20WEw0HtI2np7EdC3NJGUWi8+Xdbc7uk8WfMIF308T0howpzkQ3JFMN7ejnrcSM/OyNGveeE3TP3TA==} + dev: false + + /@ampproject/remapping/2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@apidevtools/json-schema-ref-parser/9.0.6: + resolution: {integrity: sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==} + dependencies: + '@jsdevtools/ono': 7.1.3 + call-me-maybe: 1.0.2 + js-yaml: 3.14.1 + dev: true + + /@apidevtools/openapi-schemas/2.1.0: + resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==} + engines: {node: '>=10'} + dev: true + + /@apidevtools/swagger-cli/4.0.4: + resolution: {integrity: sha512-hdDT3B6GLVovCsRZYDi3+wMcB1HfetTU20l2DC8zD3iFRNMC6QNAZG5fo/6PYeHWBEv7ri4MvnlKodhNB0nt7g==} + engines: {node: '>=10'} + deprecated: This package has been abandoned. Please switch to using the actively maintained @redocly/cli + hasBin: true + dependencies: + '@apidevtools/swagger-parser': 10.1.0 + chalk: 4.1.2 + js-yaml: 3.14.1 + yargs: 15.4.1 + transitivePeerDependencies: + - openapi-types + dev: true + + /@apidevtools/swagger-methods/3.0.2: + resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} + dev: true + + /@apidevtools/swagger-parser/10.1.0: + resolution: {integrity: sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==} + peerDependencies: + openapi-types: '>=7' + dependencies: + '@apidevtools/json-schema-ref-parser': 9.0.6 + '@apidevtools/openapi-schemas': 2.1.0 + '@apidevtools/swagger-methods': 3.0.2 + '@jsdevtools/ono': 7.1.3 + ajv: 8.13.0 + ajv-draft-04: 1.0.0_ajv@8.13.0 + call-me-maybe: 1.0.2 + dev: true + + /@aws-crypto/crc32/3.0.0: + resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/crc32c/3.0.0: + resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/ie11-detection/3.0.0: + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} + dependencies: + tslib: 1.14.1 + dev: false + + /@aws-crypto/sha1-browser/3.0.0: + resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/sha256-browser/3.0.0: + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/sha256-js/3.0.0: + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/sha256-js/5.2.0: + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.577.0 + tslib: 2.6.2 + dev: false + + /@aws-crypto/supports-web-crypto/3.0.0: + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} + dependencies: + tslib: 1.14.1 + dev: false + + /@aws-crypto/util/3.0.0: + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + dev: false + + /@aws-crypto/util/5.2.0: + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/client-cognito-identity/3.577.0: + resolution: {integrity: sha512-y1fHORHoufrzj2GcnY52g4ykemFpT0Hu9e9kYa6yR0weQ0WalcG7WcnMNasXMcjr9fDjNze7ZCTuWJSI+HwkTQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.577.0 + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/core': 3.576.0 + '@aws-sdk/credential-provider-node': 3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.577.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/client-personalize/3.577.0: + resolution: {integrity: sha512-Ih3MA8gwYgqFS4mtBHw5RUeDQF8hPGPSo6ZLSEpfPbA8p7tQEZmtKjfIPltkwok5pc1X0o8wxq5wjcPEgotAVQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.577.0 + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/core': 3.576.0 + '@aws-sdk/credential-provider-node': 3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.577.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/client-s3/3.577.0: + resolution: {integrity: sha512-mQYXwn6E4Rwggn6teF6EIWJtK8jsKcxnPj2QVETkSmD8QaFLm4g/DgLPdamDE97UI8k1k0cmWqXcTOLIaZ7wQg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha1-browser': 3.0.0 + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.577.0 + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/core': 3.576.0 + '@aws-sdk/credential-provider-node': 3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24 + '@aws-sdk/middleware-bucket-endpoint': 3.577.0 + '@aws-sdk/middleware-expect-continue': 3.577.0 + '@aws-sdk/middleware-flexible-checksums': 3.577.0 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-location-constraint': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-sdk-s3': 3.577.0 + '@aws-sdk/middleware-signing': 3.577.0 + '@aws-sdk/middleware-ssec': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.577.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/signature-v4-multi-region': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0 + '@aws-sdk/xml-builder': 3.575.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/eventstream-serde-browser': 3.0.0 + '@smithy/eventstream-serde-config-resolver': 3.0.0 + '@smithy/eventstream-serde-node': 3.0.0 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-blob-browser': 3.0.0 + '@smithy/hash-node': 3.0.0 + '@smithy/hash-stream-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/md5-js': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-stream': 3.0.1 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/client-sso-oidc/3.577.0: + resolution: {integrity: sha512-njmKSPDWueWWYVFpFcZ2P3fI6/pdQVDa0FgCyYZhOnJLgEHZIcBBg1AsnkVWacBuLopp9XVt2m+7hO6ugY1/1g==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/core': 3.576.0 + '@aws-sdk/credential-provider-node': 3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.577.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/client-sso-oidc/3.577.0_gy26ppugetcmg3k7vzv2e3khs4: + resolution: {integrity: sha512-njmKSPDWueWWYVFpFcZ2P3fI6/pdQVDa0FgCyYZhOnJLgEHZIcBBg1AsnkVWacBuLopp9XVt2m+7hO6ugY1/1g==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/core': 3.576.0 + '@aws-sdk/credential-provider-node': 3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.577.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sts' + - aws-crt + dev: false + + /@aws-sdk/client-sso/3.577.0: + resolution: {integrity: sha512-BwujdXrydlk6UEyPmewm5GqG4nkQ6OVyRhS/SyZP/6UKSFv2/sf391Cmz0hN0itUTH1rR4XeLln8XCOtarkrzg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.576.0 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.577.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/client-sts/3.577.0: + resolution: {integrity: sha512-509Kklimva1XVlhGbpTpeX3kOP6ORpm44twJxDHpa9TURbmoaxj7veWlnLCbDorxDTrbsDghvYZshvcLsojVpg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/core': 3.576.0 + '@aws-sdk/credential-provider-node': 3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.577.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/core/3.576.0: + resolution: {integrity: sha512-KDvDlbeipSTIf+ffKtTg1m419TK7s9mZSWC8bvuZ9qx6/sjQFOXIKOVqyuli6DnfxGbvRcwoRuY99OcCH1N/0w==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/core': 2.0.1 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + fast-xml-parser: 4.2.5 + tslib: 2.6.2 + dev: false + + /@aws-sdk/credential-provider-cognito-identity/3.577.0: + resolution: {integrity: sha512-y5yo4RKQSIQEOGLMLziLh0MZ+CxLs2QmTRjh8PkL8ovy12FPyou9Ptr7hIDD5SnCsiItJful5qbmj9e2QSmozw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-cognito-identity': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/credential-provider-env/3.577.0: + resolution: {integrity: sha512-Jxu255j0gToMGEiqufP8ZtKI8HW90lOLjwJ3LrdlD/NLsAY0tOQf1fWc53u28hWmmNGMxmCrL2p66IOgMDhDUw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/credential-provider-http/3.577.0: + resolution: {integrity: sha512-n++yhCp67b9+ZRGEdY1jhamB5E/O+QsIDOPSuRmdaSGMCOd82oUEKPgIVEU1bkqxDsBxgiEWuvtfhK6sNiDS0A==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/node-http-handler': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-stream': 3.0.1 + tslib: 2.6.2 + dev: false + + /@aws-sdk/credential-provider-ini/3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24: + resolution: {integrity: sha512-q7lHPtv6BjRvChUE3m0tIaEZKxPTaZ1B3lKxGYsFl3VLAu5N8yGCUKwuA1izf4ucT+LyKscVGqK6VDZx1ev3nw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.577.0 + dependencies: + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.577.0_dmg6taqbkzaixj6jnajegftzrq + '@aws-sdk/credential-provider-web-identity': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + + /@aws-sdk/credential-provider-ini/3.577.0_gy26ppugetcmg3k7vzv2e3khs4: + resolution: {integrity: sha512-q7lHPtv6BjRvChUE3m0tIaEZKxPTaZ1B3lKxGYsFl3VLAu5N8yGCUKwuA1izf4ucT+LyKscVGqK6VDZx1ev3nw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.577.0 + dependencies: + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.577.0 + '@aws-sdk/credential-provider-web-identity': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + + /@aws-sdk/credential-provider-node/3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24: + resolution: {integrity: sha512-epZ1HOMsrXBNczc0HQpv0VMjqAEpc09DUA7Rg3gUJfn8umhML7A7bXnUyqPA+S54q397UYg1leQKdSn23OiwQQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-http': 3.577.0 + '@aws-sdk/credential-provider-ini': 3.577.0_4xyfpp5ry5tsz2bbplrt3rvb24 + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.577.0_dmg6taqbkzaixj6jnajegftzrq + '@aws-sdk/credential-provider-web-identity': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt + dev: false + + /@aws-sdk/credential-provider-node/3.577.0_gy26ppugetcmg3k7vzv2e3khs4: + resolution: {integrity: sha512-epZ1HOMsrXBNczc0HQpv0VMjqAEpc09DUA7Rg3gUJfn8umhML7A7bXnUyqPA+S54q397UYg1leQKdSn23OiwQQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-http': 3.577.0 + '@aws-sdk/credential-provider-ini': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.577.0 + '@aws-sdk/credential-provider-web-identity': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt + dev: false + + /@aws-sdk/credential-provider-process/3.577.0: + resolution: {integrity: sha512-Gin6BWtOiXxIgITrJ3Nwc+Y2P1uVT6huYR4EcbA/DJUPWyO0n9y5UFLewPvVbLkRn15JeEqErBLUrHclkiOKtw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/credential-provider-sso/3.577.0: + resolution: {integrity: sha512-iVm5SQvS7EgZTJsRaqUOmDQpBQPPPat42SCbWFvFQOLrl8qewq8OP94hFS5w2mP62zngeYzqhJnDel79HXbxew==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-sso': 3.577.0 + '@aws-sdk/token-providers': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + + /@aws-sdk/credential-provider-sso/3.577.0_dmg6taqbkzaixj6jnajegftzrq: + resolution: {integrity: sha512-iVm5SQvS7EgZTJsRaqUOmDQpBQPPPat42SCbWFvFQOLrl8qewq8OP94hFS5w2mP62zngeYzqhJnDel79HXbxew==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-sso': 3.577.0 + '@aws-sdk/token-providers': 3.577.0_dmg6taqbkzaixj6jnajegftzrq + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + + /@aws-sdk/credential-provider-web-identity/3.577.0_gy26ppugetcmg3k7vzv2e3khs4: + resolution: {integrity: sha512-ZGHGNRaCtJJmszb9UTnC7izNCtRUttdPlLdMkh41KPS32vfdrBDHs1JrpbZijItRj1xKuOXsiYSXLAaHGcLh8Q==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.577.0 + dependencies: + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/credential-providers/3.577.0: + resolution: {integrity: sha512-/fzdyyAetJxTPH8f2bh1UkcN48dScLb6LjBj9+wX2BHyKSZUal7+TqPTyme4f3pj1I1EeKhDIYKldR8YyMPIAg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-cognito-identity': 3.577.0 + '@aws-sdk/client-sso': 3.577.0 + '@aws-sdk/client-sts': 3.577.0 + '@aws-sdk/credential-provider-cognito-identity': 3.577.0 + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-http': 3.577.0 + '@aws-sdk/credential-provider-ini': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/credential-provider-node': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.577.0 + '@aws-sdk/credential-provider-web-identity': 3.577.0_gy26ppugetcmg3k7vzv2e3khs4 + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + + /@aws-sdk/lib-storage/3.577.0_@aws-sdk+client-s3@3.577.0: + resolution: {integrity: sha512-Gj+ND4DZv3yymx2OcQ5M1JXz+/4089ipuRxIGUjKcHn7/4bwNANtSutd7hZiHpGhwfUFXK3hrHSy9uKTbU61Zw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-s3': ^3.577.0 + dependencies: + '@aws-sdk/client-s3': 3.577.0 + '@smithy/abort-controller': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/smithy-client': 3.0.1 + buffer: 5.6.0 + events: 3.3.0 + stream-browserify: 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-bucket-endpoint/3.577.0: + resolution: {integrity: sha512-twlkNX2VofM6kHXzDEiJOiYCc9tVABe5cbyxMArRWscIsCWG9mamPhC77ezG4XsN9dFEwVdxEYD5Crpm/5EUiw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-arn-parser': 3.568.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-expect-continue/3.577.0: + resolution: {integrity: sha512-6dPp8Tv4F0of4un5IAyG6q++GrRrNQQ4P2NAMB1W0VO4JoEu1C8GievbbDLi88TFIFmtKpnHB0ODCzwnoe8JsA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-flexible-checksums/3.577.0: + resolution: {integrity: sha512-IHAUEipIfagjw92LV8SOSBiCF7ZnqfHcw14IkcZW2/mfrCy1Fh/k40MoS/t3Tro2tQ91rgQPwUoSgB/QCi2Org==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/crc32': 3.0.0 + '@aws-crypto/crc32c': 3.0.0 + '@aws-sdk/types': 3.577.0 + '@smithy/is-array-buffer': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-host-header/3.577.0: + resolution: {integrity: sha512-9ca5MJz455CODIVXs0/sWmJm7t3QO4EUa1zf8pE8grLpzf0J94bz/skDWm37Pli13T3WaAQBHCTiH2gUVfCsWg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-location-constraint/3.577.0: + resolution: {integrity: sha512-DKPTD2D2s+t2QUo/IXYtVa/6Un8GZ+phSTBkyBNx2kfZz4Kwavhl/JJzSqTV3GfCXkVdFu7CrjoX7BZ6qWeTUA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-logger/3.577.0: + resolution: {integrity: sha512-aPFGpGjTZcJYk+24bg7jT4XdIp42mFXSuPt49lw5KygefLyJM/sB0bKKqPYYivW0rcuZ9brQ58eZUNthrzYAvg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-recursion-detection/3.577.0: + resolution: {integrity: sha512-pn3ZVEd2iobKJlR3H+bDilHjgRnNrQ6HMmK9ZzZw89Ckn3Dcbv48xOv4RJvu0aU8SDLl/SNCxppKjeLDTPGBNA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-sdk-s3/3.577.0: + resolution: {integrity: sha512-/t8Shvy6lGIRdTEKG6hA8xy+oon/CDF5H8Ksms/cd/uvIy/MYbNjOJ/Arwk8H5W6LB4DP/1O+tOzOpGx1MCufA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-arn-parser': 3.568.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-signing/3.577.0: + resolution: {integrity: sha512-QS/dh3+NqZbXtY0j/DZ867ogP413pG5cFGqBy9OeOhDMsolcwLrQbi0S0c621dc1QNq+er9ffaMhZ/aPkyXXIg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-middleware': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-ssec/3.577.0: + resolution: {integrity: sha512-i2BPJR+rp8xmRVIGc0h1kDRFcM2J9GnClqqpc+NLSjmYadlcg4mPklisz9HzwFVcRPJ5XcGf3U4BYs5G8+iTyg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/middleware-user-agent/3.577.0: + resolution: {integrity: sha512-P55HAXgwmiHHpFx5JEPvOnAbfhN7v6sWv9PBQs+z2tC7QiBcPS0cdJR6PfV7J1n4VPK52/OnrK3l9VxdQ7Ms0g==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/region-config-resolver/3.577.0: + resolution: {integrity: sha512-4ChCFACNwzqx/xjg3zgFcW8Ali6R9C95cFECKWT/7CUM1D0MGvkclSH2cLarmHCmJgU6onKkJroFtWp0kHhgyg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/signature-v4-multi-region/3.577.0: + resolution: {integrity: sha512-mMykGRFBYmlDcMhdbhNM0z1JFUaYYZ8r9WV7Dd0T2PWELv2brSAjDAOBHdJLHObDMYRnM6H0/Y974qTl3icEcQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/middleware-sdk-s3': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/token-providers/3.577.0: + resolution: {integrity: sha512-0CkIZpcC3DNQJQ1hDjm2bdSy/Xjs7Ny5YvSsacasGOkNfk+FdkiQy6N67bZX3Zbc9KIx+Nz4bu3iDeNSNplnnQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sso-oidc': ^3.577.0 + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/token-providers/3.577.0_dmg6taqbkzaixj6jnajegftzrq: + resolution: {integrity: sha512-0CkIZpcC3DNQJQ1hDjm2bdSy/Xjs7Ny5YvSsacasGOkNfk+FdkiQy6N67bZX3Zbc9KIx+Nz4bu3iDeNSNplnnQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sso-oidc': ^3.577.0 + dependencies: + '@aws-sdk/client-sso-oidc': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/types/3.577.0: + resolution: {integrity: sha512-FT2JZES3wBKN/alfmhlo+3ZOq/XJ0C7QOZcDNrpKjB0kqYoKjhVKZ/Hx6ArR0czkKfHzBBEs6y40ebIHx2nSmA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/util-arn-parser/3.568.0: + resolution: {integrity: sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@aws-sdk/util-endpoints/3.577.0: + resolution: {integrity: sha512-FjuUz1Kdy4Zly2q/c58tpdqHd6z7iOdU/caYzoc8jwgAHBDBbIJNQLCU9hXJnPV2M8pWxQDyIZsoVwtmvErPzw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + '@smithy/util-endpoints': 2.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/util-locate-window/3.568.0: + resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@aws-sdk/util-user-agent-browser/3.577.0: + resolution: {integrity: sha512-zEAzHgR6HWpZOH7xFgeJLc6/CzMcx4nxeQolZxVZoB5pPaJd3CjyRhZN0xXeZB0XIRCWmb4yJBgyiugXLNMkLA==} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + bowser: 2.11.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/util-user-agent-node/3.577.0: + resolution: {integrity: sha512-XqvtFjbSMtycZTWVwDe8DRWovuoMbA54nhUoZwVU6rW9OSD6NZWGR512BUGHFaWzW0Wg8++Dj10FrKTG2XtqfA==} + engines: {node: '>=16.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/util-utf8-browser/3.259.0: + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + dependencies: + tslib: 2.6.2 + dev: false + + /@aws-sdk/xml-builder/3.575.0: + resolution: {integrity: sha512-cWgAwmbFYNCFzPwxL705+lWps0F3ZvOckufd2KKoEZUmtpVw9/txUXNrPySUXSmRTSRhoatIMABNfStWR043bQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@babel/code-frame/7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.5 + picocolors: 1.0.1 + + /@babel/compat-data/7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.24.5: + resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.24.5_@babel+core@7.24.5 + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + + /@babel/helper-compilation-targets/7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-environment-visitor/7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name/7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 + dev: true + + /@babel/helper-hoist-variables/7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@babel/helper-module-imports/7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@babel/helper-module-transforms/7.24.5_@babel+core@7.24.5: + resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + dev: true + + /@babel/helper-plugin-utils/7.24.5: + resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-simple-access/7.24.5: + resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@babel/helper-split-export-declaration/7.24.5: + resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@babel/helper-string-parser/7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier/7.24.5: + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option/7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers/7.24.5: + resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.24.5: + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + /@babel/parser/7.24.5: + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.24.5: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.24.5: + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.24.5: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.24.5: + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.24.5: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-jsx/7.24.1_@babel+core@7.24.5: + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.24.5: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.24.5: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.24.5: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.24.5: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.24.5: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.24.5: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.24.5: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/plugin-syntax-typescript/7.24.1_@babel+core@7.24.5: + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + + /@babel/template/7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + dev: true + + /@babel/traverse/7.24.5: + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.24.5: + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage/0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@bugsnag/browser/7.22.7: + resolution: {integrity: sha512-70jFkWKscK2osm7bnFbPLevrzHClrygM3UcKetKs/l81Xuzlxnu1SS3onN5OUl9kd9RN4XMFr46Pv5jSqWqImQ==} + dependencies: + '@bugsnag/core': 7.22.7 + dev: false + + /@bugsnag/core/7.22.7: + resolution: {integrity: sha512-9DPWBkkBjhFJc5dCFy/wVC3HE0Aw3ZiLJKjyAxgywSKbILgtpD+qT1Xe8sacWyxU92znamlZ8H8ziQOe7jhhbA==} + dependencies: + '@bugsnag/cuid': 3.1.1 + '@bugsnag/safe-json-stringify': 6.0.0 + error-stack-parser: 2.1.4 + iserror: 0.0.2 + stack-generator: 2.0.10 + dev: false + + /@bugsnag/cuid/3.1.1: + resolution: {integrity: sha512-d2z4b0rEo3chI07FNN1Xds8v25CNeekecU6FC/2Fs9MxY2EipkZTThVcV2YinMn8dvRUlViKOyC50evoUxg8tw==} + dev: false + + /@bugsnag/js/7.23.0: + resolution: {integrity: sha512-gnCpcv/v6p3CtbwwDuAjVYPPNq4NMVj4hp70MiB3OGJ+LmIS66CwElDiyvRMA8Ar6OzCF4joTeaNG5bD9cM41w==} + dependencies: + '@bugsnag/browser': 7.22.7 + '@bugsnag/node': 7.23.0 + dev: false + + /@bugsnag/node/7.23.0: + resolution: {integrity: sha512-eXA8/h+J2booEMlKsuRl1NAszebwm4KZ9zxCSg/xN4sw5boXia7kMifLf8QTqk+UBtIhNKBsyQQKHXbawKyE6Q==} + dependencies: + '@bugsnag/core': 7.22.7 + byline: 5.0.0 + error-stack-parser: 2.1.4 + iserror: 0.0.2 + pump: 3.0.0 + stack-generator: 2.0.10 + dev: false + + /@bugsnag/safe-json-stringify/6.0.0: + resolution: {integrity: sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA==} + dev: false + + /@colors/colors/1.6.0: + resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} + engines: {node: '>=0.1.90'} + dev: false + + /@commitlint/cli/17.8.1: + resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/format': 17.8.1 + '@commitlint/lint': 17.8.1 + '@commitlint/load': 17.8.1 + '@commitlint/read': 17.8.1 + '@commitlint/types': 17.8.1 + execa: 5.1.1 + lodash.isfunction: 3.0.9 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/config-conventional/17.8.1: + resolution: {integrity: sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==} + engines: {node: '>=v14'} + dependencies: + conventional-changelog-conventionalcommits: 6.1.0 + dev: true + + /@commitlint/config-validator/17.8.1: + resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + ajv: 8.13.0 + dev: true + + /@commitlint/config-validator/19.0.3: + resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==} + engines: {node: '>=v18'} + requiresBuild: true + dependencies: + '@commitlint/types': 19.0.3 + ajv: 8.13.0 + dev: true + optional: true + + /@commitlint/ensure/17.8.1: + resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 + dev: true + + /@commitlint/execute-rule/17.8.1: + resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/execute-rule/19.0.0: + resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} + engines: {node: '>=v18'} + requiresBuild: true + dev: true + optional: true + + /@commitlint/format/17.8.1: + resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + chalk: 4.1.2 + dev: true + + /@commitlint/is-ignored/17.8.1: + resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + semver: 7.5.4 + dev: true + + /@commitlint/lint/17.8.1: + resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/is-ignored': 17.8.1 + '@commitlint/parse': 17.8.1 + '@commitlint/rules': 17.8.1 + '@commitlint/types': 17.8.1 + dev: true + + /@commitlint/load/17.8.1: + resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.8.1 + '@commitlint/execute-rule': 17.8.1 + '@commitlint/resolve-extends': 17.8.1 + '@commitlint/types': 17.8.1 + '@types/node': 20.5.1 + chalk: 4.1.2 + cosmiconfig: 8.3.6_typescript@5.4.5 + cosmiconfig-typescript-loader: 4.4.0_kioclk32mugx7d2j6nzs5ptp7i + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + resolve-from: 5.0.0 + ts-node: 10.9.2_ydwk4y56plfwtmdx45tnn2rbcm + typescript: 5.4.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/load/19.2.0_w5wi72oywipdfmcf22arenepbq: + resolution: {integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==} + engines: {node: '>=v18'} + requiresBuild: true + dependencies: + '@commitlint/config-validator': 19.0.3 + '@commitlint/execute-rule': 19.0.0 + '@commitlint/resolve-extends': 19.1.0 + '@commitlint/types': 19.0.3 + chalk: 5.3.0 + cosmiconfig: 9.0.0_typescript@5.4.5 + cosmiconfig-typescript-loader: 5.0.0_crfasrahddmg5duqgfkzmskob4 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - '@types/node' + - typescript + dev: true + optional: true + + /@commitlint/message/17.8.1: + resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/parse/17.8.1: + resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + conventional-changelog-angular: 6.0.0 + conventional-commits-parser: 4.0.0 + dev: true + + /@commitlint/read/17.8.1: + resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/top-level': 17.8.1 + '@commitlint/types': 17.8.1 + fs-extra: 11.2.0 + git-raw-commits: 2.0.11 + minimist: 1.2.8 + dev: true + + /@commitlint/resolve-extends/17.8.1: + resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.8.1 + '@commitlint/types': 17.8.1 + import-fresh: 3.3.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + dev: true + + /@commitlint/resolve-extends/19.1.0: + resolution: {integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==} + engines: {node: '>=v18'} + requiresBuild: true + dependencies: + '@commitlint/config-validator': 19.0.3 + '@commitlint/types': 19.0.3 + global-directory: 4.0.1 + import-meta-resolve: 4.1.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + dev: true + optional: true + + /@commitlint/rules/17.8.1: + resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/ensure': 17.8.1 + '@commitlint/message': 17.8.1 + '@commitlint/to-lines': 17.8.1 + '@commitlint/types': 17.8.1 + execa: 5.1.1 + dev: true + + /@commitlint/to-lines/17.8.1: + resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/top-level/17.8.1: + resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==} + engines: {node: '>=v14'} + dependencies: + find-up: 5.0.0 + dev: true + + /@commitlint/types/17.8.1: + resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==} + engines: {node: '>=v14'} + dependencies: + chalk: 4.1.2 + dev: true + + /@commitlint/types/19.0.3: + resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} + engines: {node: '>=v18'} + requiresBuild: true + dependencies: + '@types/conventional-commits-parser': 5.0.0 + chalk: 5.3.0 + dev: true + optional: true + + /@cspotcode/source-map-support/0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@dabh/diagnostics/2.0.3: + resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} + dependencies: + colorspace: 1.1.4 + enabled: 2.0.0 + kuler: 2.0.0 + dev: false + + /@datadog/pprof/3.2.0: + resolution: {integrity: sha512-kOhWHCWB80djnMCr5KNKBAy1Ih/jK/PIj6yqnZwL1Wqni/h6IBPRUMhtIxcYJMRgsZVYrFXUV20AVXTZCzFokw==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + delay: 5.0.0 + node-gyp-build: 3.9.0 + p-limit: 3.1.0 + pprof-format: 2.1.0 + source-map: 0.7.4 + dev: false + + /@dependents/detective-less/3.0.2: + resolution: {integrity: sha512-1YUvQ+e0eeTWAHoN8Uz2x2U37jZs6IGutiIE5LXId7cxfUGhtZjzxE06FdUiuiRrW+UE0vNCdSNPH2lY4dQCOQ==} + engines: {node: '>=12'} + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 5.0.2 + dev: true + + /@digitalroute/cz-conventional-changelog-for-jira/8.0.1_w5wi72oywipdfmcf22arenepbq: + resolution: {integrity: sha512-I7uNQ2R5LnDYVhQ01sfNvaxqe1PutXyDl8Kltj4L8uDa1LTYqQgWWp3yEj3XYDNjhUjsAheHW0lsmF1oiAjWVg==} + engines: {node: '>= 10'} + dependencies: + boxen: 5.1.2 + chalk: 2.4.2 + commitizen: 4.3.0_w5wi72oywipdfmcf22arenepbq + cz-conventional-changelog: 3.3.0_w5wi72oywipdfmcf22arenepbq + inquirer: 8.2.6 + lodash.map: 4.6.0 + longest: 2.0.1 + right-pad: 1.0.1 + word-wrap: 1.2.5 + optionalDependencies: + '@commitlint/load': 19.2.0_w5wi72oywipdfmcf22arenepbq + transitivePeerDependencies: + - '@types/node' + - typescript + dev: true + + /@eslint-community/eslint-utils/4.4.0_eslint@8.57.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + /@eslint-community/regexpp/4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + /@eslint/eslintrc/2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + /@eslint/js/8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@ewoudenberg/difflib/0.1.0: + resolution: {integrity: sha512-OU5P5mJyD3OoWYMWY+yIgwvgNS9cFAU10f+DDuvtogcWQOoJIsQ4Hy2McSfUfhKjq8L0FuWVb4Rt7kgA+XK86A==} + dependencies: + heap: 0.2.7 + dev: false + + /@hapi/hoek/9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + dev: false + + /@hapi/topo/5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: false + + /@humanwhocodes/config-array/0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + /@humanwhocodes/object-schema/2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + + /@hutson/parse-repository-url/3.0.2: + resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} + engines: {node: '>=6.9.0'} + dev: true + + /@ioredis/commands/1.2.0: + resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} + dev: false + + /@isaacs/cliui/8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width/4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi/6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi/7.0.0 + dev: true + + /@istanbuljs/load-nyc-config/1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console/29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/core/29.7.0_node-notifier@10.0.1: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0_node-notifier@10.0.1 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0_@types+node@20.12.12 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + node-notifier: 10.0.1 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /@jest/environment/29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + jest-mock: 29.7.0 + dev: true + + /@jest/expect-utils/29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + dev: true + + /@jest/expect/29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers/29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.12.12 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + dev: true + + /@jest/globals/29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters/29.7.0_node-notifier@10.0.1: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 20.12.12 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + node-notifier: 10.0.1 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas/29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/source-map/29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + dev: true + + /@jest/test-result/29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + dev: true + + /@jest/test-sequencer/29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/transform/29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.24.5 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.5 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types/29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.12.12 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping/0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri/3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping/0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping/0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jsdevtools/ono/7.1.3: + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + dev: true + + /@koa/router/12.0.1: + resolution: {integrity: sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==} + engines: {node: '>= 12'} + dependencies: + debug: 4.3.4 + http-errors: 2.0.0 + koa-compose: 4.1.0 + methods: 1.1.2 + path-to-regexp: 6.2.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@mapbox/node-pre-gyp/1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + dependencies: + detect-libc: 2.0.3 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.6.2 + tar: 6.2.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@ndhoule/extend/2.0.0: + resolution: {integrity: sha512-xb77tVVGDGwjy25a6RmBiiBQ9uvxhkG0OEpVkQ74oNFsy9u+4PGp5BIIblmJZmJBMgXiKxZtkr4GcmHCNVubBQ==} + dev: false + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat/2.0.5: + 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'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + /@pkgjs/parseargs/0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pkgr/core/0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@protobufjs/aspromise/1.1.2: + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + dev: false + + /@protobufjs/base64/1.1.2: + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + dev: false + + /@protobufjs/codegen/2.0.4: + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + dev: false + + /@protobufjs/eventemitter/1.1.0: + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + dev: false + + /@protobufjs/fetch/1.1.0: + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + dev: false + + /@protobufjs/float/1.0.2: + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + dev: false + + /@protobufjs/inquire/1.1.0: + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + dev: false + + /@protobufjs/path/1.1.2: + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + dev: false + + /@protobufjs/pool/1.1.0: + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + dev: false + + /@protobufjs/utf8/1.1.0: + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + dev: false + + /@pyroscope/nodejs/0.2.9: + resolution: {integrity: sha512-pIw4pIqcNZTZxTUuV0OUI18UZEmx9lT2GaT75ny6FKVe2L1gxAwTCf5TKk8VsnUGY66buUkyaTHcTm7fy0BP/Q==} + engines: {node: '>=v18'} + dependencies: + axios: 0.28.1_debug@4.3.4 + debug: 4.3.4 + form-data: 4.0.0 + pprof: 4.0.0 + regenerator-runtime: 0.13.11 + source-map: 0.7.4 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@rudderstack/integrations-lib/0.2.8_bogqjejckhzc4pprie7up4myem: + resolution: {integrity: sha512-5CJoFFCRDhG7busCGVktKqEEXO0DbFqJ56TOT+jyDdoTf8sZ7SsSJ4NCZYmSplZrbQGj2R+aArnQnpxA4hPGmA==} + dependencies: + axios: 1.6.8 + axios-mock-adapter: 1.22.0_axios@1.6.8 + crypto: 1.0.1 + eslint-config-airbnb-base: 15.0.0_jrbq5spb6ym3vlo5mnlvtmgpyy + eslint-config-airbnb-typescript: 17.1.0_bogqjejckhzc4pprie7up4myem + get-value: 3.0.1 + handlebars: 4.7.8 + lodash: 4.17.21 + moment: 2.30.1 + moment-timezone: 0.5.45 + set-value: 4.1.0 + sha256: 0.2.0 + tslib: 2.6.2 + winston: 3.13.0 + transitivePeerDependencies: + - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - debug + - eslint + - eslint-plugin-import + dev: false + + /@rudderstack/json-template-engine/0.8.5: + resolution: {integrity: sha512-+iH40g+ZA2ANgwjOITdEdZJLZV+ljR28Akn/dRoDia591tMu7PptyvDaAvl+m1DijWXddpLQ8SX9xaEcIdmqlw==} + dev: false + + /@rudderstack/workflow-engine/0.7.5: + resolution: {integrity: sha512-HmhxiF/gZorrEEmVvQYopIN6xicQ7kr0mHtw2fPqXmHIFLr9MnEyefo4+MPw/Re9iNFbXNQC9uKkYd7lLHbAyw==} + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@rudderstack/json-template-engine': 0.8.5 + jsonata: 2.0.5 + lodash: 4.17.21 + object-sizeof: 2.6.4 + yaml: 2.4.2 + dev: false + + /@shopify/jest-koa-mocks/5.1.1: + resolution: {integrity: sha512-H1dRznXIK03ph1l/VDBQ5ef+A9kkEn3ikNfk70zwm9auW15MfHfY9gekE99VecxUSekws7sbFte0i8ltWCS4/g==} + engines: {node: ^14.17.0 || >=16.0.0} + dependencies: + koa: 2.15.3 + node-mocks-http: 1.14.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@sideway/address/4.1.5: + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: false + + /@sideway/formula/3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + dev: false + + /@sideway/pinpoint/2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + dev: false + + /@sinclair/typebox/0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sindresorhus/is/0.7.0: + resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} + engines: {node: '>=4'} + dev: true + + /@sinonjs/commons/3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers/10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + dependencies: + '@sinonjs/commons': 3.0.1 + dev: true + + /@smithy/abort-controller/3.0.0: + resolution: {integrity: sha512-p6GlFGBt9K4MYLu72YuJ523NVR4A8oHlC5M2JO6OmQqN8kAc/uh1JqLE+FizTokrSJGg0CSvC+BrsmGzKtsZKA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/chunked-blob-reader-native/3.0.0: + resolution: {integrity: sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==} + dependencies: + '@smithy/util-base64': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/chunked-blob-reader/3.0.0: + resolution: {integrity: sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/config-resolver/3.0.0: + resolution: {integrity: sha512-2GzOfADwYLQugYkKQhIyZyQlM05K+tMKvRnc6eFfZcpJGRfKoMUMYdPlBKmqHwQFXQKBrGV6cxL9oymWgDzvFw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/core/2.0.1: + resolution: {integrity: sha512-rcMkjvwxH/bER+oZUPR0yTA0ELD6m3A+d92+CFkdF6HJFCBB1bXo7P5pm21L66XwTN01B6bUhSCQ7cymWRD8zg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-middleware': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/credential-provider-imds/3.0.0: + resolution: {integrity: sha512-lfmBiFQcA3FsDAPxNfY0L7CawcWtbyWsBOHo34nF095728JLkBX4Y9q/VPPE2r7fqMVK+drmDigqE2/SSQeVRA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/eventstream-codec/3.0.0: + resolution: {integrity: sha512-PUtyEA0Oik50SaEFCZ0WPVtF9tz/teze2fDptW6WRXl+RrEenH8UbEjudOz8iakiMl3lE3lCVqYf2Y+znL8QFQ==} + dependencies: + '@aws-crypto/crc32': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/eventstream-serde-browser/3.0.0: + resolution: {integrity: sha512-NB7AFiPN4NxP/YCAnrvYR18z2/ZsiHiF7VtG30gshO9GbFrIb1rC8ep4NGpJSWrz6P64uhPXeo4M0UsCLnZKqw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/eventstream-serde-universal': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/eventstream-serde-config-resolver/3.0.0: + resolution: {integrity: sha512-RUQG3vQ3LX7peqqHAbmayhgrF5aTilPnazinaSGF1P0+tgM3vvIRWPHmlLIz2qFqB9LqFIxditxc8O2Z6psrRw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/eventstream-serde-node/3.0.0: + resolution: {integrity: sha512-baRPdMBDMBExZXIUAoPGm/hntixjt/VFpU6+VmCyiYJYzRHRxoaI1MN+5XE+hIS8AJ2GCHLMFEIOLzq9xx1EgQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/eventstream-serde-universal': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/eventstream-serde-universal/3.0.0: + resolution: {integrity: sha512-HNFfShmotWGeAoW4ujP8meV9BZavcpmerDbPIjkJbxKbN8RsUcpRQ/2OyIxWNxXNH2GWCAxuSB7ynmIGJlQ3Dw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/eventstream-codec': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/fetch-http-handler/3.0.1: + resolution: {integrity: sha512-uaH74i5BDj+rBwoQaXioKpI0SHBJFtOVwzrCpxZxphOW0ki5jhj7dXvDMYM2IJem8TpdFvS2iC08sjOblfFGFg==} + dependencies: + '@smithy/protocol-http': 4.0.0 + '@smithy/querystring-builder': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-base64': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/hash-blob-browser/3.0.0: + resolution: {integrity: sha512-/Wbpdg+bwJvW7lxR/zpWAc1/x/YkcqguuF2bAzkJrvXriZu1vm8r+PUdE4syiVwQg7PPR2dXpi3CLBb9qRDaVQ==} + dependencies: + '@smithy/chunked-blob-reader': 3.0.0 + '@smithy/chunked-blob-reader-native': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/hash-node/3.0.0: + resolution: {integrity: sha512-84qXstNemP3XS5jcof0el6+bDfjzuvhJPQTEfro3lgtbCtKgzPm3MgiS6ehXVPjeQ5+JS0HqmTz8f/RYfzHVxw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/hash-stream-node/3.0.0: + resolution: {integrity: sha512-J0i7de+EgXDEGITD4fxzmMX8CyCNETTIRXlxjMiNUvvu76Xn3GJ31wQR85ynlPk2wI1lqoknAFJaD1fiNDlbIA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/invalid-dependency/3.0.0: + resolution: {integrity: sha512-F6wBBaEFgJzj0s4KUlliIGPmqXemwP6EavgvDqYwCH40O5Xr2iMHvS8todmGVZtuJCorBkXsYLyTu4PuizVq5g==} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/is-array-buffer/2.2.0: + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/is-array-buffer/3.0.0: + resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/md5-js/3.0.0: + resolution: {integrity: sha512-Tm0vrrVzjlD+6RCQTx7D3Ls58S3FUH1ZCtU1MIh/qQmaOo1H9lMN2as6CikcEwgattnA9SURSdoJJ27xMcEfMA==} + dependencies: + '@smithy/types': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/middleware-content-length/3.0.0: + resolution: {integrity: sha512-3C4s4d/iGobgCtk2tnWW6+zSTOBg1PRAm2vtWZLdriwTroFbbWNSr3lcyzHdrQHnEXYCC5K52EbpfodaIUY8sg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/middleware-endpoint/3.0.0: + resolution: {integrity: sha512-aXOAWztw/5qAfp0NcA2OWpv6ZI/E+Dh9mByif7i91D/0iyYNUcKvskmXiowKESFkuZ7PIMd3VOR4fTibZDs2OQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/middleware-serde': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-middleware': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/middleware-retry/3.0.1: + resolution: {integrity: sha512-hBhSEuL841FhJBK/19WpaGk5YWSzFk/P2UaVjANGKRv3eYNO8Y1lANWgqnuPWjOyCEWMPr58vELFDWpxvRKANw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/service-error-classification': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + tslib: 2.6.2 + uuid: 9.0.1 + dev: false + + /@smithy/middleware-serde/3.0.0: + resolution: {integrity: sha512-I1vKG1foI+oPgG9r7IMY1S+xBnmAn1ISqployvqkwHoSb8VPsngHDTOgYGYBonuOKndaWRUGJZrKYYLB+Ane6w==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/middleware-stack/3.0.0: + resolution: {integrity: sha512-+H0jmyfAyHRFXm6wunskuNAqtj7yfmwFB6Fp37enytp2q047/Od9xetEaUbluyImOlGnGpaVGaVfjwawSr+i6Q==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/node-config-provider/3.0.0: + resolution: {integrity: sha512-buqfaSdDh0zo62EPLf8rGDvcpKwGpO5ho4bXS2cdFhlOta7tBkWJt+O5uiaAeICfIOfPclNOndshDNSanX2X9g==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/node-http-handler/3.0.0: + resolution: {integrity: sha512-3trD4r7NOMygwLbUJo4eodyQuypAWr7uvPnebNJ9a70dQhVn+US8j/lCnvoJS6BXfZeF7PkkkI0DemVJw+n+eQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/abort-controller': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/querystring-builder': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/property-provider/3.0.0: + resolution: {integrity: sha512-LmbPgHBswdXCrkWWuUwBm9w72S2iLWyC/5jet9/Y9cGHtzqxi+GVjfCfahkvNV4KXEwgnH8EMpcrD9RUYe0eLQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/protocol-http/4.0.0: + resolution: {integrity: sha512-qOQZOEI2XLWRWBO9AgIYuHuqjZ2csyr8/IlgFDHDNuIgLAMRx2Bl8ck5U5D6Vh9DPdoaVpuzwWMa0xcdL4O/AQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/querystring-builder/3.0.0: + resolution: {integrity: sha512-bW8Fi0NzyfkE0TmQphDXr1AmBDbK01cA4C1Z7ggwMAU5RDz5AAv/KmoRwzQAS0kxXNf/D2ALTEgwK0U2c4LtRg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + '@smithy/util-uri-escape': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/querystring-parser/3.0.0: + resolution: {integrity: sha512-UzHwthk0UEccV4dHzPySnBy34AWw3V9lIqUTxmozQ+wPDAO9csCWMfOLe7V9A2agNYy7xE+Pb0S6K/J23JSzfQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/service-error-classification/3.0.0: + resolution: {integrity: sha512-3BsBtOUt2Gsnc3X23ew+r2M71WwtpHfEDGhHYHSDg6q1t8FrWh15jT25DLajFV1H+PpxAJ6gqe9yYeRUsmSdFA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + dev: false + + /@smithy/shared-ini-file-loader/3.0.0: + resolution: {integrity: sha512-REVw6XauXk8xE4zo5aGL7Rz4ywA8qNMUn8RtWeTRQsgAlmlvbJ7CEPBcaXU2NDC3AYBgYAXrGyWD8XrN8UGDog==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/signature-v4/3.0.0: + resolution: {integrity: sha512-kXFOkNX+BQHe2qnLxpMEaCRGap9J6tUGLzc3A9jdn+nD4JdMwCKTJ+zFwQ20GkY+mAXGatyTw3HcoUlR39HwmA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/is-array-buffer': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-uri-escape': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/smithy-client/3.0.1: + resolution: {integrity: sha512-KAiFY4Y4jdHxR+4zerH/VBhaFKM8pbaVmJZ/CWJRwtM/CmwzTfXfvYwf6GoUwiHepdv+lwiOXCuOl6UBDUEINw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-stream': 3.0.1 + tslib: 2.6.2 + dev: false + + /@smithy/types/3.0.0: + resolution: {integrity: sha512-VvWuQk2RKFuOr98gFhjca7fkBS+xLLURT8bUjk5XQoV0ZLm7WPwWPPY3/AwzTLuUBDeoKDCthfe1AsTUWaSEhw==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/url-parser/3.0.0: + resolution: {integrity: sha512-2XLazFgUu+YOGHtWihB3FSLAfCUajVfNBXGGYjOaVKjLAuAxx3pSBY3hBgLzIgB17haf59gOG3imKqTy8mcrjw==} + dependencies: + '@smithy/querystring-parser': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-base64/3.0.0: + resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-body-length-browser/3.0.0: + resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/util-body-length-node/3.0.0: + resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/util-buffer-from/2.2.0: + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-buffer-from/3.0.0: + resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/is-array-buffer': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-config-provider/3.0.0: + resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/util-defaults-mode-browser/3.0.1: + resolution: {integrity: sha512-nW5kEzdJn1Bn5TF+gOPHh2rcPli8JU9vSSXLbfg7uPnfR1TMRQqs9zlYRhIb87NeSxIbpdXOI94tvXSy+fvDYg==} + engines: {node: '>= 10.0.0'} + dependencies: + '@smithy/property-provider': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + bowser: 2.11.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-defaults-mode-node/3.0.1: + resolution: {integrity: sha512-TFk+Qb+elLc/MOhtSp+50fstyfZ6avQbgH2d96xUBpeScu+Al9elxv+UFAjaTHe0HQe5n+wem8ZLpXvU8lwV6Q==} + engines: {node: '>= 10.0.0'} + dependencies: + '@smithy/config-resolver': 3.0.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-endpoints/2.0.0: + resolution: {integrity: sha512-+exaXzEY3DNt2qtA2OtRNSDlVrE4p32j1JSsQkzA5AdP0YtJNjkYbYhJxkFmPYcjI1abuwopOZCwUmv682QkiQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-hex-encoding/3.0.0: + resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/util-middleware/3.0.0: + resolution: {integrity: sha512-q5ITdOnV2pXHSVDnKWrwgSNTDBAMHLptFE07ua/5Ty5WJ11bvr0vk2a7agu7qRhrCFRQlno5u3CneU5EELK+DQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-retry/3.0.0: + resolution: {integrity: sha512-nK99bvJiziGv/UOKJlDvFF45F00WgPLKVIGUfAK+mDhzVN2hb/S33uW2Tlhg5PVBoqY7tDVqL0zmu4OxAHgo9g==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/service-error-classification': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-stream/3.0.1: + resolution: {integrity: sha512-7F7VNNhAsfMRA8I986YdOY5fE0/T1/ZjFF6OLsqkvQVNP3vZ/szYDfGCyphb7ioA09r32K/0qbSFfNFU68aSzA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/node-http-handler': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-uri-escape/3.0.0: + resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + + /@smithy/util-utf8/2.3.0: + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-utf8/3.0.0: + resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/util-buffer-from': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-waiter/3.0.0: + resolution: {integrity: sha512-+fEXJxGDLCoqRKVSmo0auGxaqbiCo+8oph+4auefYjaNxjOLKSY2MxVQfRzo65PaZv4fr+5lWg+au7vSuJJ/zw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/abort-controller': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: false + + /@tsconfig/node10/1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + dev: true + + /@tsconfig/node12/1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14/1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16/1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + + /@types/accepts/1.3.7: + resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} + dependencies: + '@types/node': 20.12.12 + + /@types/babel__core/7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + dev: true + + /@types/babel__generator/7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@types/babel__template/7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + dev: true + + /@types/babel__traverse/7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@types/body-parser/1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.12.12 + + /@types/connect/3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.12.12 + + /@types/content-disposition/0.5.8: + resolution: {integrity: sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==} + + /@types/conventional-commits-parser/5.0.0: + resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} + requiresBuild: true + dependencies: + '@types/node': 20.12.12 + dev: true + optional: true + + /@types/cookies/0.9.0: + resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==} + dependencies: + '@types/connect': 3.4.38 + '@types/express': 4.17.21 + '@types/keygrip': 1.0.6 + '@types/node': 20.12.12 + + /@types/express-serve-static-core/4.19.0: + resolution: {integrity: sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==} + dependencies: + '@types/node': 20.12.12 + '@types/qs': 6.9.15 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + /@types/express/4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.0 + '@types/qs': 6.9.15 + '@types/serve-static': 1.15.7 + + /@types/fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-IyNhGHu71jH1jCXTHmafuoAAdsbBON3kDh7u/UUhLmjYgN5TYB54e1R8ckTCiIevl2UuZaCsi9XRxineY5yUjw==} + deprecated: This is a stub types definition. fast-json-stable-stringify provides its own type definitions, so you do not need this installed. + dependencies: + fast-json-stable-stringify: 2.1.0 + dev: true + + /@types/graceful-fs/4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + dependencies: + '@types/node': 20.12.12 + dev: true + + /@types/http-assert/1.5.5: + resolution: {integrity: sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==} + + /@types/http-errors/2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + /@types/istanbul-lib-coverage/2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/istanbul-lib-report/3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + dev: true + + /@types/istanbul-reports/3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 + dev: true + + /@types/jest/29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /@types/json-schema/7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + /@types/json5/0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + /@types/keygrip/1.0.6: + resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==} + + /@types/keyv/3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 20.12.12 + dev: true + + /@types/koa-bodyparser/4.3.12: + resolution: {integrity: sha512-hKMmRMVP889gPIdLZmmtou/BijaU1tHPyMNmcK7FAHAdATnRcGQQy78EqTTxLH1D4FTsrxIzklAQCso9oGoebQ==} + dependencies: + '@types/koa': 2.15.0 + dev: true + + /@types/koa-compose/3.2.8: + resolution: {integrity: sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==} + dependencies: + '@types/koa': 2.15.0 + + /@types/koa/2.15.0: + resolution: {integrity: sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==} + dependencies: + '@types/accepts': 1.3.7 + '@types/content-disposition': 0.5.8 + '@types/cookies': 0.9.0 + '@types/http-assert': 1.5.5 + '@types/http-errors': 2.0.4 + '@types/keygrip': 1.0.6 + '@types/koa-compose': 3.2.8 + '@types/node': 20.12.12 + + /@types/lodash/4.17.1: + resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==} + dev: true + + /@types/mime/1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + /@types/minimist/1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + dev: true + + /@types/node/20.12.12: + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} + dependencies: + undici-types: 5.26.5 + + /@types/node/20.5.1: + resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} + dev: true + + /@types/normalize-package-data/2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + /@types/qs/6.9.15: + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + /@types/range-parser/1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + /@types/responselike/1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + dependencies: + '@types/node': 20.12.12 + dev: true + + /@types/semver/7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + /@types/send/0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.12.12 + + /@types/serve-static/1.15.7: + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 20.12.12 + '@types/send': 0.17.4 + + /@types/stack-utils/2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/triple-beam/1.3.5: + resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} + dev: false + + /@types/yargs-parser/21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true + + /@types/yargs/17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: true + + /@typescript-eslint/eslint-plugin/5.62.0_eqgev5mhbd7uh3ohcoscoa2fpe: + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0_te743w6atip6hhlha3uq43n2xe + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0_te743w6atip6hhlha3uq43n2xe + '@typescript-eslint/utils': 5.62.0_te743w6atip6hhlha3uq43n2xe + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare-lite: 1.4.0 + semver: 7.6.2 + tsutils: 3.21.0_typescript@5.4.5 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/parser/5.62.0_te743w6atip6hhlha3uq43n2xe: + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@5.4.5 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/scope-manager/5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + + /@typescript-eslint/type-utils/5.62.0_te743w6atip6hhlha3uq43n2xe: + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0_typescript@5.4.5 + '@typescript-eslint/utils': 5.62.0_te743w6atip6hhlha3uq43n2xe + debug: 4.3.4 + eslint: 8.57.0 + tsutils: 3.21.0_typescript@5.4.5 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/types/4.33.0: + resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dev: true + + /@typescript-eslint/types/5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@typescript-eslint/typescript-estree/4.33.0_typescript@3.9.10: + resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/visitor-keys': 4.33.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.2 + tsutils: 3.21.0_typescript@3.9.10 + typescript: 3.9.10 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree/5.62.0_typescript@4.9.5: + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.2 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree/5.62.0_typescript@5.4.5: + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.2 + tsutils: 3.21.0_typescript@5.4.5 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/utils/5.62.0_te743w6atip6hhlha3uq43n2xe: + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@5.4.5 + eslint: 8.57.0 + eslint-scope: 5.1.1 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + - typescript + + /@typescript-eslint/visitor-keys/4.33.0: + resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dependencies: + '@typescript-eslint/types': 4.33.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /@typescript-eslint/visitor-keys/5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + + /@ungap/structured-clone/1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + /JSONStream/1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + dev: true + + /abbrev/1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: false + + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: false + + /acorn-jsx/5.3.2_acorn@8.11.3: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + + /acorn-walk/8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn/8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + /add-stream/1.0.0: + resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} + dev: true + + /agent-base/6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /ajv-draft-04/1.0.0_ajv@8.13.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.13.0 + + /ajv-formats/2.1.1_ajv@8.13.0: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.13.0 + dev: false + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + /ajv/8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + /ansi-align/3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: true + + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-escapes/5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /ansi-regex/3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + dev: false + + /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'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /ansi-styles/6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + 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 + + /app-module-path/2.2.0: + resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} + dev: true + + /aproba/2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + dev: false + + /are-we-there-yet/2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + + /arg/4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + /array-buffer-byte-length/1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + + /array-find-index/1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + dev: true + + /array-ify/1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + + /array-includes/3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + /array.prototype.findlastindex/1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + /array.prototype.flat/1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + /array.prototype.flatmap/1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + /arraybuffer.prototype.slice/1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + + /arrify/1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /asap/2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: true + + /ast-module-types/2.7.1: + resolution: {integrity: sha512-Rnnx/4Dus6fn7fTqdeLEAn5vUll5w7/vts0RN608yFa6si/rDOUonlIIiwugHBFWjylHjxm9owoSZn71KwG4gw==} + dev: true + + /ast-module-types/3.0.0: + resolution: {integrity: sha512-CMxMCOCS+4D+DkOQfuZf+vLrSEmY/7xtORwdxs4wtcC1wVgvk2MqFFTwQCFhvWsI4KPU9lcWXPI8DgRiz+xetQ==} + engines: {node: '>=6.0'} + dev: true + + /ast-module-types/4.0.0: + resolution: {integrity: sha512-Kd0o8r6CDazJGCRzs8Ivpn0xj19oNKrULhoJFzhGjRsLpekF2zyZs9Ukz+JvZhWD6smszfepakTFhAaYpsI12g==} + engines: {node: '>=12.0'} + dev: true + + /async/3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: false + + /asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + /at-least-node/1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /available-typed-arrays/1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 + + /await-handler/1.1.2: + resolution: {integrity: sha512-dihteGhwbJpT89kVbacWiyKeAZr+En0YGK6pAKQJLR0En9ZxSH2H4TTvfG4bBjzFq9gDAma4y9BrpDns6j5UiQ==} + dev: false + + /axios-mock-adapter/1.22.0_axios@1.6.8: + resolution: {integrity: sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==} + peerDependencies: + axios: '>= 0.17.0' + dependencies: + axios: 1.6.8 + fast-deep-equal: 3.1.3 + is-buffer: 2.0.5 + + /axios/0.28.1_debug@4.3.4: + resolution: {integrity: sha512-iUcGA5a7p0mVb4Gm/sy+FSECNkPFT4y7wt6OM/CDpO/OnNCvSs3PoMG8ibrC9jRoGYU0gUK5pXVC4NPXq6lHRQ==} + dependencies: + follow-redirects: 1.15.6_debug@4.3.4 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /axios/1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + /babel-jest/29.7.0_@babel+core@7.24.5: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.24.5 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3_@babel+core@7.24.5 + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul/6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.24.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist/29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.5 + dev: true + + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.24.5: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.24.5 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.24.5 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.24.5 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.24.5 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.24.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.24.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.24.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.24.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.24.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.24.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.24.5 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.24.5 + dev: true + + /babel-preset-jest/29.6.3_@babel+core@7.24.5: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.24.5 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /benchmark-suite/0.1.8: + resolution: {integrity: sha512-UDfWBQfeq/lXcsjuGAanOrX6AhP6HQSsutGS7CfStcbE1loLge7aQr5DT6n8r/4bUoiK+5RYwnogNu5UuTBMNg==} + engines: {node: '>=8'} + dependencies: + eventemitter3: 4.0.7 + expose-gc: 1.0.0 + human-format: 1.2.0 + pretty-bytes: 5.6.0 + stats-accumulator: 1.2.0 + dev: true + + /bindings/1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + dependencies: + file-uri-to-path: 1.0.0 + dev: false + + /bintrees/1.0.2: + resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==} + dev: false + + /bl/4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /boolean/3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + dev: true + + /bowser/2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + dev: false + + /boxen/5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browserslist/4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001620 + electron-to-chromium: 1.4.772 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16_browserslist@4.23.0 + dev: true + + /bs-logger/0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + dependencies: + fast-json-stable-stringify: 2.1.0 + dev: true + + /bser/2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /btoa/1.2.1: + resolution: {integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==} + engines: {node: '>= 0.4.0'} + hasBin: true + dev: false + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /buffer/5.6.0: + resolution: {integrity: sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /buffer/5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /buffer/6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /byline/5.0.0: + resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==} + engines: {node: '>=0.10.0'} + dev: false + + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: false + + /cache-content-type/1.0.1: + resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} + engines: {node: '>= 6.0.0'} + dependencies: + mime-types: 2.1.35 + ylru: 1.4.0 + dev: false + + /cacheable-request/2.1.4: + resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} + dependencies: + clone-response: 1.0.2 + get-stream: 3.0.0 + http-cache-semantics: 3.8.1 + keyv: 3.0.0 + lowercase-keys: 1.0.0 + normalize-url: 2.0.1 + responselike: 1.0.2 + dev: true + + /cachedir/2.3.0: + resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + engines: {node: '>=6'} + dev: true + + /call-bind/1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + /call-me-maybe/1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + /camelcase-keys/2.1.0: + resolution: {integrity: sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==} + engines: {node: '>=0.10.0'} + dependencies: + camelcase: 2.1.1 + map-obj: 1.0.1 + dev: true + + /camelcase-keys/4.2.0: + resolution: {integrity: sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==} + engines: {node: '>=4'} + dependencies: + camelcase: 4.1.0 + map-obj: 2.0.0 + quick-lru: 1.1.0 + dev: true + + /camelcase-keys/6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase/2.1.1: + resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==} + engines: {node: '>=0.10.0'} + dev: true + + /camelcase/4.1.0: + resolution: {integrity: sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==} + engines: {node: '>=4'} + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite/1.0.30001620: + resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /chalk/5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /char-regex/1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /chardet/0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /charenc/0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + dev: false + + /check-more-types/2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + dev: true + + /chownr/2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + dev: false + + /ci-info/3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer/1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + dev: true + + /clean-regexp/1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /cli-boxes/2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: true + + /cli-cursor/2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + dependencies: + restore-cursor: 2.0.0 + dev: false + + /cli-cursor/3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-cursor/4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-spinners/1.3.1: + resolution: {integrity: sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==} + engines: {node: '>=4'} + dev: false + + /cli-spinners/2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: true + + /cli-truncate/3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /cli-width/3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true + + /cliui/6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /cliui/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 + + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-response/1.0.2: + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /clone/1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + /clone/2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: false + + /cluster-key-slot/1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + dev: false + + /co-body/6.1.0: + resolution: {integrity: sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==} + dependencies: + inflation: 2.1.0 + qs: 6.12.1 + raw-body: 2.5.2 + type-is: 1.6.18 + dev: false + + /co/4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + /collect-v8-coverage/1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string/1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color-support/1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: false + + /color/3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + dev: false + + /colorette/2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /colors/1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + dev: false + + /colorspace/1.1.4: + resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + dependencies: + color: 3.2.1 + text-hex: 1.0.0 + dev: false + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + + /commander/10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander/11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + dev: true + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /commander/7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /commander/9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: true + + /commitizen/4.3.0: + resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} + engines: {node: '>= 12'} + hasBin: true + dependencies: + cachedir: 2.3.0 + cz-conventional-changelog: 3.3.0_w5wi72oywipdfmcf22arenepbq + dedent: 0.7.0 + detect-indent: 6.1.0 + find-node-modules: 2.1.3 + find-root: 1.1.0 + fs-extra: 9.1.0 + glob: 7.2.3 + inquirer: 8.2.5 + is-utf8: 0.2.1 + lodash: 4.17.21 + minimist: 1.2.7 + strip-bom: 4.0.0 + strip-json-comments: 3.1.1 + dev: true + + /commitizen/4.3.0_w5wi72oywipdfmcf22arenepbq: + resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} + engines: {node: '>= 12'} + hasBin: true + dependencies: + cachedir: 2.3.0 + cz-conventional-changelog: 3.3.0_w5wi72oywipdfmcf22arenepbq + dedent: 0.7.0 + detect-indent: 6.1.0 + find-node-modules: 2.1.3 + find-root: 1.1.0 + fs-extra: 9.1.0 + glob: 7.2.3 + inquirer: 8.2.5 + is-utf8: 0.2.1 + lodash: 4.17.21 + minimist: 1.2.7 + strip-bom: 4.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - '@types/node' + - typescript + dev: true + + /commitlint/17.8.1: + resolution: {integrity: sha512-X+VPJwZsQDeGj/DG1NsxhZEl+oMHKNC+1myZ/zauNDoo+7OuLHfTOUU1C1a4CjKW4b6T7NuoFcYfK0kRCjCtbA==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/cli': 17.8.1 + '@commitlint/types': 17.8.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /commondir/1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /compare-func/1.3.4: + resolution: {integrity: sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==} + dependencies: + array-ify: 1.0.0 + dot-prop: 3.0.0 + dev: true + + /compare-func/2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + dev: true + + /component-each/0.2.6: + resolution: {integrity: sha512-IOXG+HZmbgaBS8Rqy+tAMrwsPdEY1BWcPcp0xI2ZOzKQhHvSVGrL7iCnoDU37TEKOCfaf4ywsR6GwAr0JivPjg==} + dependencies: + component-type: 1.0.0 + to-function: 2.0.6 + dev: false + + /component-emitter/1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + dev: true + + /component-props/1.1.1: + resolution: {integrity: sha512-69pIRJs9fCCHRqCz3390YF2LV1Lu6iEMZ5zuVqqUn+G20V9BNXlMs0cWawWeW9g4Ynmg29JmkG6R7/lUJoGd1Q==} + dev: false + + /component-type/1.0.0: + resolution: {integrity: sha512-qzUg4SGDH6KFYlcklmeZwucbtosh/XGwuIffqXAhC1dZyjO7Xu1UuaxwKRY29EncuBj/DH+h6Zot3AdZS6xdFw==} + dev: false + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concat-stream/2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + dev: true + + /confusing-browser-globals/1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + + /console-control-strings/1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + dev: false + + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /content-type/1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: false + + /conventional-changelog-angular/1.6.6: + resolution: {integrity: sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==} + dependencies: + compare-func: 1.3.4 + q: 1.5.1 + dev: true + + /conventional-changelog-angular/5.0.13: + resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + q: 1.5.1 + dev: true + + /conventional-changelog-angular/6.0.0: + resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-atom/2.0.8: + resolution: {integrity: sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-codemirror/2.0.8: + resolution: {integrity: sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-config-spec/2.1.0: + resolution: {integrity: sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==} + dev: true + + /conventional-changelog-conventionalcommits/4.6.3: + resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + lodash: 4.17.21 + q: 1.5.1 + dev: true + + /conventional-changelog-conventionalcommits/6.1.0: + resolution: {integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-core/3.2.3: + resolution: {integrity: sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==} + engines: {node: '>=6.9.0'} + dependencies: + conventional-changelog-writer: 4.1.0 + conventional-commits-parser: 3.2.4 + dateformat: 3.0.3 + get-pkg-repo: 1.4.0 + git-raw-commits: 2.0.0 + git-remote-origin-url: 2.0.0 + git-semver-tags: 2.0.3 + lodash: 4.17.21 + normalize-package-data: 2.5.0 + q: 1.5.1 + read-pkg: 3.0.0 + read-pkg-up: 3.0.0 + through2: 3.0.2 + dev: true + + /conventional-changelog-core/4.2.4: + resolution: {integrity: sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==} + engines: {node: '>=10'} + dependencies: + add-stream: 1.0.0 + conventional-changelog-writer: 5.0.1 + conventional-commits-parser: 3.2.4 + dateformat: 3.0.3 + get-pkg-repo: 4.2.1 + git-raw-commits: 2.0.11 + git-remote-origin-url: 2.0.0 + git-semver-tags: 4.1.1 + lodash: 4.17.21 + normalize-package-data: 3.0.3 + q: 1.5.1 + read-pkg: 3.0.0 + read-pkg-up: 3.0.0 + through2: 4.0.2 + dev: true + + /conventional-changelog-ember/2.0.9: + resolution: {integrity: sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-eslint/3.0.9: + resolution: {integrity: sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-express/2.0.6: + resolution: {integrity: sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-jquery/0.1.0: + resolution: {integrity: sha512-wbz5vVcvu/SPZTDFB21fF/xo5zFq6NQR42jhtUfOrrP1N/ZjNshhGb3expCGqHYdnUHzPevHeUafsVrdxVD5Og==} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-jquery/3.0.11: + resolution: {integrity: sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-jscs/0.1.0: + resolution: {integrity: sha512-V8sey4tE0nJUlWGi2PZKDMfawYLf/+F165xhhDjcIoTEJDxssVV5PMVzTQzjS6U/dEX85fWkur+bs6imOqkIng==} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-jshint/2.0.9: + resolution: {integrity: sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + q: 1.5.1 + dev: true + + /conventional-changelog-preset-loader/2.3.4: + resolution: {integrity: sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==} + engines: {node: '>=10'} + dev: true + + /conventional-changelog-writer/4.1.0: + resolution: {integrity: sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + compare-func: 2.0.0 + conventional-commits-filter: 2.0.7 + dateformat: 3.0.3 + handlebars: 4.7.8 + json-stringify-safe: 5.0.1 + lodash: 4.17.21 + meow: 8.1.2 + semver: 6.3.1 + split: 1.0.1 + through2: 4.0.2 + dev: true + + /conventional-changelog-writer/5.0.1: + resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + conventional-commits-filter: 2.0.7 + dateformat: 3.0.3 + handlebars: 4.7.8 + json-stringify-safe: 5.0.1 + lodash: 4.17.21 + meow: 8.1.2 + semver: 6.3.1 + split: 1.0.1 + through2: 4.0.2 + dev: true + + /conventional-changelog/2.0.3: + resolution: {integrity: sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA==} + engines: {node: '>=6.9.0'} + dependencies: + conventional-changelog-angular: 1.6.6 + conventional-changelog-atom: 2.0.8 + conventional-changelog-codemirror: 2.0.8 + conventional-changelog-core: 3.2.3 + conventional-changelog-ember: 2.0.9 + conventional-changelog-eslint: 3.0.9 + conventional-changelog-express: 2.0.6 + conventional-changelog-jquery: 0.1.0 + conventional-changelog-jscs: 0.1.0 + conventional-changelog-jshint: 2.0.9 + conventional-changelog-preset-loader: 2.3.4 + dev: true + + /conventional-changelog/3.1.25: + resolution: {integrity: sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==} + engines: {node: '>=10'} + dependencies: + conventional-changelog-angular: 5.0.13 + conventional-changelog-atom: 2.0.8 + conventional-changelog-codemirror: 2.0.8 + conventional-changelog-conventionalcommits: 4.6.3 + conventional-changelog-core: 4.2.4 + conventional-changelog-ember: 2.0.9 + conventional-changelog-eslint: 3.0.9 + conventional-changelog-express: 2.0.6 + conventional-changelog-jquery: 3.0.11 + conventional-changelog-jshint: 2.0.9 + conventional-changelog-preset-loader: 2.3.4 + dev: true + + /conventional-commit-types/3.0.0: + resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} + dev: true + + /conventional-commits-filter/2.0.7: + resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} + engines: {node: '>=10'} + dependencies: + lodash.ismatch: 4.4.0 + modify-values: 1.0.1 + dev: true + + /conventional-commits-parser/3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /conventional-commits-parser/4.0.0: + resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} + engines: {node: '>=14'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + meow: 8.1.2 + split2: 3.2.2 + dev: true + + /conventional-github-releaser/3.1.5: + resolution: {integrity: sha512-VhPKbdN92b2ygnQLkuwHIfUaPAVrVfJVuQdxbmmVPkN927LDP98HthLWFVShh4pxqLK0nE66v78RERGJVeCzbg==} + engines: {node: '>=6.9.0'} + hasBin: true + dependencies: + conventional-changelog: 2.0.3 + dateformat: 3.0.3 + debug: 3.2.7 + gh-got: 7.1.0 + git-semver-tags: 2.0.3 + lodash.merge: 4.6.2 + meow: 7.1.1 + object-assign: 4.1.1 + q: 1.5.1 + semver: 5.7.2 + semver-regex: 2.0.0 + through2: 2.0.5 + transitivePeerDependencies: + - supports-color + dev: true + + /conventional-recommended-bump/6.1.0: + resolution: {integrity: sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + concat-stream: 2.0.0 + conventional-changelog-preset-loader: 2.3.4 + conventional-commits-filter: 2.0.7 + conventional-commits-parser: 3.2.4 + git-raw-commits: 2.0.11 + git-semver-tags: 4.1.1 + meow: 8.1.2 + q: 1.5.1 + dev: true + + /convert-hex/0.1.0: + resolution: {integrity: sha512-w20BOb1PiR/sEJdS6wNrUjF5CSfscZFUp7R9NSlXH8h2wynzXVEPFPJECAnkNylZ+cvf3p7TyRUHggDmrwXT9A==} + dev: false + + /convert-source-map/2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /convert-string/0.1.0: + resolution: {integrity: sha512-1KX9ESmtl8xpT2LN2tFnKSbV4NiarbVi8DVb39ZriijvtTklyrT+4dT1wsGMHKD3CJUjXgvJzstm9qL9ICojGA==} + dev: false + + /cookiejar/2.1.4: + resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} + dev: true + + /cookies/0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + dev: false + + /copy-to/2.0.1: + resolution: {integrity: sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==} + dev: false + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cosmiconfig-typescript-loader/4.4.0_kioclk32mugx7d2j6nzs5ptp7i: + resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} + engines: {node: '>=v14.21.3'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' + typescript: '>=4' + dependencies: + '@types/node': 20.5.1 + cosmiconfig: 8.3.6_typescript@5.4.5 + ts-node: 10.9.2_ydwk4y56plfwtmdx45tnn2rbcm + typescript: 5.4.5 + dev: true + + /cosmiconfig-typescript-loader/5.0.0_crfasrahddmg5duqgfkzmskob4: + resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} + engines: {node: '>=v16'} + requiresBuild: true + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=8.2' + typescript: '>=4' + dependencies: + '@types/node': 20.12.12 + cosmiconfig: 9.0.0_typescript@5.4.5 + jiti: 1.21.0 + typescript: 5.4.5 + dev: true + optional: true + + /cosmiconfig/8.3.6_typescript@5.4.5: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + typescript: 5.4.5 + dev: true + + /cosmiconfig/9.0.0_typescript@5.4.5: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + requiresBuild: true + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + typescript: 5.4.5 + dev: true + optional: true + + /create-jest/29.7.0_@types+node@20.12.12: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0_@types+node@20.12.12 + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /create-require/1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + /crypt/0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + dev: false + + /crypto-js/4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + dev: false + + /crypto/1.0.1: + resolution: {integrity: sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==} + deprecated: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in. + dev: false + + /currently-unhandled/0.4.1: + resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} + engines: {node: '>=0.10.0'} + dependencies: + array-find-index: 1.0.2 + dev: true + + /cz-conventional-changelog/3.3.0_w5wi72oywipdfmcf22arenepbq: + resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} + engines: {node: '>= 10'} + dependencies: + chalk: 2.4.2 + commitizen: 4.3.0 + conventional-commit-types: 3.0.0 + lodash.map: 4.6.0 + longest: 2.0.1 + word-wrap: 1.2.5 + optionalDependencies: + '@commitlint/load': 19.2.0_w5wi72oywipdfmcf22arenepbq + transitivePeerDependencies: + - '@types/node' + - typescript + dev: true + + /dargs/4.1.0: + resolution: {integrity: sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==} + engines: {node: '>=0.10.0'} + dependencies: + number-is-nan: 1.0.1 + dev: true + + /dargs/7.0.0: + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} + dev: true + + /data-view-buffer/1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + /data-view-byte-length/1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + /data-view-byte-offset/1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + /dateformat/3.0.3: + resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} + dev: true + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + + /debug/4.3.2: + resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decamelize-keys/1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decode-uri-component/0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /decompress-response/3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: true + + /dedent/0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /dedent/1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dev: true + + /deep-equal/1.0.1: + resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} + dev: false + + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + /deepmerge/4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /defaults/1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + + /define-data-property/1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + /define-properties/1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + /delay/5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + /delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /delegates/1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + dev: false + + /denque/2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + dev: false + + /depd/1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /dependency-tree/9.0.0: + resolution: {integrity: sha512-osYHZJ1fBSon3lNLw70amAXsQ+RGzXsPvk9HbBgTLbp/bQBmpH5mOmsUvqXU+YEWVU0ZLewsmzOET/8jWswjDQ==} + engines: {node: ^10.13 || ^12 || >=14} + hasBin: true + dependencies: + commander: 2.20.3 + debug: 4.3.4 + filing-cabinet: 3.3.1 + precinct: 9.2.1 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: false + + /detect-file/1.0.0: + resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} + engines: {node: '>=0.10.0'} + dev: true + + /detect-indent/6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /detect-libc/2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + dev: false + + /detect-newline/3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /detective-amd/3.1.2: + resolution: {integrity: sha512-jffU26dyqJ37JHR/o44La6CxtrDf3Rt9tvd2IbImJYxWKTMdBjctp37qoZ6ZcY80RHg+kzWz4bXn39e4P7cctQ==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + ast-module-types: 3.0.0 + escodegen: 2.1.0 + get-amd-module-type: 3.0.2 + node-source-walk: 4.3.0 + dev: true + + /detective-amd/4.2.0: + resolution: {integrity: sha512-RbuEJHz78A8nW7CklkqTzd8lDCN42En53dgEIsya0DilpkwslamSZDasLg8dJyxbw46OxhSQeY+C2btdSkCvQQ==} + engines: {node: '>=12'} + hasBin: true + dependencies: + ast-module-types: 4.0.0 + escodegen: 2.1.0 + get-amd-module-type: 4.1.0 + node-source-walk: 5.0.2 + dev: true + + /detective-cjs/3.1.3: + resolution: {integrity: sha512-ljs7P0Yj9MK64B7G0eNl0ThWSYjhAaSYy+fQcpzaKalYl/UoQBOzOeLCSFEY1qEBhziZ3w7l46KG/nH+s+L7BQ==} + engines: {node: '>=6.0'} + dependencies: + ast-module-types: 3.0.0 + node-source-walk: 4.3.0 + dev: true + + /detective-cjs/4.1.0: + resolution: {integrity: sha512-QxzMwt5MfPLwS7mG30zvnmOvHLx5vyVvjsAV6gQOyuMoBR5G1DhS1eJZ4P10AlH+HSnk93mTcrg3l39+24XCtg==} + engines: {node: '>=12'} + dependencies: + ast-module-types: 4.0.0 + node-source-walk: 5.0.2 + dev: true + + /detective-es6/2.2.2: + resolution: {integrity: sha512-eZUKCUsbHm8xoeoCM0z6JFwvDfJ5Ww5HANo+jPR7AzkFpW9Mun3t/TqIF2jjeWa2TFbAiGaWESykf2OQp3oeMw==} + engines: {node: '>=6.0'} + dependencies: + node-source-walk: 4.3.0 + dev: true + + /detective-es6/3.0.1: + resolution: {integrity: sha512-evPeYIEdK1jK3Oji5p0hX4sPV/1vK+o4ihcWZkMQE6voypSW/cIBiynOLxQk5KOOQbdP8oOAsYqouMTYO5l1sw==} + engines: {node: '>=12'} + dependencies: + node-source-walk: 5.0.2 + dev: true + + /detective-less/1.0.2: + resolution: {integrity: sha512-Rps1xDkEEBSq3kLdsdnHZL1x2S4NGDcbrjmd4q+PykK5aJwDdP5MBgrJw1Xo+kyUHuv3JEzPqxr+Dj9ryeDRTA==} + engines: {node: '>= 6.0'} + dependencies: + debug: 4.3.4 + gonzales-pe: 4.3.0 + node-source-walk: 4.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /detective-postcss/4.0.0: + resolution: {integrity: sha512-Fwc/g9VcrowODIAeKRWZfVA/EufxYL7XfuqJQFroBKGikKX83d2G7NFw6kDlSYGG3LNQIyVa+eWv1mqre+v4+A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + debug: 4.3.4 + is-url: 1.2.4 + postcss: 8.4.38 + postcss-values-parser: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /detective-postcss/6.1.3: + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dependencies: + is-url: 1.2.4 + postcss: 8.4.38 + postcss-values-parser: 6.0.2_postcss@8.4.38 + dev: true + + /detective-sass/3.0.2: + resolution: {integrity: sha512-DNVYbaSlmti/eztFGSfBw4nZvwsTaVXEQ4NsT/uFckxhJrNRFUh24d76KzoCC3aarvpZP9m8sC2L1XbLej4F7g==} + engines: {node: '>=6.0'} + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 4.3.0 + dev: true + + /detective-sass/4.1.3: + resolution: {integrity: sha512-xGRbwGaGte57gvEqM8B9GDiURY3El/H49vA6g9wFkxq9zalmTlTAuqWu+BsH0iwonGPruLt55tZZDEZqPc6lag==} + engines: {node: '>=12'} + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 5.0.2 + dev: true + + /detective-scss/2.0.2: + resolution: {integrity: sha512-hDWnWh/l0tht/7JQltumpVea/inmkBaanJUcXRB9kEEXVwVUMuZd6z7eusQ6GcBFrfifu3pX/XPyD7StjbAiBg==} + engines: {node: '>=6.0'} + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 4.3.0 + dev: true + + /detective-scss/3.1.1: + resolution: {integrity: sha512-FWkfru1jZBhUeuBsOeGKXKAVDrzYFSQFK2o2tuG/nCCFQ0U/EcXC157MNAcR5mmj+mCeneZzlkBOFJTesDjrww==} + engines: {node: '>=12'} + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 5.0.2 + dev: true + + /detective-stylus/1.0.3: + resolution: {integrity: sha512-4/bfIU5kqjwugymoxLXXLltzQNeQfxGoLm2eIaqtnkWxqbhap9puDVpJPVDx96hnptdERzS5Cy6p9N8/08A69Q==} + dev: true + + /detective-stylus/2.0.1: + resolution: {integrity: sha512-/Tvs1pWLg8eYwwV6kZQY5IslGaYqc/GACxjcaGudiNtN5nKCH6o2WnJK3j0gA3huCnoQcbv8X7oz/c1lnvE3zQ==} + engines: {node: '>=6.0'} + dev: true + + /detective-stylus/3.0.0: + resolution: {integrity: sha512-1xYTzbrduExqMYmte7Qk99IRA3Aa6oV7PYzd+3yDcQXkmENvyGF/arripri6lxRDdNYEb4fZFuHtNRAXbz3iAA==} + engines: {node: '>=12'} + dev: true + + /detective-typescript/7.0.2: + resolution: {integrity: sha512-unqovnhxzvkCz3m1/W4QW4qGsvXCU06aU2BAm8tkza+xLnp9SOFnob2QsTxUv5PdnQKfDvWcv9YeOeFckWejwA==} + engines: {node: ^10.13 || >=12.0.0} + dependencies: + '@typescript-eslint/typescript-estree': 4.33.0_typescript@3.9.10 + ast-module-types: 2.7.1 + node-source-walk: 4.3.0 + typescript: 3.9.10 + transitivePeerDependencies: + - supports-color + dev: true + + /detective-typescript/9.1.1: + resolution: {integrity: sha512-Uc1yVutTF0RRm1YJ3g//i1Cn2vx1kwHj15cnzQP6ff5koNzQ0idc1zAC73ryaWEulA0ElRXFTq6wOqe8vUQ3MA==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.9.5 + ast-module-types: 4.0.0 + node-source-walk: 5.0.2 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /dezalgo/1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} + dependencies: + asap: 2.0.6 + wrappy: 1.0.2 + dev: true + + /diff-sequences/29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /diff/4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + + /doctrine/2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + + /dot-prop/3.0.0: + resolution: {integrity: sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw==} + engines: {node: '>=0.10.0'} + dependencies: + is-obj: 1.0.1 + dev: true + + /dot-prop/5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /dotenv/16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: false + + /dotgitignore/2.1.0: + resolution: {integrity: sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==} + engines: {node: '>=6'} + dependencies: + find-up: 3.0.0 + minimatch: 3.1.2 + dev: true + + /dreamopt/0.8.0: + resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} + engines: {node: '>=0.4.0'} + dependencies: + wordwrap: 1.0.0 + dev: false + + /duplexer3/0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + dev: true + + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /ee-first/1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: false + + /electron-to-chromium/1.4.772: + resolution: {integrity: sha512-jFfEbxR/abTTJA3ci+2ok1NTuOBBtB4jH+UT6PUmRN+DY3WSD4FFRsgoVQ+QNIJ0T7wrXwzsWCI2WKC46b++2A==} + dev: true + + /emittery/0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /empty-dir/1.0.0: + resolution: {integrity: sha512-97qcDM6mUA1jAeX6cktw7akc5awIGA+VIkA5MygKOKA+c2Vseo/xwKN0JNJTUhZUtPwZboKVD2p1xu+sV/F4xA==} + engines: {node: '>= 0.8.0'} + dev: false + + /enabled/2.0.0: + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} + dev: false + + /encodeurl/1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: false + + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /enhanced-resolve/5.16.1: + resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /entities/4.3.0: + resolution: {integrity: sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==} + engines: {node: '>=0.12'} + dev: true + + /env-paths/2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + requiresBuild: true + dev: true + optional: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + + /error-stack-parser/2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + dependencies: + stackframe: 1.3.4 + dev: false + + /es-abstract/1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + + /es-define-property/1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + + /es-errors/1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + /es-object-atoms/1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + + /es-set-tostringtag/2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + /es-shim-unscopables/1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.2 + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + /es6-promise/3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + dev: false + + /escalade/3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-html/1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: false + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp/2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + /escodegen/2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-config-airbnb-base/15.0.0_jrbq5spb6ym3vlo5mnlvtmgpyy: + resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.2 + dependencies: + confusing-browser-globals: 1.0.11 + eslint: 8.57.0 + eslint-plugin-import: 2.29.1_bok4kcstaiu5mkejbz7cmlqj2q + object.assign: 4.1.5 + object.entries: 1.1.8 + semver: 6.3.1 + + /eslint-config-airbnb-typescript/17.1.0_bogqjejckhzc4pprie7up4myem: + resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0 + '@typescript-eslint/parser': ^5.0.0 || ^6.0.0 + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0_eqgev5mhbd7uh3ohcoscoa2fpe + '@typescript-eslint/parser': 5.62.0_te743w6atip6hhlha3uq43n2xe + eslint: 8.57.0 + eslint-config-airbnb-base: 15.0.0_jrbq5spb6ym3vlo5mnlvtmgpyy + eslint-plugin-import: 2.29.1_bok4kcstaiu5mkejbz7cmlqj2q + + /eslint-config-prettier/8.10.0_eslint@8.57.0: + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-import-resolver-node/0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + /eslint-module-utils/2.8.1_7t4lou6ztx6cljj3c7tffc2aca: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0_te743w6atip6hhlha3uq43n2xe + debug: 3.2.7 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + /eslint-plugin-import/2.29.1_bok4kcstaiu5mkejbz7cmlqj2q: + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0_te743w6atip6hhlha3uq43n2xe + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1_7t4lou6ztx6cljj3c7tffc2aca + hasown: 2.0.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + /eslint-plugin-json/3.1.0: + resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==} + engines: {node: '>=12.0'} + dependencies: + lodash: 4.17.21 + vscode-json-languageservice: 4.2.1 + dev: true + + /eslint-plugin-prettier/5.1.3_34agktnnehixwbhlg45dr5syfm: + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 8.10.0_eslint@8.57.0 + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-plugin-sonarjs/0.19.0_eslint@8.57.0: + resolution: {integrity: sha512-6+s5oNk5TFtVlbRxqZN7FIGmjdPCYQKaTzFPmqieCmsU1kBYDzndTeQav0xtQNwZJWu5awWfTGe8Srq9xFOGnw==} + engines: {node: '>=14'} + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-unicorn/46.0.1_eslint@8.57.0: + resolution: {integrity: sha512-setGhMTiLAddg1asdwjZ3hekIN5zLznNa5zll7pBPwFOka6greCKDQydfqy4fqyUhndi74wpDzClSQMEcmOaew==} + engines: {node: '>=14.18'} + peerDependencies: + eslint: '>=8.28.0' + dependencies: + '@babel/helper-validator-identifier': 7.24.5 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + ci-info: 3.9.0 + clean-regexp: 1.0.0 + eslint: 8.57.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.9.1 + safe-regex: 2.1.1 + semver: 7.6.2 + strip-indent: 3.0.0 + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + /eslint-scope/7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys/3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /eslint/8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + 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.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + /espree/9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2_acorn@8.11.3 + eslint-visitor-keys: 3.4.3 + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + /eventemitter3/4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + + /eventemitter3/5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true + + /events/3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa/7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /exit/0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expand-tilde/2.0.2: + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} + dependencies: + homedir-polyfill: 1.0.3 + dev: true + + /expect/29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + dev: true + + /expose-gc/1.0.0: + resolution: {integrity: sha512-ecOHrdm+zyOCGIwX18/1RHkUWgxDqGGRiGhaNC+42jReTtudbm2ID/DMa/wpaHwqy5YQHPZvsDqRM2F2iZ0uVA==} + engines: {node: '>=4'} + dev: true + + /external-editor/3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /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==} + dev: true + + /fast-glob/3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + /fast-printf/1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + dev: true + + /fast-safe-stringify/2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: true + + /fast-xml-parser/4.2.5: + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + + /fastq/1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /fb-watchman/2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /fecha/4.2.3: + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + dev: false + + /figures/3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + + /file-uri-to-path/1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + dev: false + + /filing-cabinet/3.3.1: + resolution: {integrity: sha512-renEK4Hh6DUl9Vl22Y3cxBq1yh8oNvbAdXnhih0wVpmea+uyKjC9K4QeRjUaybIiIewdzfum+Fg15ZqJ/GyCaA==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + app-module-path: 2.2.0 + commander: 2.20.3 + debug: 4.3.4 + enhanced-resolve: 5.16.1 + is-relative-path: 1.0.2 + module-definition: 3.4.0 + module-lookup-amd: 7.0.1 + resolve: 1.22.8 + resolve-dependency-path: 2.0.0 + sass-lookup: 3.0.0 + stylus-lookup: 3.0.2 + tsconfig-paths: 3.15.0 + typescript: 3.9.10 + transitivePeerDependencies: + - supports-color + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-node-modules/2.1.3: + resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==} + dependencies: + findup-sync: 4.0.0 + merge: 2.1.1 + dev: true + + /find-root/1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + dev: true + + /find-up/1.1.2: + resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} + engines: {node: '>=0.10.0'} + dependencies: + path-exists: 2.1.0 + pinkie-promise: 2.0.1 + dev: true + + /find-up/2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + dependencies: + locate-path: 2.0.0 + dev: true + + /find-up/3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /findit2/2.2.3: + resolution: {integrity: sha512-lg/Moejf4qXovVutL0Lz4IsaPoNYMuxt4PA0nGqFxnJ1CTTGGlEO2wKgoDpwknhvZ8k4Q2F+eesgkLbG2Mxfog==} + engines: {node: '>=0.8.22'} + dev: false + + /findup-sync/4.0.0: + resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} + engines: {node: '>= 8'} + dependencies: + detect-file: 1.0.0 + is-glob: 4.0.3 + micromatch: 4.0.5 + resolve-dir: 1.0.1 + dev: true + + /flat-cache/3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + + /flat/5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: false + + /flatted/3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + /flatten/1.0.3: + resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} + deprecated: flatten is deprecated in favor of utility frameworks such as lodash. + dev: true + + /fn.name/1.1.0: + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + dev: false + + /follow-redirects/1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + /follow-redirects/1.15.6_debug@4.3.4: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.4 + dev: false + + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + + /foreground-child/3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + /formidable/2.1.2: + resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==} + dependencies: + dezalgo: 1.0.4 + hexoid: 1.0.0 + once: 1.4.0 + qs: 6.12.1 + dev: true + + /fresh/0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: false + + /from2/2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + dev: true + + /fs-extra/11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-minipass/2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents/2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /function.prototype.name/1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + /gauge/3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-amd-module-type/3.0.2: + resolution: {integrity: sha512-PcuKwB8ouJnKuAPn6Hk3UtdfKoUV3zXRqVEvj8XGIXqjWfgd1j7QGdXy5Z9OdQfzVt1Sk29HVe/P+X74ccOuqw==} + engines: {node: '>=6.0'} + dependencies: + ast-module-types: 3.0.0 + node-source-walk: 4.3.0 + dev: true + + /get-amd-module-type/4.1.0: + resolution: {integrity: sha512-0e/eK6vTGCnSfQ6eYs3wtH05KotJYIP7ZIZEueP/KlA+0dIAEs8bYFvOd/U56w1vfjhJqBagUxVMyy9Tr/cViQ==} + engines: {node: '>=12'} + dependencies: + ast-module-types: 4.0.0 + node-source-walk: 5.0.2 + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic/1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + /get-own-enumerable-property-symbols/3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true + + /get-package-type/0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-pkg-repo/1.4.0: + resolution: {integrity: sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==} + hasBin: true + dependencies: + hosted-git-info: 2.8.9 + meow: 3.7.0 + normalize-package-data: 2.5.0 + parse-github-repo-url: 1.4.1 + through2: 2.0.5 + dev: true + + /get-pkg-repo/4.2.1: + resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} + engines: {node: '>=6.9.0'} + hasBin: true + dependencies: + '@hutson/parse-repository-url': 3.0.2 + hosted-git-info: 4.1.0 + through2: 2.0.5 + yargs: 16.2.0 + dev: true + + /get-stdin/4.0.1: + resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==} + engines: {node: '>=0.10.0'} + dev: true + + /get-stream/3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description/1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + /get-value/3.0.1: + resolution: {integrity: sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA==} + engines: {node: '>=6.0'} + dependencies: + isobject: 3.0.1 + dev: false + + /gh-got/7.1.0: + resolution: {integrity: sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ==} + engines: {node: '>=4'} + dependencies: + got: 8.3.2 + is-plain-obj: 1.1.0 + dev: true + + /git-raw-commits/2.0.0: + resolution: {integrity: sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==} + engines: {node: '>=6.9.0'} + hasBin: true + dependencies: + dargs: 4.1.0 + lodash.template: 4.5.0 + meow: 4.0.1 + split2: 2.2.0 + through2: 2.0.5 + dev: true + + /git-raw-commits/2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + dargs: 7.0.0 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /git-remote-origin-url/2.0.0: + resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==} + engines: {node: '>=4'} + dependencies: + gitconfiglocal: 1.0.0 + pify: 2.3.0 + dev: true + + /git-semver-tags/2.0.3: + resolution: {integrity: sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==} + engines: {node: '>=6.9.0'} + hasBin: true + dependencies: + meow: 4.0.1 + semver: 6.3.1 + dev: true + + /git-semver-tags/4.1.1: + resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + meow: 8.1.2 + semver: 6.3.1 + dev: true + + /gitconfiglocal/1.0.0: + resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==} + dependencies: + ini: 1.3.8 + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob/10.3.15: + resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.1.1 + path-scurry: 1.11.1 + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /global-directory/4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + requiresBuild: true + dependencies: + ini: 4.1.1 + dev: true + optional: true + + /global-dirs/0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + dependencies: + ini: 1.3.8 + dev: true + + /global-modules/1.0.0: + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} + dependencies: + global-prefix: 1.0.2 + is-windows: 1.0.2 + resolve-dir: 1.0.1 + dev: true + + /global-prefix/1.0.2: + resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} + engines: {node: '>=0.10.0'} + dependencies: + expand-tilde: 2.0.2 + homedir-polyfill: 1.0.3 + ini: 1.3.8 + is-windows: 1.0.2 + which: 1.3.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals/13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + + /globalthis/1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + + /gonzales-pe/4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + + /got/8.3.2: + resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} + engines: {node: '>=4'} + dependencies: + '@sindresorhus/is': 0.7.0 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.3 + cacheable-request: 2.1.4 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 3.0.0 + into-stream: 3.1.0 + is-retry-allowed: 1.2.0 + isurl: 1.0.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 0.4.1 + p-timeout: 2.0.1 + pify: 3.0.0 + safe-buffer: 5.2.1 + timed-out: 4.0.1 + url-parse-lax: 3.0.0 + url-to-options: 1.0.1 + dev: true + + /graceful-fs/4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer/1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + /growly/1.3.0: + resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + dev: true + + /handlebars/4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.17.4 + + /hard-rejection/2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has-property-descriptors/1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + + /has-proto/1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + /has-symbol-support-x/1.4.2: + resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-to-string-tag-x/1.4.1: + resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} + dependencies: + has-symbol-support-x: 1.4.2 + dev: true + + /has-tostringtag/1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /has-unicode/2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + dev: false + + /has-value/2.0.2: + resolution: {integrity: sha512-ybKOlcRsK2MqrM3Hmz/lQxXHZ6ejzSPzpNabKB45jb5qDgJvKPa3SdapTsTLwEb9WltgWpOmNax7i+DzNOk4TA==} + engines: {node: '>=6'} + dependencies: + get-value: 3.0.1 + has-values: 2.0.1 + dev: false + + /has-values/2.0.1: + resolution: {integrity: sha512-+QdH3jOmq9P8GfdjFg0eJudqx1FqU62NQJ4P16rOEHeRdl7ckgwn6uqQjzYE0ZoHVV/e5E2esuJ5Gl5+HUW19w==} + engines: {node: '>=6'} + dependencies: + kind-of: 6.0.3 + dev: false + + /hasown/2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /heap/0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + dev: false + + /hexoid/1.0.0: + resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} + engines: {node: '>=8'} + dev: true + + /homedir-polyfill/1.0.3: + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} + dependencies: + parse-passwd: 1.0.0 + dev: true + + /hosted-git-info/2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-assert/1.5.0: + resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} + engines: {node: '>= 0.8'} + dependencies: + deep-equal: 1.0.1 + http-errors: 1.8.1 + dev: false + + /http-cache-semantics/3.8.1: + resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} + dev: true + + /http-errors/1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + dev: false + + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /http-graceful-shutdown/3.1.13: + resolution: {integrity: sha512-Ci5LRufQ8AtrQ1U26AevS8QoMXDOhnAHCJI3eZu1com7mZGHxREmw3dNj85ftpQokQCvak8nI2pnFS8zyM1M+Q==} + engines: {node: '>=4.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /http-terminator/3.2.0: + resolution: {integrity: sha512-JLjck1EzPaWjsmIf8bziM3p9fgR1Y3JoUKAkyYEbZmFrIvJM6I8vVJfBGWlEtV9IWOvzNnaTtjuwZeBY2kwB4g==} + engines: {node: '>=14'} + dependencies: + delay: 5.0.0 + p-wait-for: 3.2.0 + roarr: 7.21.1 + type-fest: 2.19.0 + dev: true + + /https-proxy-agent/5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /human-format/1.2.0: + resolution: {integrity: sha512-GIjOefWusTiXEPezbuI59uc1G2SNMpym6w1wNfoWAG6QrTsWueuauR5We0xHHuzoJKIYTwwNtTEy0ahyji5KXw==} + engines: {node: '>=4'} + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals/4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /husky/8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore/5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /import-meta-resolve/4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + requiresBuild: true + dev: true + optional: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + /indent-string/2.1.0: + resolution: {integrity: sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==} + engines: {node: '>=0.10.0'} + dependencies: + repeating: 2.0.1 + dev: true + + /indent-string/3.2.0: + resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} + engines: {node: '>=4'} + dev: true + + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /indexes-of/1.0.1: + resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} + dev: true + + /inflation/2.1.0: + resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} + engines: {node: '>= 0.8.0'} + dev: false + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /ini/4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + requiresBuild: true + dev: true + optional: true + + /inquirer/8.2.5: + resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /inquirer/8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + dev: true + + /internal-slot/1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + /into-stream/3.1.0: + resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} + engines: {node: '>=4'} + dependencies: + from2: 2.3.0 + p-is-promise: 1.1.0 + dev: true + + /ioredis/5.4.1: + resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==} + engines: {node: '>=12.22.0'} + dependencies: + '@ioredis/commands': 1.2.0 + cluster-key-slot: 1.1.2 + debug: 4.3.4 + denque: 2.1.0 + lodash.defaults: 4.2.0 + lodash.isarguments: 3.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /ip-regex/4.3.0: + resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} + engines: {node: '>=8'} + dev: false + + /is-array-buffer/3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + requiresBuild: true + + /is-arrayish/0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + /is-buffer/1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: false + + /is-buffer/2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + /is-builtin-module/3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + /is-core-module/2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.2 + + /is-data-view/1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + + /is-docker/2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-finite/1.1.0: + resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} + engines: {node: '>=0.10.0'} + dev: true + + /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'} + dev: true + + /is-generator-fn/2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-generator-function/1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: false + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-interactive/1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-ip/3.1.0: + resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} + engines: {node: '>=8'} + dependencies: + ip-regex: 4.3.0 + dev: false + + /is-negative-zero/2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj/1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-obj/2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-object/1.0.2: + resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} + dev: true + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + /is-plain-obj/1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-object/2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: false + + /is-primitive/3.0.1: + resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} + engines: {node: '>=0.10.0'} + dev: false + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + /is-regexp/1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-relative-path/1.0.2: + resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} + dev: true + + /is-retry-allowed/1.2.0: + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-shared-array-buffer/1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + /is-stream/3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /is-text-path/1.0.1: + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} + dependencies: + text-extensions: 1.9.0 + dev: true + + /is-typed-array/1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.15 + + /is-unicode-supported/0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-url-superb/4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + dev: true + + /is-url/1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + dev: true + + /is-utf8/0.2.1: + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + dev: true + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.7 + + /is-windows/1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /is/3.3.0: + resolution: {integrity: sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==} + dev: false + + /isarray/1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray/2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + /iserror/0.0.2: + resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} + dev: false + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /isobject/3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: false + + /isobject/4.0.0: + resolution: {integrity: sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==} + engines: {node: '>=0.10.0'} + dev: false + + /isolated-vm/4.5.0: + resolution: {integrity: sha512-Kse0m5t+B9wZQVeTDqzPoX1SIFNTNfyaUxhnCuFgpXL1+5GYJ9GUAN3mpD+ainixGmUXgeYaVBX+QPDjEBBu0w==} + engines: {node: '>=10.4.0'} + requiresBuild: true + dev: false + + /istanbul-lib-coverage/3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument/5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-instrument/6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report/3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps/4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports/3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /isurl/1.0.0: + resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} + engines: {node: '>= 4'} + dependencies: + has-to-string-tag-x: 1.4.1 + is-object: 1.0.2 + dev: true + + /jackspeak/2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jest-changed-files/29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + dev: true + + /jest-circus/29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-cli/29.7.0_hdaboqmynivzxn73q3ixcvbfym: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0_node-notifier@10.0.1 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0_@types+node@20.12.12 + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0_@types+node@20.12.12 + jest-util: 29.7.0 + jest-validate: 29.7.0 + node-notifier: 10.0.1 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /jest-config/29.7.0_@types+node@20.12.12: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.24.5 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + babel-jest: 29.7.0_@babel+core@7.24.5 + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-diff/29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-docblock/29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each/29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /jest-environment-node/29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + jest-mock: 29.7.0 + jest-util: 29.7.0 + dev: true + + /jest-get-type/29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map/29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 20.12.12 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /jest-leak-detector/29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-matcher-utils/29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-message-util/29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.24.2 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock/29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + jest-util: 29.7.0 + dev: true + + /jest-pnp-resolver/1.2.3_jest-resolve@29.7.0: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.7.0 + dev: true + + /jest-regex-util/29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-resolve-dependencies/29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve/29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3_jest-resolve@29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + dev: true + + /jest-runner/29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime/29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + chalk: 4.1.2 + cjs-module-lexer: 1.3.1 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot/29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 + '@babel/plugin-syntax-jsx': 7.24.1_@babel+core@7.24.5 + '@babel/plugin-syntax-typescript': 7.24.1_@babel+core@7.24.5 + '@babel/types': 7.24.5 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.24.5 + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-sonar/0.2.16: + resolution: {integrity: sha512-ES6Z9BbIVDELtbz+/b6pv41B2qOfp38cQpoCLqei21FtlkG/GzhyQ0M3egEIM+erpJOkpRKM8Tc8/YQtHdiTXA==} + dependencies: + entities: 4.3.0 + strip-ansi: 6.0.1 + dev: true + + /jest-util/29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-validate/29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + dev: true + + /jest-watcher/29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + dev: true + + /jest-when/3.6.0_jest@29.7.0: + resolution: {integrity: sha512-+cZWTy0ekAJo7M9Om0Scdor1jm3wDiYJWmXE8U22UVnkH54YCXAuaqz3P+up/FdtOg8g4wHOxV7Thd7nKhT6Dg==} + peerDependencies: + jest: '>= 25' + dependencies: + jest: 29.7.0_hdaboqmynivzxn73q3ixcvbfym + dev: true + + /jest-worker/29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 20.12.12 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest/29.7.0_hdaboqmynivzxn73q3ixcvbfym: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0_node-notifier@10.0.1 + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0_hdaboqmynivzxn73q3ixcvbfym + node-notifier: 10.0.1 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + + /jiti/1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /joi/17.13.1: + resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + dev: false + + /js-sha1/0.6.0: + resolution: {integrity: sha512-01gwBFreYydzmU9BmZxpVk6svJJHrVxEN3IOiGl6VO93bVKYETJ0sIth6DASI6mIFdt7NmfX9UiByRzsYHGU9w==} + dev: false + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /jsesc/0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /jsesc/3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-buffer/3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + dev: true + + /json-buffer/3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + /json-diff/1.0.6: + resolution: {integrity: sha512-tcFIPRdlc35YkYdGxcamJjllUhXWv4n2rK9oJ2RsAzV4FBkuV4ojKEDgcZ+kpKxDmJKv+PFK65+1tVVOnSeEqA==} + hasBin: true + dependencies: + '@ewoudenberg/difflib': 0.1.0 + colors: 1.4.0 + dreamopt: 0.8.0 + dev: false + + /json-parse-better-errors/1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + requiresBuild: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + /json-size/1.0.0: + resolution: {integrity: sha512-sh8Ff4sNVI3FU1LjFXiNpcG9Er9bsn8WbeR79mGj4Ljd+/NBmxqYCV1sPzndUTGsWXa3LVUx3aLlZxpq1DzCBA==} + dependencies: + utf8-length: 0.0.1 + dev: false + + /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==} + dev: true + + /json5/1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonata/2.0.5: + resolution: {integrity: sha512-wEse9+QLIIU5IaCgtJCPsFi/H4F3qcikWzF4bAELZiRz08ohfx3Q6CjDRf4ZPF5P/92RI3KIHtb7u3jqPaHXdQ==} + engines: {node: '>= 8'} + dev: false + + /jsonc-parser/3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonparse/1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /jsontoxml/1.0.1: + resolution: {integrity: sha512-dtKGq0K8EWQBRqcAaePSgKR4Hyjfsz/LkurHSV3Cxk4H+h2fWDeaN2jzABz+ZmOJylgXS7FGeWmbZ6jgYUMdJQ==} + engines: {node: '>=0.2.0'} + dev: false + + /keygrip/1.1.0: + resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} + engines: {node: '>= 0.6'} + dependencies: + tsscmp: 1.0.6 + dev: false + + /keyv/3.0.0: + resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} + dependencies: + json-buffer: 3.0.0 + dev: true + + /keyv/4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + /kleur/3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /koa-bodyparser/4.4.1: + resolution: {integrity: sha512-kBH3IYPMb+iAXnrxIhXnW+gXV8OTzCu8VPDqvcDHW9SQrbkHmqPQtiZwrltNmSq6/lpipHnT7k7PsjlVD7kK0w==} + engines: {node: '>=8.0.0'} + dependencies: + co-body: 6.1.0 + copy-to: 2.0.1 + type-is: 1.6.18 + dev: false + + /koa-compose/4.1.0: + resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} + dev: false + + /koa-convert/2.0.0: + resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} + engines: {node: '>= 10'} + dependencies: + co: 4.6.0 + koa-compose: 4.1.0 + dev: false + + /koa/2.15.3: + resolution: {integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==} + engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} + dependencies: + accepts: 1.3.8 + cache-content-type: 1.0.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookies: 0.9.1 + debug: 4.3.4 + delegates: 1.0.0 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + fresh: 0.5.2 + http-assert: 1.5.0 + http-errors: 1.8.1 + is-generator-function: 1.0.10 + koa-compose: 4.1.0 + koa-convert: 2.0.0 + on-finished: 2.4.1 + only: 0.0.2 + parseurl: 1.3.3 + statuses: 1.5.0 + type-is: 1.6.18 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /koa2-swagger-ui/5.10.0_@types+koa@2.15.0: + resolution: {integrity: sha512-UEktDUyWP5BvBB8glVWHN14246IH6WZC8sryONC+v9Rm6FA3/8V+CgXpRuHkAEy0KntMwp2sJ5CutTu6ODtC3w==} + peerDependencies: + '@types/koa': '*' + dependencies: + '@types/koa': 2.15.0 + handlebars: 4.7.8 + lodash: 4.17.21 + read-pkg-up: 7.0.1 + dev: false + + /kuler/2.0.0: + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + dev: false + + /lazy-ass/1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + dev: true + + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + /lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + requiresBuild: true + + /lint-staged/13.3.0: + resolution: {integrity: sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + chalk: 5.3.0 + commander: 11.0.0 + debug: 4.3.4 + execa: 7.2.0 + lilconfig: 2.1.0 + listr2: 6.6.1 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.1 + transitivePeerDependencies: + - enquirer + - supports-color + dev: true + + /listr2/6.6.1: + resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} + engines: {node: '>=16.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.3.1 + wrap-ansi: 8.1.0 + dev: true + + /load-json-file/1.1.0: + resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 2.2.0 + pify: 2.3.0 + pinkie-promise: 2.0.1 + strip-bom: 2.0.0 + dev: true + + /load-json-file/4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /locate-path/2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: true + + /locate-path/3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash._reinterpolate/3.0.0: + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + dev: true + + /lodash.camelcase/4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true + + /lodash.defaults/4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + dev: false + + /lodash.isarguments/3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + dev: false + + /lodash.isfunction/3.0.9: + resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} + dev: true + + /lodash.ismatch/4.4.0: + resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} + dev: true + + /lodash.isplainobject/4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.kebabcase/4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + dev: true + + /lodash.map/4.6.0: + resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} + dev: true + + /lodash.memoize/4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + /lodash.mergewith/4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + + /lodash.snakecase/4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + dev: true + + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: false + + /lodash.startcase/4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /lodash.template/4.5.0: + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + dependencies: + lodash._reinterpolate: 3.0.0 + lodash.templatesettings: 4.2.0 + dev: true + + /lodash.templatesettings/4.2.0: + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + dependencies: + lodash._reinterpolate: 3.0.0 + dev: true + + /lodash.uniq/4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + /lodash.upperfirst/4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /log-symbols/2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} + dependencies: + chalk: 2.4.2 + dev: false + + /log-symbols/4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update/5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.0 + wrap-ansi: 8.1.0 + dev: true + + /logform/2.6.0: + resolution: {integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@colors/colors': 1.6.0 + '@types/triple-beam': 1.3.5 + fecha: 4.2.3 + ms: 2.1.3 + safe-stable-stringify: 2.4.3 + triple-beam: 1.4.1 + dev: false + + /long/5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + dev: false + + /longest/2.0.1: + resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} + engines: {node: '>=0.10.0'} + dev: true + + /loud-rejection/1.6.0: + resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} + engines: {node: '>=0.10.0'} + dependencies: + currently-unhandled: 0.4.1 + signal-exit: 3.0.7 + dev: true + + /lowercase-keys/1.0.0: + resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} + engines: {node: '>=0.10.0'} + dev: true + + /lowercase-keys/1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + dev: true + + /lru-cache/10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /madge/6.1.0_typescript@5.4.5: + resolution: {integrity: sha512-irWhT5RpFOc6lkzGHKLihonCVgM0YtfNUh4IrFeW3EqHpnt/JHUG3z26j8PeJEktCGB4tmGOOOJi1Rl/ACWucQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + typescript: ^3.9.5 || ^4.9.5 || ^5 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + chalk: 4.1.2 + commander: 7.2.0 + commondir: 1.0.1 + debug: 4.3.4 + dependency-tree: 9.0.0 + detective-amd: 4.2.0 + detective-cjs: 4.1.0 + detective-es6: 3.0.1 + detective-less: 1.0.2 + detective-postcss: 6.1.3 + detective-sass: 4.1.3 + detective-scss: 3.1.1 + detective-stylus: 2.0.1 + detective-typescript: 9.1.1 + ora: 5.4.1 + pluralize: 8.0.0 + precinct: 8.3.1 + pretty-ms: 7.0.1 + rc: 1.2.8 + stream-to-array: 2.3.0 + ts-graphviz: 1.8.2 + typescript: 5.4.5 + walkdir: 0.4.1 + transitivePeerDependencies: + - supports-color + dev: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: false + + /make-dir/4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.2 + dev: true + + /make-error/1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /makeerror/1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /map-obj/1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/2.0.0: + resolution: {integrity: sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==} + engines: {node: '>=4'} + dev: true + + /map-obj/4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /match-json/1.3.7: + resolution: {integrity: sha512-2/GIaio/oVWVHGdKOIbqfgqT5vH91K3c91l6EAsVydMAjB0iGy5PVABicKzNT1VAgHskZHbaZK9q96AmgTEqkw==} + dev: false + + /md5/2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + dev: false + + /media-typer/0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /meow/3.7.0: + resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==} + engines: {node: '>=0.10.0'} + dependencies: + camelcase-keys: 2.1.0 + decamelize: 1.2.0 + loud-rejection: 1.6.0 + map-obj: 1.0.1 + minimist: 1.2.8 + normalize-package-data: 2.5.0 + object-assign: 4.1.1 + read-pkg-up: 1.0.1 + redent: 1.0.0 + trim-newlines: 1.0.0 + dev: true + + /meow/4.0.1: + resolution: {integrity: sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==} + engines: {node: '>=4'} + dependencies: + camelcase-keys: 4.2.0 + decamelize-keys: 1.1.1 + loud-rejection: 1.6.0 + minimist: 1.2.8 + minimist-options: 3.0.2 + normalize-package-data: 2.5.0 + read-pkg-up: 3.0.0 + redent: 2.0.0 + trim-newlines: 2.0.0 + dev: true + + /meow/7.1.1: + resolution: {integrity: sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + dev: true + + /meow/8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /merge-descriptors/1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + dev: false + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge/2.1.1: + resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /methods/1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /mime/2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + /mimic-fn/1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + dev: false + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn/4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /mimic-response/1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch/9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist-options/3.0.2: + resolution: {integrity: sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==} + engines: {node: '>= 4'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + dev: true + + /minimist-options/4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist/1.2.7: + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} + dev: true + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /minipass/3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + dev: false + + /minipass/5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + dev: false + + /minipass/7.1.1: + resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /minizlib/2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + dev: false + + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: false + + /mocked-env/1.3.5: + resolution: {integrity: sha512-GyYY6ynVOdEoRlaGpaq8UYwdWkvrsU2xRme9B+WPSuJcNjh17+3QIxSYU6zwee0SbehhV6f06VZ4ahjG+9zdrA==} + engines: {node: '>=6'} + dependencies: + check-more-types: 2.24.0 + debug: 4.3.2 + lazy-ass: 1.6.0 + ramda: 0.27.1 + transitivePeerDependencies: + - supports-color + dev: true + + /modclean-patterns-default/1.1.2: + resolution: {integrity: sha512-h2+ES3SKl+JOtfptJjwJz5fdogFI0byYssw3lXoESNkOcXCnjCvvW6IbMagAKFmfWOx+n9esyomxWP1w4edZjg==} + dev: false + + /modclean/3.0.0-beta.1: + resolution: {integrity: sha512-NyJpuqXMUI190sZePU+dBcwlGaqhfFC+UL5WyNSxmNLOHATg9cVSgRpbY+mUbwUj7t5trb4vYscgXArKevYsdA==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + await-handler: 1.1.2 + chalk: 2.4.2 + commander: 2.20.3 + empty-dir: 1.0.0 + glob: 7.2.3 + lodash.uniq: 4.5.0 + modclean-patterns-default: 1.1.2 + ora: 2.1.0 + progress: 2.0.3 + rimraf: 2.7.1 + subdirs: 1.0.1 + dev: false + + /modify-values/1.0.1: + resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} + engines: {node: '>=0.10.0'} + dev: true + + /module-definition/3.4.0: + resolution: {integrity: sha512-XxJ88R1v458pifaSkPNLUTdSPNVGMP2SXVncVmApGO+gAfrLANiYe6JofymCzVceGOMwQE2xogxBSc8uB7XegA==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + ast-module-types: 3.0.0 + node-source-walk: 4.3.0 + dev: true + + /module-definition/4.1.0: + resolution: {integrity: sha512-rHXi/DpMcD2qcKbPCTklDbX9lBKJrUSl971TW5l6nMpqKCIlzJqmQ8cfEF5M923h2OOLHPDVlh5pJxNyV+AJlw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + ast-module-types: 4.0.0 + node-source-walk: 5.0.2 + dev: true + + /module-lookup-amd/7.0.1: + resolution: {integrity: sha512-w9mCNlj0S8qviuHzpakaLVc+/7q50jl9a/kmJ/n8bmXQZgDPkQHnPBb8MUOYh3WpAYkXuNc2c+khsozhIp/amQ==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + commander: 2.20.3 + debug: 4.3.4 + glob: 7.2.3 + requirejs: 2.3.6 + requirejs-config-file: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /moment-timezone/0.5.45: + resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==} + dependencies: + moment: 2.30.1 + dev: false + + /moment/2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + dev: false + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + /mute-stream/0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /nan/2.19.0: + resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==} + dev: false + + /nanoid/3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: false + + /neo-async/2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + /node-cache/5.1.2: + resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==} + engines: {node: '>= 8.0.0'} + dependencies: + clone: 2.1.2 + dev: false + + /node-fetch/2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-gyp-build/3.9.0: + resolution: {integrity: sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==} + hasBin: true + dev: false + + /node-int64/0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-mocks-http/1.14.1: + resolution: {integrity: sha512-mfXuCGonz0A7uG1FEjnypjm34xegeN5+HI6xeGhYKecfgaZhjsmYoLE9LEFmT+53G1n8IuagPZmVnEL/xNsFaA==} + engines: {node: '>=14'} + dependencies: + '@types/express': 4.17.21 + '@types/node': 20.12.12 + accepts: 1.3.8 + content-disposition: 0.5.4 + depd: 1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.3 + methods: 1.1.2 + mime: 1.6.0 + parseurl: 1.3.3 + range-parser: 1.2.1 + type-is: 1.6.18 + dev: false + + /node-notifier/10.0.1: + resolution: {integrity: sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==} + dependencies: + growly: 1.3.0 + is-wsl: 2.2.0 + semver: 7.6.2 + shellwords: 0.1.1 + uuid: 8.3.2 + which: 2.0.2 + dev: true + + /node-releases/2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + + /node-source-walk/4.3.0: + resolution: {integrity: sha512-8Q1hXew6ETzqKRAs3jjLioSxNfT1cx74ooiF8RlAONwVMcfq+UdzLC2eB5qcPldUxaE5w3ytLkrmV1TGddhZTA==} + engines: {node: '>=6.0'} + dependencies: + '@babel/parser': 7.24.5 + dev: true + + /node-source-walk/5.0.2: + resolution: {integrity: sha512-Y4jr/8SRS5hzEdZ7SGuvZGwfORvNsSsNRwDXx5WisiqzsVfeftDvRgfeqWNgZvWSJbgubTRVRYBzK6UO+ErqjA==} + engines: {node: '>=12'} + dependencies: + '@babel/parser': 7.24.5 + dev: true + + /nopt/5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: false + + /normalize-package-data/2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + /normalize-package-data/3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.13.1 + semver: 7.6.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url/2.0.1: + resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + query-string: 5.1.1 + sort-keys: 2.0.0 + dev: true + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path/5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /npmlog/5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + dev: false + + /number-is-nan/1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + dev: true + + /oauth-1.0a/2.2.6: + resolution: {integrity: sha512-6bkxv3N4Gu5lty4viIcIAnq5GbxECviMBeKR3WX/q87SPQ8E8aursPZUtsXDnxCs787af09WPRBLqYrf/lwoYQ==} + dev: false + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: false + + /object-inspect/1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + /object-sizeof/2.6.4: + resolution: {integrity: sha512-YuJAf7Bi61KROcYmXm8RCeBrBw8UOaJDzTm1gp0eU7RjYi1xEte3/Nmg/VyPaHcJZ3sNojs1Y0xvSrgwkLmcFw==} + dependencies: + buffer: 6.0.3 + dev: false + + /object.assign/4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + /object.entries/1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + /object.fromentries/2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + /object.groupby/1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + + /object.values/1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /one-time/1.0.0: + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + dependencies: + fn.name: 1.1.0 + dev: false + + /onetime/2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + dependencies: + mimic-fn: 1.2.0 + dev: false + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime/6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /only/0.0.2: + resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} + dev: false + + /optionator/0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + /ora/2.1.0: + resolution: {integrity: sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==} + engines: {node: '>=4'} + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-spinners: 1.3.1 + log-symbols: 2.2.0 + strip-ansi: 4.0.0 + wcwidth: 1.0.1 + dev: false + + /ora/5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-tmpdir/1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /p-cancelable/0.4.1: + resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} + engines: {node: '>=4'} + dev: true + + /p-finally/1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true + + /p-is-promise/1.1.0: + resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} + engines: {node: '>=4'} + dev: true + + /p-limit/1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + dependencies: + p-try: 1.0.0 + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-locate/2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + dependencies: + p-limit: 1.3.0 + dev: true + + /p-locate/3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /p-timeout/2.0.1: + resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} + engines: {node: '>=4'} + dependencies: + p-finally: 1.0.0 + dev: true + + /p-timeout/3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + dependencies: + p-finally: 1.0.0 + dev: true + + /p-try/1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + /p-wait-for/3.2.0: + resolution: {integrity: sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA==} + engines: {node: '>=8'} + dependencies: + p-timeout: 3.2.0 + dev: true + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + + /parse-github-repo-url/1.4.1: + resolution: {integrity: sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==} + dev: true + + /parse-json/2.2.0: + resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} + engines: {node: '>=0.10.0'} + dependencies: + error-ex: 1.3.2 + dev: true + + /parse-json/4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.24.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + /parse-ms/2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + dev: true + + /parse-passwd/1.0.0: + resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} + engines: {node: '>=0.10.0'} + dev: true + + /parse-static-imports/1.1.0: + resolution: {integrity: sha512-HlxrZcISCblEV0lzXmAHheH/8qEkKgmqkdxyHTPbSqsTUV8GzqmN1L+SSti+VbNPfbBO3bYLPHDiUs2avbAdbA==} + dev: false + + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: false + + /path-exists/2.1.0: + resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie-promise: 2.0.1 + dev: true + + /path-exists/3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: true + + /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-key/4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /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'} + dependencies: + lru-cache: 10.2.2 + minipass: 7.1.1 + dev: true + + /path-to-regexp/6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + dev: false + + /path-type/1.1.0: + resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: 4.2.11 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + + /path-type/3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + /picocolors/1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pidtree/0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pify/3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pinkie-promise/2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie: 2.0.4 + dev: true + + /pinkie/2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + dev: true + + /pirates/4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /pluralize/8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /possible-typed-array-names/1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + /postcss-values-parser/2.0.1: + resolution: {integrity: sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==} + engines: {node: '>=6.14.4'} + dependencies: + flatten: 1.0.3 + indexes-of: 1.0.1 + uniq: 1.0.1 + dev: true + + /postcss-values-parser/6.0.2_postcss@8.4.38: + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.2.9 + dependencies: + color-name: 1.1.4 + is-url-superb: 4.0.0 + postcss: 8.4.38 + quote-unquote: 1.0.0 + dev: true + + /postcss/8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + dev: true + + /pprof-format/2.1.0: + resolution: {integrity: sha512-0+G5bHH0RNr8E5hoZo/zJYsL92MhkZjwrHp3O2IxmY8RJL9ooKeuZ8Tm0ZNBw5sGZ9TiM71sthTjWoR2Vf5/xw==} + dev: false + + /pprof/4.0.0: + resolution: {integrity: sha512-Yhfk7Y0G1MYsy97oXxmSG5nvbM1sCz9EALiNhW/isAv5Xf7svzP+1RfGeBlS6mLSgRJvgSLh6Mi5DaisQuPttw==} + engines: {node: '>=14.0.0'} + requiresBuild: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + bindings: 1.5.0 + delay: 5.0.0 + findit2: 2.2.3 + nan: 2.19.0 + p-limit: 3.1.0 + protobufjs: 7.2.6 + source-map: 0.8.0-beta.0 + split: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /precinct/8.3.1: + resolution: {integrity: sha512-pVppfMWLp2wF68rwHqBIpPBYY8Kd12lDhk8LVQzOwqllifVR15qNFyod43YLyFpurKRZQKnE7E4pofAagDOm2Q==} + engines: {node: ^10.13 || ^12 || >=14} + hasBin: true + dependencies: + commander: 2.20.3 + debug: 4.3.4 + detective-amd: 3.1.2 + detective-cjs: 3.1.3 + detective-es6: 2.2.2 + detective-less: 1.0.2 + detective-postcss: 4.0.0 + detective-sass: 3.0.2 + detective-scss: 2.0.2 + detective-stylus: 1.0.3 + detective-typescript: 7.0.2 + module-definition: 3.4.0 + node-source-walk: 4.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /precinct/9.2.1: + resolution: {integrity: sha512-uzKHaTyiVejWW7VJtHInb9KBUq9yl9ojxXGujhjhDmPon2wgZPBKQIKR+6csGqSlUeGXAA4MEFnU6DesxZib+A==} + engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} + hasBin: true + dependencies: + '@dependents/detective-less': 3.0.2 + commander: 9.5.0 + detective-amd: 4.2.0 + detective-cjs: 4.1.0 + detective-es6: 3.0.1 + detective-postcss: 6.1.3 + detective-sass: 4.1.3 + detective-scss: 3.1.1 + detective-stylus: 3.0.0 + detective-typescript: 9.1.1 + module-definition: 4.1.0 + node-source-walk: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + /prepend-http/2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + dev: true + + /prettier-linter-helpers/1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier/3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-bytes/5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /pretty-format/29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + dev: true + + /pretty-ms/7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + dependencies: + parse-ms: 2.1.0 + dev: true + + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /progress/2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: false + + /prom-client/14.2.0: + resolution: {integrity: sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA==} + engines: {node: '>=10'} + dependencies: + tdigest: 0.1.2 + dev: false + + /prompts/2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /protobufjs/7.2.6: + resolution: {integrity: sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 20.12.12 + long: 5.2.3 + dev: false + + /proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode/2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /pure-rand/6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + dev: true + + /q/1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + dev: true + + /qs/6.12.1: + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.6 + + /query-string/5.1.1: + resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} + engines: {node: '>=0.10.0'} + dependencies: + decode-uri-component: 0.2.2 + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /quick-lru/1.1.0: + resolution: {integrity: sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==} + engines: {node: '>=4'} + dev: true + + /quick-lru/4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /quote-unquote/1.0.0: + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + dev: true + + /ramda/0.27.1: + resolution: {integrity: sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==} + dev: true + + /range-parser/1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: false + + /raw-body/2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /rc/1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + + /react-is/18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true + + /read-pkg-up/1.0.1: + resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} + engines: {node: '>=0.10.0'} + dependencies: + find-up: 1.1.2 + read-pkg: 1.1.0 + dev: true + + /read-pkg-up/3.0.0: + resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} + engines: {node: '>=4'} + dependencies: + find-up: 2.1.0 + read-pkg: 3.0.0 + dev: true + + /read-pkg-up/7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + /read-pkg/1.1.0: + resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==} + engines: {node: '>=0.10.0'} + dependencies: + load-json-file: 1.1.0 + normalize-package-data: 2.5.0 + path-type: 1.1.0 + dev: true + + /read-pkg/3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + + /read-pkg/5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + /readable-stream/2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream/3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /redent/1.0.0: + resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==} + engines: {node: '>=0.10.0'} + dependencies: + indent-string: 2.1.0 + strip-indent: 1.0.1 + dev: true + + /redent/2.0.0: + resolution: {integrity: sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==} + engines: {node: '>=4'} + dependencies: + indent-string: 3.2.0 + strip-indent: 2.0.0 + dev: true + + /redent/3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /redis-errors/1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + dev: false + + /redis-parser/3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + dependencies: + redis-errors: 1.2.0 + dev: false + + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /regexp-tree/0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags/1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + + /regjsparser/0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /repeating/2.0.1: + resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} + engines: {node: '>=0.10.0'} + dependencies: + is-finite: 1.1.0 + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /requirejs-config-file/4.0.0: + resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} + engines: {node: '>=10.13.0'} + dependencies: + esprima: 4.0.1 + stringify-object: 3.3.0 + dev: true + + /requirejs/2.3.6: + resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /resolve-cwd/3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-dependency-path/2.0.0: + resolution: {integrity: sha512-DIgu+0Dv+6v2XwRaNWnumKu7GPufBBOr5I1gRPJHkvghrfCGOooJODFvgFimX/KRxk9j0whD2MnKHzM1jYvk9w==} + engines: {node: '>=6.0.0'} + dev: true + + /resolve-dir/1.0.1: + resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} + engines: {node: '>=0.10.0'} + dependencies: + expand-tilde: 2.0.2 + global-modules: 1.0.0 + dev: true + + /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'} + dev: true + + /resolve-global/1.0.0: + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} + dependencies: + global-dirs: 0.1.1 + dev: true + + /resolve.exports/2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true + + /resolve/1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /responselike/1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + dependencies: + lowercase-keys: 1.0.1 + dev: true + + /restore-cursor/2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + dev: false + + /restore-cursor/3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /restore-cursor/4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc/1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /right-pad/1.0.1: + resolution: {integrity: sha512-bYBjgxmkvTAfgIYy328fmkwhp39v8lwVgWhhrzxPV3yHtcSqyYKe9/XOhvW48UFjATg3VuJbpsp5822ACNvkmw==} + engines: {node: '>= 0.10'} + deprecated: Please use String.prototype.padEnd() over this package. + dev: true + + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + + /roarr/7.21.1: + resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + dev: true + + /rudder-transformer-cdk/1.4.11: + resolution: {integrity: sha512-u2t/L47tNe9wyzSpQptLkiECT0/P5Xx8BLmZisfuXQx3lXco57oaDX/Ii1ZhEiHM2zht+NiyrGkvhBKMt1IAyA==} + dependencies: + get-value: 3.0.1 + handlebars: 4.7.8 + joi: 17.13.1 + js-yaml: 4.1.0 + lodash: 4.17.21 + moment-timezone: 0.5.45 + set-value: 4.1.0 + sha256: 0.2.0 + unset-value: 2.0.1 + winston: 3.13.0 + dev: false + + /run-async/2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /rxjs/7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.2 + dev: true + + /safe-array-concat/1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-regex-test/1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + + /safe-regex/2.1.1: + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + dependencies: + regexp-tree: 0.1.27 + dev: true + + /safe-stable-stringify/2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /sass-lookup/3.0.0: + resolution: {integrity: sha512-TTsus8CfFRn1N44bvdEai1no6PqdmDiQUiqW5DlpmtT+tYnIt1tXtDIph5KA1efC+LmioJXSnCtUVpcK9gaKIg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + commander: 2.20.3 + dev: true + + /semver-compare/1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + dev: true + + /semver-regex/2.0.0: + resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} + engines: {node: '>=6'} + dev: true + + /semver/5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + /semver/6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + /semver/7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver/7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + /set-blocking/2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + /set-function-length/1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + /set-function-name/2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + /set-value/4.1.0: + resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} + engines: {node: '>=11.0'} + dependencies: + is-plain-object: 2.0.4 + is-primitive: 3.0.1 + dev: false + + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /sha256/0.2.0: + resolution: {integrity: sha512-kTWMJUaez5iiT9CcMv8jSq6kMhw3ST0uRdcIWl3D77s6AsLXNXRp3heeqqfu5+Dyfu4hwpQnMzhqHh8iNQxw0w==} + dependencies: + convert-hex: 0.1.0 + convert-string: 0.1.0 + dev: false + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + /shellwords/0.1.1: + resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} + dev: true + + /side-channel/1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + /signal-exit/4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /simple-swizzle/0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + + /sisteransi/1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + /slice-ansi/5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /sort-keys/2.0.0: + resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /source-map-js/1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support/0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /source-map/0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: false + + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: false + + /spdx-correct/3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.17 + + /spdx-exceptions/2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + + /spdx-license-ids/3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + + /split/1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + dependencies: + through: 2.3.8 + + /split2/2.2.0: + resolution: {integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==} + dependencies: + through2: 2.0.5 + dev: true + + /split2/3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /sqlstring/2.3.3: + resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} + engines: {node: '>= 0.6'} + dev: false + + /stack-generator/2.0.10: + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + dependencies: + stackframe: 1.3.4 + dev: false + + /stack-trace/0.0.10: + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} + dev: false + + /stack-utils/2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /stackframe/1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + dev: false + + /stacktrace-parser/0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + dev: false + + /standard-as-callback/2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + dev: false + + /standard-version/9.5.0: + resolution: {integrity: sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + chalk: 2.4.2 + conventional-changelog: 3.1.25 + conventional-changelog-config-spec: 2.1.0 + conventional-changelog-conventionalcommits: 4.6.3 + conventional-recommended-bump: 6.1.0 + detect-indent: 6.1.0 + detect-newline: 3.1.0 + dotgitignore: 2.1.0 + figures: 3.2.0 + find-up: 5.0.0 + git-semver-tags: 4.1.1 + semver: 7.6.2 + stringify-package: 1.0.1 + yargs: 16.2.0 + dev: true + + /stats-accumulator/1.2.0: + resolution: {integrity: sha512-aUTkHWvO+G8IQdA3UlB3vqIeVUYo0lFNXvOxm1xIBVao47BLTwCXUBa6JCKRy2f/WMi00/epYwYpSI/OowqA2g==} + engines: {node: '>=0.8'} + dev: true + + /statsd-client/0.4.7: + resolution: {integrity: sha512-+sGCE6FednJ/vI7vywErOg/mhVqmf6Zlktz7cdGRnF/cQWXD9ifMgtqU1CIIXmhSwm11SCk4zDN+bwNCvIR/Kg==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + dev: false + + /statuses/1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /stream-browserify/3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /stream-to-array/2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + dependencies: + any-promise: 1.3.0 + dev: true + + /strict-uri-encode/1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /string-argv/0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-length/4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string-width/5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.trim/1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + /string.prototype.trimend/1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + /string.prototype.trimstart/1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /string_decoder/1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + + /stringify-object/3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + + /stringify-package/1.0.1: + resolution: {integrity: sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==} + deprecated: This module is not used anymore, and has been replaced by @npmcli/package-json + dev: true + + /strip-ansi/4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + dependencies: + ansi-regex: 3.0.1 + dev: false + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi/7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom/2.0.0: + resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} + engines: {node: '>=0.10.0'} + dependencies: + is-utf8: 0.2.1 + dev: true + + /strip-bom/3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline/3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-indent/1.0.1: + resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + get-stdin: 4.0.1 + dev: true + + /strip-indent/2.0.0: + resolution: {integrity: sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==} + engines: {node: '>=4'} + dev: true + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments/2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strnum/1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + + /stylus-lookup/3.0.2: + resolution: {integrity: sha512-oEQGHSjg/AMaWlKe7gqsnYzan8DLcGIHe0dUaFkucZZ14z4zjENRlQMCHT4FNsiWnJf17YN9OvrCfCoi7VvOyg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + commander: 2.20.3 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /subdirs/1.0.1: + resolution: {integrity: sha512-KSbUKpwQIRcb5Th+l4EzxEZYpCwV/g0pQ348EV7CIM5YEEgzz2L1KJD8FCeTckTiE/TKn2u09DCxpdAL6/iFbg==} + dependencies: + es6-promise: 3.3.1 + dev: false + + /superagent/8.1.2: + resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} + engines: {node: '>=6.4.0 <13 || >=14'} + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + dependencies: + component-emitter: 1.3.1 + cookiejar: 2.1.4 + debug: 4.3.4 + fast-safe-stringify: 2.1.1 + form-data: 4.0.0 + formidable: 2.1.2 + methods: 1.1.2 + mime: 2.6.0 + qs: 6.12.1 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + dev: true + + /supertest/6.3.4: + resolution: {integrity: sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==} + engines: {node: '>=6.4.0'} + dependencies: + methods: 1.1.2 + superagent: 8.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /swagger-cli/4.0.4: + resolution: {integrity: sha512-Cp8YYuLny3RJFQ4CvOBTaqmOOgYsem52dPx1xM5S4EUWFblIh2Q8atppMZvXKUr1e9xH5RwipYpmdUzdPcxWcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@apidevtools/swagger-cli': 4.0.4 + transitivePeerDependencies: + - openapi-types + dev: true + + /synckit/0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /tapable/2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /tar/6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + + /tdigest/0.1.2: + resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} + dependencies: + bintrees: 1.0.2 + dev: false + + /test-exclude/6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-extensions/1.9.0: + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} + dev: true + + /text-hex/1.0.0: + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} + dev: false + + /text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + /through/2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + /through2/2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + dev: true + + /through2/3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /through2/4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /timed-out/4.0.1: + resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} + engines: {node: '>=0.10.0'} + dev: true + + /tmp/0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /tmpl/1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-function/2.0.6: + resolution: {integrity: sha512-LWfUmW851x5T8+78Nl82CA2j6w0trhoFj4rpS6pFUMgfUMUySDAKPgTvQkUqlWuH3Lihlk5sPyDHSVwmKDSc5Q==} + dependencies: + component-props: 1.1.1 + dev: false + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tr46/0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + + /tr46/1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + dev: false + + /trim-newlines/1.0.0: + resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} + engines: {node: '>=0.10.0'} + dev: true + + /trim-newlines/2.0.0: + resolution: {integrity: sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==} + engines: {node: '>=4'} + dev: true + + /trim-newlines/3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /triple-beam/1.4.1: + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} + engines: {node: '>= 14.0.0'} + dev: false + + /truncate-utf8-bytes/1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + dependencies: + utf8-byte-length: 1.0.5 + dev: false + + /ts-graphviz/1.8.2: + resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} + engines: {node: '>=14.16'} + dev: true + + /ts-jest/29.1.2_efpzjt3ouzl3k5daexyworxca4: + resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} + engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0_hdaboqmynivzxn73q3ixcvbfym + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.6.2 + typescript: 5.4.5 + yargs-parser: 21.1.1 + dev: true + + /ts-node/10.9.2_ydwk4y56plfwtmdx45tnn2rbcm: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.5.1 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /tsconfig-paths/3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + /tslib/2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + /tsscmp/1.0.6: + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} + dev: false + + /tsutils/3.21.0_typescript@3.9.10: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 3.9.10 + dev: true + + /tsutils/3.21.0_typescript@4.9.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /tsutils/3.21.0_typescript@5.4.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.4.5 + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest/0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + /type-fest/0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: false + + /type-fest/0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + /type-fest/1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /type-fest/2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + + /type-is/1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typed-array-buffer/1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + /typed-array-byte-length/1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + /typed-array-byte-offset/1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + /typed-array-length/1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + /typedarray/0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: true + + /typescript/3.9.10: + resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /typescript/4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /typescript/5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + /ua-parser-js/1.0.37: + resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} + dev: false + + /uglify-js/3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + requiresBuild: true + optional: true + + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + /undici-types/5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /uniq/1.0.1: + resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + dev: true + + /universalify/2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /unpipe/1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + + /unset-value/2.0.1: + resolution: {integrity: sha512-2hvrBfjUE00PkqN+q0XP6yRAOGrR06uSiUoIQGZkc7GxvQ9H7v8quUPNtZjMg4uux69i8HWpIjLPUKwCuRGyNg==} + engines: {node: '>=10'} + dependencies: + has-value: 2.0.2 + isobject: 4.0.0 + dev: false + + /update-browserslist-db/1.0.16_browserslist@4.23.0: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.1 + dev: true + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /url-parse-lax/3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + dev: true + + /url-to-options/1.0.1: + resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} + engines: {node: '>= 4'} + dev: true + + /utf8-byte-length/1.0.5: + resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} + dev: false + + /utf8-length/0.0.1: + resolution: {integrity: sha512-j/XH2ftofBiobnyApxlN/J6j/ixwT89WEjDcjT66d2i0+GIn9RZfzt8lpEXXE4jUe4NsjBSUq70kS2euQ4nnMw==} + dev: false + + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /uuid/8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + + /uuid/9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + dev: false + + /v8-compile-cache-lib/3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /v8-to-istanbul/9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /valid-url/1.0.9: + resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==} + dev: false + + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + /vary/1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vscode-json-languageservice/4.2.1: + resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} + dependencies: + jsonc-parser: 3.2.1 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + dev: true + + /vscode-languageserver-textdocument/1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + dev: true + + /vscode-languageserver-types/3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + dev: true + + /vscode-nls/5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + dev: true + + /vscode-uri/3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + dev: true + + /walkdir/0.4.1: + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} + dev: true + + /walker/1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /wcwidth/1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + + /webidl-conversions/3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: false + + /whatwg-url/5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: false + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + /which-module/2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true + + /which-typed-array/1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /wide-align/1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + dependencies: + string-width: 4.2.3 + dev: false + + /widest-line/3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + dependencies: + string-width: 4.2.3 + dev: true + + /winston-transport/4.7.0: + resolution: {integrity: sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==} + engines: {node: '>= 12.0.0'} + dependencies: + logform: 2.6.0 + readable-stream: 3.6.2 + triple-beam: 1.4.1 + dev: false + + /winston/3.13.0: + resolution: {integrity: sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==} + engines: {node: '>= 12.0.0'} + dependencies: + '@colors/colors': 1.6.0 + '@dabh/diagnostics': 2.0.3 + async: 3.2.5 + is-stream: 2.0.1 + logform: 2.6.0 + one-time: 1.0.0 + readable-stream: 3.6.2 + safe-stable-stringify: 2.4.3 + stack-trace: 0.0.10 + triple-beam: 1.4.1 + winston-transport: 4.7.0 + dev: false + + /word-wrap/1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + /wordwrap/1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi/8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /write-file-atomic/4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yaml/2.3.1: + resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + engines: {node: '>= 14'} + dev: true + + /yaml/2.4.2: + resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} + engines: {node: '>= 14'} + hasBin: true + dev: false + + /yargs-parser/18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs/15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + + /yargs/17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /ylru/1.4.0: + resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} + engines: {node: '>= 4.0.0'} + dev: false + + /yn/3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + /zod/3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + dev: false diff --git a/src/legacy/router.js b/src/legacy/router.js index 9dd83b5988..cd8e4f34d2 100644 --- a/src/legacy/router.js +++ b/src/legacy/router.js @@ -1287,4 +1287,5 @@ module.exports = { getJobStatus, handleV0Destination, getDestHandler, + handleValidation }; From 874df1ae88e7f4d583f16ed78c57074c061bda66 Mon Sep 17 00:00:00 2001 From: Akash Gupta Date: Wed, 22 May 2024 18:02:56 +0530 Subject: [PATCH 2/4] feat: bun 2 --- src/util/trackingPlan.js | 2950 +++++++++++++++++++++++++++++++++++++- 1 file changed, 2930 insertions(+), 20 deletions(-) diff --git a/src/util/trackingPlan.js b/src/util/trackingPlan.js index ebfbc6049f..b95be49ce0 100644 --- a/src/util/trackingPlan.js +++ b/src/util/trackingPlan.js @@ -19,25 +19,2934 @@ const TRACKING_PLAN_URL = `${CONFIG_BACKEND_URL}/workspaces`; * tpId is updated any time user changes the code in transformation, so there wont be any stale code issues. * TODO: if version is not given, latest TP may be fetched, extract version and populate node cache */ -async function getTrackingPlan(tpId, version, workspaceId) { - const trackingPlan = tpCache.get(`${tpId}::${version}`); - if (trackingPlan) return trackingPlan; - try { - const url = `${TRACKING_PLAN_URL}/${workspaceId}/tracking-plans/${tpId}?version=${version}`; - const startTime = new Date(); - const response = await fetchWithProxy(url); - - responseStatusHandler(response.status, 'Tracking plan', tpId, url); - - stats.timing('get_tracking_plan', startTime); - const myJson = await response.json(); - tpCache.set(`${tpId}::${version}`, myJson); - return myJson; - } catch (error) { - logger.error(`Failed during trackingPlan fetch : ${error}`); - stats.increment('get_tracking_plan_error'); - throw error; - } + function getTrackingPlan(tpId, version, workspaceId) { + return { + "name": "workspaces/1lLaDQS1mdax6dbR08wOUgBJBk1/tracking-plans/tp_27gIzarrRWhkxscAxskVPfY7m1l", + "display_name": "Shippit Tracking Plan", + "version": 42, + "rules": { + "events": [ + { + "id": "ev_2BBoDiSakv3lr13YILhJ9pc9V02", + "name": "Rules engine updated", + "description": "Event fired when enabling / disabling Rules Engine. Event triggers: 1. . Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/QBAehpxbR9/trigger/-x6iKTZ2S", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "attributes_type", + "attributes_updated_location", + "attributes_stored_location", + "method" + ], + "properties": { + "method": { + "type": "string", + "description": "Where the Rules Engine was enabled/disabled from eg \\\"ui\\\"" + }, + "attributes_type": { + "type": "string", + "description": "State of the Rules Engine for a Merchant or company - enabled / disabled" + }, + "attributes_stored_location": { + "type": "string", + "description": "The type of Rules Engine enabled/disabled (\\\"store\\\" OR \\\"company\\\")" + }, + "attributes_updated_location": { + "type": "string", + "description": "The context in which the Rules Engine was enabled/disabled" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2BJvGtw5h31Z6LAlGuSmsYAU9NU", + "name": "Connect integration setup step completed", + "description": "Triggered after completion of each signup page", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "step_completed" + ], + "properties": { + "store_url": { + "type": [ + "string", + "null" + ], + "description": "chrisf-disconnected-store.myshopify.com" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "orders_synced": { + "type": [ + "boolean", + "null" + ], + "description": "true, false" + }, + "shippit_store": { + "type": [ + "string", + "null" + ], + "description": "ibis cycles" + }, + "step_completed": { + "type": "string", + "description": "app installed, connection method, store connected, shipping method mapping" + }, + "fields_modified": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "standard|standard, priority|bonds" + }, + "connection_method": { + "type": [ + "string", + "null" + ], + "description": "new, exisitng" + }, + "integrated_store_location": { + "type": [ + "string", + "null" + ], + "description": "Level 2 4-6 Bligh Street" + }, + "integration_initiated_source": { + "type": [ + "string", + "null" + ], + "description": "Where the user came from to begin the integration. Did they connect the integration through Shippit or the third party platform (e.g Shopify)?" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2BJvGwPM3FkxsLmzq8aDsdHzUB8", + "name": "Connect integration setup completed", + "description": "Triggered when the onbaording process is complete", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "orders_synced" + ], + "properties": { + "store_url": { + "type": [ + "string", + "null" + ], + "description": "chrisf-disconnected-store.myshopify.com" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "orders_synced": { + "type": "boolean", + "description": "true, false" + }, + "shippit_store": { + "type": [ + "string", + "null" + ], + "description": "ibis cycles" + }, + "fields_modified": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "standard|standard, priority|bonds" + }, + "connection_method": { + "type": [ + "string", + "null" + ], + "description": "new, exisitng" + }, + "integrated_store_location": { + "type": [ + "string", + "null" + ], + "description": "Level 2 4-6 Bligh Street" + }, + "integration_initiated_source": { + "type": [ + "string", + "null" + ], + "description": "Where the user came from to begin the integration. Did they connect the integration through Shippit or the third party platform (e.g Shopify)?" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2B0rv7OmbpjWTbIebn2Z5ZpLcnE", + "name": "Order modified", + "description": "Triggered when an orders property is modifed, such as changing the parcel details.", + "version": "5-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "fulfilment_status" + ], + "properties": { + "error": { + "description": "" + }, + "is_bulk": { + "type": [ + "boolean", + "null" + ], + "description": "Was this event trigger by a bulk action. E.g. Selecting 20 orders at once and confirming them together." + }, + "has_error": { + "description": "" + }, + "bulk_count": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "Number of orders included in the bulk operation" + }, + "description": { + "description": "" + }, + "pickup_city": { + "description": "" + }, + "pickup_state": { + "description": "" + }, + "delivery_city": { + "description": "" + }, + "modify_method": { + "description": "" + }, + "package_types": { + "type": [ + "string", + "null" + ], + "description": "E.g. Parcel, preset or custom parcel." + }, + "delivery_state": { + "description": "" + }, + "pickup_country": { + "description": "" + }, + "recipient_name": { + "description": "" + }, + "fields_modified": { + "description": "" + }, + "pickup_postcode": { + "description": "" + }, + "recipient_phone": { + "description": "" + }, + "shippit_context": { + "type": [ + "string", + "null" + ], + "description": "Where did this event happen" + }, + "tracking_number": { + "description": "" + }, + "delivery_country": { + "description": "" + }, + "retailer_invoice": { + "description": "The unique ID from the integration" + }, + "carrier_allocated": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "delivery_postcode": { + "description": "" + }, + "fulfilment_status": { + "type": "string", + "description": "Fulfilment status of the order after it was modified. For example, an order while being fulfilled may have a fulfilment status of 'New' or 'On hold'." + }, + "authority_to_leave": { + "type": [ + "boolean", + "null" + ], + "description": "" + }, + "pickup_country_code": { + "description": "" + }, + "package_total_weight": { + "description": "" + }, + "package_unique_count": { + "description": "" + }, + "product_count_unique": { + "description": "" + }, + "delivery_country_code": { + "description": "" + }, + "delivery_instructions": { + "description": "" + }, + "product_count_ordered": { + "description": "" + }, + "package_quantity_total": { + "description": "" + }, + "package_quantity_parcel": { + "description": "" + }, + "requested_service_level": { + "description": "" + }, + "package_quantity_satchel": { + "description": "" + }, + "package_quantity_merchant_preset": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzg9bzhYNUwEv8BusgTNw8vJ", + "name": "Page viewed", + "description": "A page is viewed within the application", + "version": "5-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "page_source" + ], + "properties": { + "page_name": { + "description": "" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "page_source": { + "type": "string", + "description": "Refers to the previous page a merchant has navigated from" + }, + "page_category": { + "type": [ + "string", + "null" + ], + "description": "The grouping that the defines the area of the product that this page view occured\n" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzbXusCkSpwND5xTIPr10MfT", + "name": "Connect orders imported from integration", + "description": "Event fired when orders are imported from an integration such as Shopify into Shippit", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "import_type": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzavouanHYDOYKHSvqWWbDDP", + "name": "Connect order sync settings saved", + "description": "Event fired when the sync settings are updated", + "version": "4-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "sync_delivery_instructions", + "default_email", + "auto_sync_new_orders", + "allow_partial_syncing" + ], + "properties": { + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "default_email": { + "type": "boolean", + "description": "true, false" + }, + "sync_orders_trigger": { + "type": [ + "string", + "null" + ], + "description": "paid, created" + }, + "auto_sync_new_orders": { + "type": "boolean", + "description": "true, false" + }, + "allow_partial_syncing": { + "type": "boolean", + "description": "" + }, + "exclude_orders_auto_sync": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "This is a product tag that defines why the orders were skipped\n" + }, + "sync_delivery_instructions": { + "type": "boolean", + "description": "true, false" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzg317fzjYnEyUOeOi4LWero", + "name": "Connect fulfillment settings saved", + "description": "Event fired when the fulfillment settings are updated", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "fulfill_orders" + ], + "properties": { + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "fulfill_orders": { + "type": "boolean", + "description": "true, false" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzZhtuN6Hcj7lDmDxKZrhtbh", + "name": "Connect shipping methods mapped", + "description": "Event fired when the shipping methods are updated from settings", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "fields_modified" + ], + "properties": { + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "fields_modified": { + "type": "array", + "items": { + "type": "string" + }, + "description": "standard|standard, priority|bonds" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzbZImLp78KStkin79RqL3Oc", + "name": "Connect sync history filtered", + "description": "Event fired when the the history tables are filtered", + "version": "4-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "sync_history_type", + "search_value", + "date" + ], + "properties": { + "date": { + "type": "boolean", + "description": "true, false" + }, + "status": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Synced, Waiting, Failed" + }, + "service": { + "type": [ + "string", + "null" + ], + "description": "Standard, Express, Prioirty" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "search_value": { + "type": "boolean", + "description": "true, false" + }, + "sync_history_type": { + "type": "string", + "description": "order history, fulfillment history" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzaF3cUWUKhzi3sZV5DRhjDY", + "name": "Connect integration removed", + "description": "Triggered when a Connect integration is removed from a Shippit account", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "store_url" + ], + "properties": { + "store_url": { + "type": "string", + "description": "chrisf-disconnected-store.myshopify.com" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzcf88p9tQD8NCrxlyKY0keu", + "name": "Connect integration step completed", + "description": "Triggered after completion of each signup page", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "step_completed", + "store_url", + "connection_method", + "thirdparty_store_name", + "integrated_store_location", + "shippit_store", + "fields_modified" + ], + "properties": { + "store_url": { + "type": "string", + "description": "chrisf-disconnected-store.myshopify.com" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "shippit_store": { + "type": "string", + "description": "ibis cycles" + }, + "step_completed": { + "type": "string", + "description": "app installed, connection method, store connected, shipping method mapping" + }, + "fields_modified": { + "type": "array", + "items": { + "type": "string" + }, + "description": "standard|standard, priority|bonds" + }, + "connection_method": { + "type": "string", + "description": "new, exisitng" + }, + "thirdparty_store_name": { + "type": "string", + "description": "The name of the third party store that was disconnected from Shippit when the integration was removed. eg the name of the Shopify Store which could be different from the Shippit merchant name" + }, + "integrated_store_location": { + "type": "string", + "description": "Level 2 4-6 Bligh Street" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_27gIzctvs5hQMBHlwOdIrTKrTyy", + "name": "Connect integration completed", + "description": "Triggered when the onbaording process is complete", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "step_completed", + "store_url", + "connection_method", + "thirdparty_store_name", + "integrated_store_location", + "shippit_store", + "fields_modified", + "orders_synced" + ], + "properties": { + "store_url": { + "type": "string", + "description": "chrisf-disconnected-store.myshopify.com" + }, + "integration": { + "type": [ + "string", + "null" + ], + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "orders_synced": { + "type": "boolean", + "description": "true, false" + }, + "shippit_store": { + "type": "string", + "description": "ibis cycles" + }, + "step_completed": { + "type": "string", + "description": "connection method selected" + }, + "fields_modified": { + "type": "array", + "items": { + "type": "string" + }, + "description": "standard|standard, priority|bonds" + }, + "connection_method": { + "type": "string", + "description": "new, exisitng" + }, + "thirdparty_store_name": { + "type": "string", + "description": "The name of the third party store that was disconnected from Shippit when the integration was removed. eg the name of the Shopify Store which could be different from the Shippit merchant name" + }, + "integrated_store_location": { + "type": "string", + "description": "Level 2 4-6 Bligh Street" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AXzypwSoLggbhHzSTn3hkuNrLX", + "name": "Subscription activated", + "description": "Triggered when a subscription is added by a user or by an admin", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "triggered_by_admin", + "subscription_plan_category" + ], + "properties": { + "shippit_context": { + "type": [ + "string", + "null" + ], + "description": "Where did this event happen" + }, + "subscription_fee": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "The flat monthly fee charged for the subscription " + }, + "triggered_by_admin": { + "type": "boolean", + "description": "Whether or not the user that triggered this event was a Shippit admin. Is either true or false." + }, + "subscription_currency": { + "type": [ + "string", + "null" + ], + "description": "The currency that the subscription will be charged in " + }, + "subscription_plan_name": { + "type": [ + "string", + "null" + ], + "description": "The name of the plan attached to the subscription " + }, + "subscription_fee_per_sms": { + "type": [ + "number", + "null" + ], + "description": "The amount charged for every sms notification sent " + }, + "subscription_plan_campaign": { + "type": [ + "string", + "null" + ], + "description": "The relevant campaign a plan is connected to. E.g. A certain promotion or discount." + }, + "subscription_plan_category": { + "type": "string", + "description": "The category of the plan that the subscription is associated to eg \\\"Grandfathered\\\", \\\"Pro\\\", \\\"Lite\\\"" + }, + "subscription_extra_booking_fee": { + "type": [ + "number", + "null" + ], + "description": "The amount a merchant is charged per booking when they exceed their included booking limit" + }, + "subscription_included_bookings": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "A amount of bookings per month this plan includes" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AXzyn3rfR2mvr0KyG6o4uVtQqS", + "name": "Subscription deactivated", + "description": "Triggered when a subscription is removed by a user or by an admin", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "subscription_fee_per_sms", + "subscription_plan_campaign", + "subscription_extra_booking_fee", + "triggered_by_admin", + "subscription_plan_category" + ], + "properties": { + "shippit_context": { + "type": [ + "string", + "null" + ], + "description": "Where did this event happen" + }, + "subscription_fee": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "The flat monthly fee charged for the subscription " + }, + "deactivate_reason": { + "description": "The cateogry for why this subscription was deactivated. " + }, + "triggered_by_admin": { + "type": "boolean", + "description": "Whether or not the user that triggered this event was a Shippit admin. Is either true or false." + }, + "deactivate_reason_one": { + "description": "" + }, + "deactivate_reason_two": { + "description": "" + }, + "subscription_currency": { + "type": [ + "string", + "null" + ], + "description": "The currency that the subscription will be charged in " + }, + "subscription_plan_name": { + "type": [ + "string", + "null" + ], + "description": "The name of the plan attached to the subscription " + }, + "subscription_fee_per_sms": { + "type": "number", + "description": "The amount charged for every sms notification sent " + }, + "subscription_plan_campaign": { + "type": "string", + "description": "The relevant campaign a plan is connected to. E.g. A certain promotion or discount." + }, + "subscription_plan_category": { + "type": "string", + "description": "The category of the plan that the subscription is associated to eg \\\"Grandfathered\\\", \\\"Pro\\\", \\\"Lite\\\"" + }, + "subscription_extra_booking_fee": { + "type": "number", + "description": "The amount a merchant is charged per booking when they exceed their included booking limit" + }, + "subscription_included_bookings": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "A amount of bookings per month this plan includes" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AXzyouZjNrZlGp8zvDTDTOA2GY", + "name": "Subscription modified", + "description": "Triggered when a modified by a user or admin", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "subscription_upgraded", + "subscription_downgraded", + "subscription_plan_name_from", + "subscription_plan_name_to", + "subscription_plan_category_from", + "subscription_plan_category_to", + "subscription_plan_monthly_fee_from", + "subscription_plan_monthly_fee_to", + "subscription_plan_included_bookings_from", + "subscription_plan_included_bookings_to", + "triggered_by_admin" + ], + "properties": { + "shippit_context": { + "type": [ + "string", + "null" + ], + "description": "Where did this event happen" + }, + "triggered_by_admin": { + "type": "boolean", + "description": "Whether or not the user that triggered this event was a Shippit admin. Is either true or false." + }, + "subscription_upgraded": { + "type": "boolean", + "description": "Whether or not the subscription was upgraded. Returns True or false. Based on the plans monthly fee." + }, + "subscription_downgraded": { + "type": "boolean", + "description": "Whether or not the subscription was downgraded. Returns True or false. Based on the plans monthly fee." + }, + "subscription_plan_name_to": { + "type": "string", + "description": "The name of the plan that the subscription was changed to" + }, + "subscription_plan_name_from": { + "type": "string", + "description": "The name of the previous plan, before the subscription was modified" + }, + "subscription_plan_category_to": { + "type": "string", + "description": "The category of the plan that the subscription was changed to" + }, + "subscription_plan_category_from": { + "type": "string", + "description": "The category of the previous plan, before it was modified." + }, + "subscription_plan_monthly_fee_to": { + "type": "number", + "multipleOf": 1, + "description": "The monthly fee of the new plan that subscription was changed to" + }, + "subscription_plan_monthly_fee_from": { + "type": "number", + "multipleOf": 1, + "description": "The month" + }, + "subscription_plan_included_bookings_to": { + "type": "string", + "description": "The number of included bookings of the new plan." + }, + "subscription_plan_included_bookings_from": { + "type": "string", + "description": "The number of included bookings the previous plan had, before it was modified." + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AXzypcAFUVnfgx9cCMktFdeLSW", + "name": "Payment failed", + "description": "Triggered anytime a payment fails for a subscription. This may be as part of the daily cron job or when an admin or merchant manually attempts a payment.", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "days_overdue", + "invoice_type", + "total_invoice_amount", + "invoice_id" + ], + "properties": { + "invoice_id": { + "type": "string", + "description": "What is the unique ID of the associated invoice" + }, + "days_overdue": { + "type": "number", + "multipleOf": 1, + "description": "How many days overdue is the subscription since the payment first failed" + }, + "invoice_type": { + "type": "string", + "description": "Was this a shipping or subscription invoice?" + }, + "subscription_fee": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "The flat monthly fee charged for the subscription " + }, + "total_invoice_amount": { + "type": "string", + "description": "Total amount charged from the invoice" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AXzynKVrLsZELrMFuP4W7lIXJ6", + "name": "Payment successful", + "description": "Trigger when either a shipping invoice or software invoice is successfully\n paid. Event triggers: 1. This event is triggered when the payment for either a shipping or software invoice successfully goes through. This is a backend only event. . Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/YWJ6z8C4jA/trigger/oYjXwF8xF", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "invoice_type", + "total_invoice_amount", + "invoice_id" + ], + "properties": { + "invoice_id": { + "type": "string", + "description": "What is the unique ID of the associated invoice" + }, + "invoice_type": { + "type": "string", + "description": "Was this a shipping or subscription invoice?" + }, + "subscription_fee": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "The flat monthly fee charged for the subscription " + }, + "total_invoice_amount": { + "type": "string", + "description": "Total amount charged from the invoice" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AXzykKKn7R7iHNwqVk6ODLD8hH", + "name": "Merchant state modified", + "description": "Triggered when a merchant is disabled or undisabled", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "merchant_disabled", + "triggered_by_admin", + "triggered_automatically" + ], + "properties": { + "subscription_fee": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "The flat monthly fee charged for the subscription " + }, + "merchant_disabled": { + "type": "string", + "description": "Is the associated merchant disabled or not " + }, + "triggered_by_admin": { + "type": "boolean", + "description": "Whether or not the user that triggered this event was a Shippit admin. Is either true or false." + }, + "triggered_automatically": { + "type": "boolean", + "description": "Was this event triggered by automatically by our failed payments process\n" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOASAxuKshRVJiIyJheurZCaT", + "name": "Customised orders table", + "description": "Triggered when a user updates their settings for the new orders table, such as showing or hiding the products column.", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [], + "properties": {} + } + }, + { + "id": "ev_2AdOAUVKXAoKQfDFCmu7eivSrWy", + "name": "Document(s) downloaded", + "description": "Triggered when any document is downloaded through the shippit UI.", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "download_method" + ], + "properties": { + "is_bulk": { + "type": [ + "boolean", + "null" + ], + "description": "Was this event trigger by a bulk action. E.g. Selecting 20 orders at once and confirming them together." + }, + "order_count": { + "description": "How many orders were included in the bulk action" + }, + "document_type": { + "description": "What document was dowloaded? E.g. Label, picklist, packlip" + }, + "download_method": { + "type": "string", + "description": "What this order downloaded or printed?" + }, + "shippit_context": { + "type": [ + "string", + "null" + ], + "description": "Where did this event happen" + }, + "tracking_number": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOARwFbSmrm7DzMQx7kkOhHnQ", + "name": "Order added", + "description": "Triggered when an order is added, either directly via the API or through the add order modal.", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "courier": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "pickup_city": { + "description": "" + }, + "pickup_state": { + "description": "" + }, + "delivery_city": { + "description": "" + }, + "package_types": { + "type": [ + "string", + "null" + ], + "description": "E.g. Parcel, preset or custom parcel." + }, + "delivery_state": { + "description": "" + }, + "filter_applied": { + "description": "" + }, + "pickup_country": { + "description": "" + }, + "pickup_postcode": { + "description": "" + }, + "tracking_number": { + "description": "" + }, + "delivery_country": { + "description": "" + }, + "carrier_allocated": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "delivery_postcode": { + "description": "" + }, + "authority_to_leave": { + "type": [ + "boolean", + "null" + ], + "description": "" + }, + "transit_protection": { + "description": "" + }, + "shipping_cart_method": { + "description": "" + }, + "order_creation_method": { + "description": "" + }, + "product_count_ordered": { + "description": "" + }, + "requested_service_level": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOAVTSrT19gg3jfcxcaV45lil", + "name": "Order booked", + "description": "The order booked event is triggered every time an order is booked regardless of whether its an API booking or UI booking\n\nThe order booked event is triggered when the orders are booked for pickup. This is the point that the merchant incurs a cost. The order booked event only counts successfully booked orders", + "version": "4-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "carrier": { + "type": [ + "string", + "null" + ], + "description": "The name of the allocated to this order" + }, + "courier": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "order_number": { + "description": "the order number" + }, + "qty_products": { + "description": "" + }, + "byo_or_resell": { + "type": [ + "string", + "null" + ], + "description": "Was carrier allocated to this order a BYO or resell one?" + }, + "service_level": { + "description": "" + }, + "order_currency": { + "description": "" + }, + "dangerous_goods": { + "type": [ + "boolean", + "null" + ], + "description": "" + }, + "parcel_quantity": { + "description": "" + }, + "pickup_postcode": { + "description": "" + }, + "tracking_number": { + "description": "the tracking number associated with this order" + }, + "cash_on_delivery": { + "type": [ + "boolean", + "null" + ], + "description": "" + }, + "delivery_postcode": { + "description": "" + }, + "order_book_method": { + "description": "the source of the booking - api,send_a_package, manual, csv, shopify, magento, woocommerce.." + }, + "authority_to_leave": { + "type": [ + "boolean", + "null" + ], + "description": "" + }, + "order_courier_cost": { + "description": "" + }, + "order_retail_price": { + "description": "" + }, + "parcel_weight_unit": { + "description": "" + }, + "transit_protection": { + "description": "" + }, + "pickup_country_code": { + "description": "" + }, + "shop_cart_connected": { + "description": "" + }, + "total_parcel_weight": { + "description": "" + }, + "parcel_charge_method": { + "description": "" + }, + "delivery_country_code": { + "description": "" + }, + "transit_protection_cost": { + "description": "" + }, + "delivery_local_international": { + "description": "" + }, + "rules_engine_changed_quote_recommendation": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOAPbLJjrLwa5dL3AEZr57OrW", + "name": "Order(s) confirmed", + "description": "Triggered when an order is confirmed through the app UI", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "is_bulk": { + "type": [ + "boolean", + "null" + ], + "description": "Was this event trigger by a bulk action. E.g. Selecting 20 orders at once and confirming them together." + }, + "bulk_count": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "Number of orders included in the bulk operation" + }, + "order_count": { + "description": "How many orders were included in the bulk action" + }, + "package_types": { + "type": [ + "string", + "null" + ], + "description": "E.g. Parcel, preset or custom parcel." + }, + "tracking_number": { + "description": "" + }, + "label_downloaded": { + "type": [ + "boolean", + "null" + ], + "description": "When the order was confirmed, was the label retrieved at the same time." + }, + "package_total_weight": { + "description": "" + }, + "label_download_method": { + "description": "If the label was retreived, was it download or instant printed." + }, + "package_quantity_total": { + "description": "" + }, + "package_quantity_parcel": { + "description": "" + }, + "package_quantity_satchel": { + "description": "" + }, + "package_quantity_merchant_preset": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOAO17h2zOHVxM1baVor02dtm", + "name": "Order(s) deleted", + "description": "Triggered when an order is deleted via the app UI", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "is_bulk": { + "type": [ + "boolean", + "null" + ], + "description": "Was this event trigger by a bulk action. E.g. Selecting 20 orders at once and confirming them together." + }, + "order_count": { + "description": "How many orders were included in the bulk action" + }, + "tracking_number": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOAOdUOis0iyeIBZkRTdNNbJi", + "name": "Order(s) modified", + "description": "Triggered when an orders property is modifed, such as changing the parcel details.", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "error": { + "description": "" + }, + "has_error": { + "description": "" + }, + "description": { + "description": "" + }, + "pickup_city": { + "description": "" + }, + "pickup_state": { + "description": "" + }, + "delivery_city": { + "description": "" + }, + "modify_method": { + "description": "" + }, + "package_types": { + "description": "" + }, + "delivery_state": { + "description": "" + }, + "pickup_country": { + "description": "" + }, + "recipient_name": { + "description": "" + }, + "fields_modified": { + "description": "" + }, + "pickup_postcode": { + "description": "" + }, + "recipient_phone": { + "description": "" + }, + "tracking_number": { + "description": "" + }, + "delivery_country": { + "description": "" + }, + "retailer_invoice": { + "description": "" + }, + "carrier_allocated": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "delivery_postcode": { + "description": "" + }, + "authority_to_leave": { + "type": [ + "boolean", + "null" + ], + "description": "" + }, + "package_total_weight": { + "description": "" + }, + "package_unique_count": { + "description": "" + }, + "product_count_unique": { + "description": "" + }, + "delivery_instructions": { + "description": "" + }, + "product_count_ordered": { + "description": "" + }, + "package_quantity_total": { + "description": "" + }, + "package_quantity_parcel": { + "description": "" + }, + "requested_service_level": { + "description": "" + }, + "package_quantity_satchel": { + "description": "" + }, + "package_quantity_merchant_preset": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOAPK3HMSLVPoy31ngZquDdfU", + "name": "Credit card stored", + "description": "Credit card details successfully stored against an account", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "shippit_context": { + "type": [ + "string", + "null" + ], + "description": "Where did this event happen" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOARr3tMPR1cl0Tyz2TEXoKQa", + "name": "Signup completed", + "description": "Triggered when the signup process has been completed", + "version": "5-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "zip": { + "description": "" + }, + "city": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "goals": { + "description": "" + }, + "state": { + "description": "" + }, + "country": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "industry": { + "description": "The industry of the associated merchant." + }, + "store_name": { + "description": "" + }, + "location_type": { + "description": "" + }, + "monthly_volume": { + "description": "" + }, + "preferred_carriers": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Selection of carriers the customer has preference to use" + }, + "store_integrations": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "The user inputted ecommerce platforms as selected from the dropdown. " + }, + "store_integration_freetext": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Free text option for the user to input what ecommerce store they use if it's not listed" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOAUJlw7bKag6KSnuO3vUqyYH", + "name": "Signup step completed", + "description": "Triggered when a step in the signup process has been completed", + "version": "8-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [], + "properties": { + "zip": { + "description": "" + }, + "city": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "goals": { + "description": "" + }, + "state": { + "description": "" + }, + "country": { + "type": [ + "string", + "null" + ], + "description": "" + }, + "industry": { + "description": "The industry of the associated merchant." + }, + "store_name": { + "description": "" + }, + "email_address": { + "type": [ + "string", + "null" + ], + "description": "Email address of the first user for a customer" + }, + "location_type": { + "description": "" + }, + "monthly_volume": { + "description": "" + }, + "step_completed": { + "description": "" + }, + "preferred_carriers": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Selection of carriers the customer has preference to use" + }, + "store_integrations": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "The user inputted ecommerce platforms as selected from the dropdown. " + }, + "store_integration_freetext": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Free text option for the user to input what ecommerce store they use if it's not listed" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2AdOAOizjSaNAqwNiZWdiazwBFm", + "name": "Integration added", + "description": "Event is triggered when a new Connect integration is successful", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "store_url", + "connection_method", + "integrated_store_location", + "shippit_store", + "orders_synced", + "integration_initiated_source" + ], + "properties": { + "store_url": { + "type": "string", + "description": "chrisf-disconnected-store.myshopify.com" + }, + "store_name": { + "description": "" + }, + "orders_synced": { + "type": "boolean", + "description": "true, false" + }, + "shippit_store": { + "type": "string", + "description": "ibis cycles" + }, + "fields_modified": { + "description": "" + }, + "integration_name": { + "description": "The integration that this event relates to, Shopify, Fluent, PeopleVox" + }, + "connection_method": { + "type": "string", + "description": "new, exisitng" + }, + "integrated_store_location": { + "type": "string", + "description": "Level 2 4-6 Bligh Street" + }, + "integration_initiated_source": { + "type": "string", + "description": "Where the user came from to begin the integration. Did they connect the integration through Shippit or the third party platform (e.g Shopify)?" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2BmKoya4TpcgzyNLPGL3h2USQ8a", + "name": "Shipping optimiser generated", + "description": "Event fired when a Shipping Optimiser report is generated. Event triggers: 1. Shipping Optimiser - Default state. Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/ALuV48ikttj/trigger/C-rG5NqZq. 2. Shipping Optimiser - Customised carrier mix screen. Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/ALuV48ikttj/trigger/07g8tiB8M", + "version": "9-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "preference_service", + "preference_allocation", + "recommended_carriers", + "current_carriers_enabled", + "difference_carriers_enabled", + "difference_carriers_disabled", + "current_carriers_full", + "difference_carriers_full", + "current_cost_price", + "current_speed_days", + "current_dot_pct", + "new_cost_price", + "new_speed_days", + "new_dot_pct", + "difference_cost", + "difference_speed", + "difference_dot_pct", + "optimiser_slug", + "custom_carriers_flag", + "merchant_id", + "company_id", + "user_id", + "preference_start_date", + "preference_end_date" + ], + "properties": { + "user_id": { + "type": "string", + "description": "The unique user identifier" + }, + "company_id": { + "type": "string", + "description": "The ID associated with Shippit's company ID" + }, + "merchant_id": { + "type": "string", + "description": "The ID associated with Shippit's merchant UUID" + }, + "new_dot_pct": { + "type": "number", + "description": "Shippit Recommended carrier mix delivered on time percentage" + }, + "new_cost_price": { + "type": "number", + "description": "Shippit Recommended carrier mix total cost " + }, + "new_speed_days": { + "type": "number", + "description": "Shippit Recommended carrier mix total average speed in days" + }, + "optimiser_slug": { + "type": "string", + "description": "Unique slug for the report generated. Generated every time user attempts to generate a report, even if the data hasn't changed." + }, + "current_dot_pct": { + "type": "number", + "description": "Current carrier mix delivered on time percentage" + }, + "custom_carriers": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "User's customised carrier mix" + }, + "difference_cost": { + "type": "number", + "description": "Diff in total cost if Shippit recommendation is applied" + }, + "difference_speed": { + "type": "number", + "description": "Diff in total speed if Shippit recommendation is applied" + }, + "current_cost_price": { + "type": "number", + "description": "Current carrier mix total cost" + }, + "current_speed_days": { + "type": "number", + "description": "Current carrier mix total average speed in days" + }, + "custom_new_dot_pct": { + "type": [ + "number", + "null" + ], + "description": "User's custom carrier mix delivered on time percentage" + }, + "difference_dot_pct": { + "type": "number", + "description": "Diff in total delivered percentage on time if Shippit recommendation custom carrier mix is applied" + }, + "preference_service": { + "type": "string", + "description": "User preference on service levels" + }, + "preference_end_date": { + "type": "string", + "description": "End of the time frame for which the SO data has been generated" + }, + "custom_carriers_flag": { + "type": "boolean", + "description": "User has customised the carrier mix" + }, + "recommended_carriers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Shippit recommended carrier mix" + }, + "current_carriers_full": { + "type": "string", + "description": "Current current carrier mix in detail with metrics" + }, + "custom_new_cost_price": { + "type": [ + "number", + "null" + ], + "description": "User's custom carrier mix total cost " + }, + "custom_new_speed_days": { + "type": [ + "number", + "null" + ], + "description": "User's custom carrier mix total average speed in days" + }, + "preference_allocation": { + "type": "string", + "description": "User preference on allocation" + }, + "preference_start_date": { + "type": "string", + "description": "Start of the time frame for which the SO data has been generated" + }, + "custom_difference_cost": { + "type": [ + "number", + "null" + ], + "description": "Diff in total cost if user's custom carrier mix is applied" + }, + "custom_difference_speed": { + "type": [ + "number", + "null" + ], + "description": "Diff in total speed if user's custom carrier mix is applied" + }, + "current_carriers_enabled": { + "type": "array", + "items": { + "type": "string" + }, + "description": "User's current carrier mix in settings" + }, + "difference_carriers_full": { + "type": "string", + "description": "Diff in carriers & metrics if Shippit recommended carrier mix is applied" + }, + "custom_difference_dot_pct": { + "type": [ + "number", + "null" + ], + "description": "Diff in total delivered on time percentage if user's custom carrier mix is applied" + }, + "difference_carriers_enabled": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Carriers enabled in Shippit recommended carrier mix if applied" + }, + "difference_carriers_disabled": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Carriers disabled in Shippit recommended carrier mix if applied" + }, + "custom_difference_carriers_full": { + "type": [ + "string", + "null" + ], + "description": "Diff in carriers & metrics if user's custom carrier mix is applied" + }, + "custom_difference_carriers_enabled": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Carriers enabled in user's custom carrier mix without all metrics" + }, + "custom_difference_carriers_disabled": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Carriers disabled in user's custom carrier mix if applied" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2BmKowfIwvqeq0SbKa6clcbi8fW", + "name": "Shipping optimiser applied", + "description": "Event fired when a Shipping Optimiser report has been applied by the user, causing a change in carrier settings. Event triggers: 1. Shipping Optimiser - Default state - Carriers updated. Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/LSFT6RvJ2/trigger/TIVDobxhT. 2. Shipping Optimiser - Customised carrier mix screen - Carriers updated. Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/LSFT6RvJ2/trigger/Z3h3iTRV6", + "version": "7-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "preference_service", + "preference_allocation", + "recommended_carriers", + "current_carriers_enabled", + "difference_carriers_enabled", + "difference_carriers_disabled", + "current_carriers_full", + "difference_carriers_full", + "current_cost_price", + "current_speed_days", + "current_dot_pct", + "new_cost_price", + "new_speed_days", + "new_dot_pct", + "difference_cost", + "difference_speed", + "difference_dot_pct", + "optimiser_slug", + "custom_carriers_flag", + "merchant_id", + "company_id", + "user_id", + "preference_start_date", + "preference_end_date" + ], + "properties": { + "user_id": { + "type": "string", + "description": "The unique user identifier" + }, + "company_id": { + "type": "string", + "description": "The ID associated with Shippit's company ID" + }, + "merchant_id": { + "type": "string", + "description": "The ID associated with Shippit's merchant UUID" + }, + "new_dot_pct": { + "type": "number", + "description": "Shippit Recommended carrier mix delivered on time percentage" + }, + "new_cost_price": { + "type": "number", + "description": "Shippit Recommended carrier mix total cost " + }, + "new_speed_days": { + "type": "number", + "description": "Shippit Recommended carrier mix total average speed in days" + }, + "optimiser_slug": { + "type": "string", + "description": "Unique slug for the report generated. Generated every time user attempts to generate a report, even if the data hasn't changed." + }, + "current_dot_pct": { + "type": "number", + "description": "Current carrier mix delivered on time percentage" + }, + "custom_carriers": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "User's customised carrier mix" + }, + "difference_cost": { + "type": "number", + "description": "Diff in total cost if Shippit recommendation is applied" + }, + "difference_speed": { + "type": "number", + "description": "Diff in total speed if Shippit recommendation is applied" + }, + "current_cost_price": { + "type": "number", + "description": "Current carrier mix total cost" + }, + "current_speed_days": { + "type": "number", + "description": "Current carrier mix total average speed in days" + }, + "custom_new_dot_pct": { + "type": [ + "number", + "null" + ], + "description": "User's custom carrier mix delivered on time percentage" + }, + "difference_dot_pct": { + "type": "number", + "description": "Diff in total delivered percentage on time if Shippit recommendation custom carrier mix is applied" + }, + "preference_service": { + "type": "string", + "description": "User preference on service levels" + }, + "preference_end_date": { + "type": "string", + "description": "End of the time frame for which the SO data has been generated" + }, + "custom_carriers_flag": { + "type": "boolean", + "description": "User has customised the carrier mix" + }, + "recommended_carriers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Shippit recommended carrier mix" + }, + "current_carriers_full": { + "type": "string", + "description": "Current current carrier mix in detail with metrics" + }, + "custom_new_cost_price": { + "type": [ + "number", + "null" + ], + "description": "User's custom carrier mix total cost " + }, + "custom_new_speed_days": { + "type": [ + "number", + "null" + ], + "description": "User's custom carrier mix total average speed in days" + }, + "preference_allocation": { + "type": "string", + "description": "User preference on allocation" + }, + "preference_start_date": { + "type": "string", + "description": "Start of the time frame for which the SO data has been generated" + }, + "custom_difference_cost": { + "type": [ + "number", + "null" + ], + "description": "Diff in total cost if user's custom carrier mix is applied" + }, + "custom_difference_speed": { + "type": [ + "number", + "null" + ], + "description": "Diff in total speed if user's custom carrier mix is applied" + }, + "current_carriers_enabled": { + "type": "array", + "items": { + "type": "string" + }, + "description": "User's current carrier mix in settings" + }, + "difference_carriers_full": { + "type": "string", + "description": "Diff in carriers & metrics if Shippit recommended carrier mix is applied" + }, + "custom_difference_dot_pct": { + "type": [ + "number", + "null" + ], + "description": "Diff in total delivered on time percentage if user's custom carrier mix is applied" + }, + "difference_carriers_enabled": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Carriers enabled in Shippit recommended carrier mix if applied" + }, + "difference_carriers_disabled": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Carriers disabled in Shippit recommended carrier mix if applied" + }, + "custom_difference_carriers_full": { + "type": [ + "string", + "null" + ], + "description": "Diff in carriers & metrics if user's custom carrier mix is applied" + }, + "custom_difference_carriers_enabled": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Carriers enabled in user's custom carrier mix without all metrics" + }, + "custom_difference_carriers_disabled": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "Carriers disabled in user's custom carrier mix if applied" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2BmKp0d6HXh8Do5EOJ9M3EpxbKs", + "name": "rules engine updated", + "description": "Event fired when enabling / disabling Rules Engine. Event triggers: 1. . Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/QBAehpxbR9/trigger/-x6iKTZ2S", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "attributes_type", + "attributes_updated_location", + "attributes_stored_location", + "method", + "subject", + "timestamp", + "action", + "source" + ], + "properties": { + "action": { + "type": "string", + "description": "the action taken for the Rules Engine rule" + }, + "method": { + "type": "string", + "description": "Where the event for Rules Engine was invoked from eg: \\\"ui\\\" / \\\"internal\\\"" + }, + "source": { + "type": "string", + "description": "source of the event" + }, + "subject": { + "type": "string", + "description": "subject of the event eg: \\\"rule\\\"" + }, + "timestamp": { + "type": "string", + "description": "time at which the Rules Engine was updated" + }, + "company_uuid": { + "type": [ + "string", + "null" + ], + "description": "uuid of the company associated with the order" + }, + "merchant_uuid": { + "type": [ + "string", + "null" + ], + "description": "uuid of the merchant associated" + }, + "attributes_type": { + "type": "string", + "description": "State of the Rules Engine for a Merchant or company - enabled / disabled" + }, + "attributes_stored_location": { + "type": "string", + "description": "The type of Rules Engine enabled/disabled (\\\"store\\\" OR \\\"company\\\")" + }, + "attributes_updated_location": { + "type": "string", + "description": "The context in which the Rules Engine was enabled/disabled" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2DSlKLwzsoeqI16IWMWW9f7Taz8", + "name": "Label(s) cancelled", + "description": "Triggered the label for an order is cancelled through the 'Ready to ship' screen. Event triggers: 1. . Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/j5yPd5s-ES/trigger/3vsl73LTD", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "order_deleted" + ], + "properties": { + "is_bulk": { + "type": [ + "boolean", + "null" + ], + "description": "Was this event trigger by a bulk action. E.g. Selecting 20 orders at once and confirming them together." + }, + "bulk_count": { + "type": [ + "number", + "null" + ], + "multipleOf": 1, + "description": "Number of orders included in the bulk operation" + }, + "order_deleted": { + "type": "boolean", + "description": "Was the order also deleted as part of this action " + }, + "tracking_number": { + "description": "" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2E9jXIbwKFcsn9yuxrFqthEOHcM", + "name": "rule evaluated", + "description": "Event fired when rules are being tested against an order", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "attributes_slug", + "attributes_name", + "attributes_order_tracking_number", + "attributes_stored_location", + "attributes_action", + "attributes_value", + "attributes_statements", + "attributes_evaluation", + "method", + "source", + "action", + "subject" + ], + "properties": { + "action": { + "type": "string", + "description": "the action taken for the Rules Engine rule" + }, + "method": { + "type": "string", + "description": "Where the event for Rules Engine was invoked from eg: \\\"ui\\\" / \\\"internal\\\"" + }, + "source": { + "type": "string", + "description": "source of the event" + }, + "subject": { + "type": "string", + "description": "subject of the event eg: \\\"rule\\\"" + }, + "company_uuid": { + "type": [ + "string", + "null" + ], + "description": "uuid of the company associated with the order" + }, + "merchant_uuid": { + "type": [ + "string", + "null" + ], + "description": "uuid of the merchant associated" + }, + "attributes_name": { + "type": "string", + "description": "name " + }, + "attributes_slug": { + "type": "string", + "description": "Slug generated for the updated event" + }, + "attributes_value": { + "type": "array", + "items": { + "type": "number", + "multipleOf": 1 + }, + "description": "ids of the carriers affected by the rule" + }, + "attributes_action": { + "type": "string", + "description": "action of the rule eg: \\\"do not allocate\\\"" + }, + "attributes_evaluation": { + "type": "boolean", + "description": "true if the rule has affected the order" + }, + "attributes_statements": { + "type": "array", + "items": { + "type": "string" + }, + "description": "all statements/conditions within the rule" + }, + "attributes_stored_location": { + "type": "string", + "description": "The type of Rules Engine enabled/disabled (\\\"store\\\" OR \\\"company\\\")" + }, + "attributes_order_tracking_number": { + "type": "string", + "description": "tracking number of the order in which rules are being evaluated for" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2E9jXDmRLjChTmsnviJUKPIHKcB", + "name": "rule updated", + "description": "Fired when a rule is added, modified or deleted", + "version": "3-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "subject", + "action", + "source", + "method", + "attributes_stored_location", + "attributes_updated_location", + "attributes_type", + "attributes_slug", + "attributes_name", + "attributes_action", + "attributes_value", + "attributes_statements" + ], + "properties": { + "action": { + "type": "string", + "description": "the action taken for the Rules Engine rule" + }, + "method": { + "type": "string", + "description": "Where the event for Rules Engine was invoked from eg: \\\"ui\\\" / \\\"internal\\\"" + }, + "source": { + "type": "string", + "description": "source of the event" + }, + "subject": { + "type": "string", + "description": "subject of the event eg: \\\"rule\\\"" + }, + "company_uuid": { + "type": [ + "string", + "null" + ], + "description": "uuid of the company associated with the order" + }, + "merchant_uuids": { + "type": "array", + "items": { + "type": [ + "string", + "null" + ] + }, + "description": "uuid of the merchant associated with the order" + }, + "attributes_name": { + "type": "string", + "description": "name " + }, + "attributes_slug": { + "type": "string", + "description": "Slug generated for the updated event" + }, + "attributes_type": { + "type": "string", + "description": "State of the Rules Engine for a Merchant or company - enabled / disabled" + }, + "attributes_value": { + "type": "array", + "items": { + "type": "number", + "multipleOf": 1 + }, + "description": "ids of the carriers affected by the rule" + }, + "attributes_action": { + "type": "string", + "description": "action of the rule eg: \\\"do not allocate\\\"" + }, + "attributes_statements": { + "type": "array", + "items": { + "type": "string" + }, + "description": "all statements/conditions within the rule" + }, + "attributes_stored_location": { + "type": "string", + "description": "The type of Rules Engine enabled/disabled (\\\"store\\\" OR \\\"company\\\")" + }, + "attributes_updated_location": { + "type": "string", + "description": "The context in which the Rules Engine was enabled/disabled" + } + }, + "additionalProperties": false + } + } + } + }, + { + "id": "ev_2HCkyla9Ma3qWrNRwGGW3wMEAIR", + "name": "FE Order added", + "description": "Tracking when an order has been successfully added. Event triggers: 1. When the 'Add order' button in the Add new order modal has been clicked and is successful. Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/TuFG_xQH5/trigger/S1HwRF494", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [], + "properties": {} + } + }, + { + "id": "ev_2HL1Pd3X1deIfesgdqwlfyspePw", + "name": "FE Trial modal dismiss", + "description": "To drive Appcues checklist; show checklist only after the modal has been dismissed. Event triggers: 1. Triggers when the 'Let's start' button is clicked. Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/lodLIS4Rpm/trigger/rl-fVX3b_", + "version": "2-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [], + "properties": {} + } + }, + { + "id": "ev_2M2AkESBSSLQi81uF234yJ8iV8V", + "name": "Tiered transit protection settings saved", + "description": "Event triggered when customer selects the price range to be covered by transit protection. Event triggers: 1. When customer clicks save button under the ‘Select order value you want to cover’. Trigger on all sources. View in Avo: https://www.avo.app/schemas/Tv1qPI4Ij3B6hkVof2lK/events/K-RwwwxMMT/trigger/1ITgaIR36", + "version": "1-0-0", + "rules": { + "type": "object", + "$schema": "http://json-schema.org/draft-06/schema#", + "required": [ + "properties" + ], + "properties": { + "properties": { + "type": "object", + "required": [ + "tiered_price_range", + "merchant_id", + "user_id", + "tp_tiered_pricing_enabled", + "tp_carrier_preferences" + ], + "properties": { + "user_id": { + "type": "string", + "description": "The unique user identifier" + }, + "store_name": { + "description": "" + }, + "merchant_id": { + "type": "string", + "description": "The ID associated with Shippit's merchant UUID" + }, + "tiered_price_range": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This is the declared order retail value for which a merchant wants to protect with our TP warranty product. There are 4 tiered pricing options to select from; 1. Up to $100AUD, 2. $101 to $1500AUD, 3. $1500 to $5000 4. $5000 to $10,000" + }, + "tp_carrier_preferences": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Merchant selects carrier/s that they want to opt out of Transit Protection" + }, + "tp_tiered_pricing_enabled": { + "type": "boolean", + "description": "Triggered when merchant activates or deactivates transit protection via the tiered pricing landing page" + } + }, + "additionalProperties": false + } + } + } + } + ] + }, + "create_time": "2022-04-12T03:52:45.673Z", + "update_time": "2023-09-22T02:16:04.566Z" +}  } /** @@ -53,7 +2962,8 @@ async function getTrackingPlan(tpId, version, workspaceId) { async function getEventSchema(tpId, tpVersion, eventType, eventName, workspaceId) { try { let eventSchema; - const tp = await getTrackingPlan(tpId, tpVersion, workspaceId); + console.log("TP") + const tp = getTrackingPlan(tpId, tpVersion, workspaceId); if (Object.hasOwn(tp, 'events')) { const ev = tp.events.find((e) => e.name === eventName && e.eventType === eventType); From 2027621cf10e3f69b73cda664dc4b8461a5bf011 Mon Sep 17 00:00:00 2001 From: Akash Gupta Date: Wed, 22 May 2024 18:06:05 +0530 Subject: [PATCH 3/4] feat: bun hackathon --- bunRuntime | 1 - bunRuntimee/.eslintrc.json | 71 ++++++++ bunRuntimee/.gitignore | 42 +++++ bunRuntimee/README.md | 15 ++ bunRuntimee/bun.lockb | Bin 0 -> 281483 bytes bunRuntimee/k6test.js | 196 +++++++++++++++++++++ bunRuntimee/load.js | 191 +++++++++++++++++++++ bunRuntimee/package.json | 79 +++++++++ bunRuntimee/src/index.ts | 141 ++++++++++++++++ bunRuntimee/src/logger.js | 43 +++++ bunRuntimee/src/validation.js | 309 ++++++++++++++++++++++++++++++++++ bunRuntimee/tsconfig.json | 103 ++++++++++++ 12 files changed, 1190 insertions(+), 1 deletion(-) delete mode 160000 bunRuntime create mode 100644 bunRuntimee/.eslintrc.json create mode 100644 bunRuntimee/.gitignore create mode 100644 bunRuntimee/README.md create mode 100755 bunRuntimee/bun.lockb create mode 100644 bunRuntimee/k6test.js create mode 100644 bunRuntimee/load.js create mode 100644 bunRuntimee/package.json create mode 100644 bunRuntimee/src/index.ts create mode 100644 bunRuntimee/src/logger.js create mode 100644 bunRuntimee/src/validation.js create mode 100644 bunRuntimee/tsconfig.json diff --git a/bunRuntime b/bunRuntime deleted file mode 160000 index 65e6f9d60e..0000000000 --- a/bunRuntime +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 65e6f9d60e3965a89bf79cc5fac227affa07c680 diff --git a/bunRuntimee/.eslintrc.json b/bunRuntimee/.eslintrc.json new file mode 100644 index 0000000000..556470697d --- /dev/null +++ b/bunRuntimee/.eslintrc.json @@ -0,0 +1,71 @@ +{ + "env": { + "node": true, + "es2021": true, + "jest": true, + "commonjs": true + }, + "extends": [ + "airbnb-base", + "airbnb-typescript/base", + "plugin:sonarjs/recommended", + "plugin:json/recommended", + "plugin:@typescript-eslint/recommended", + "prettier" + ], + "plugins": ["@typescript-eslint", "unicorn"], + "globals": {}, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12, + "sourceType": "module", + "project": "./tsconfig.json" + }, + "rules": { + "unicorn/filename-case": [ + "off", + { "cases": { "camelCase": true, "pascalCase": true, "kebabCase": true } } + ], + "import/no-import-module-exports": "off", + "unicorn/no-instanceof-array": "error", + "unicorn/no-static-only-class": "error", + "unicorn/consistent-destructuring": "error", + "unicorn/better-regex": "error", + "unicorn/no-for-loop": "error", + "unicorn/prefer-array-some": "error", + "unicorn/explicit-length-check": "error", + "unicorn/prefer-array-find": "error", + "unicorn/no-lonely-if": "error", + "unicorn/prefer-includes": "error", + "unicorn/prefer-array-flat-map": "error", + "unicorn/no-useless-spread": "error", + "unicorn/no-useless-length-check": "error", + "unicorn/prefer-export-from": "error", + "import/no-dynamic-require": "error", + "no-param-reassign": "error", + "sonarjs/prefer-immediate-return": "off", + "sonarjs/no-nested-template-literals": "off", + "sonarjs/max-switch-cases": "error", + "sonarjs/no-small-switch": "error", + "sonarjs/cognitive-complexity": ["error", 60], + "@typescript-eslint/no-var-requires": "off", + "global-require": "error", + "@typescript-eslint/naming-convention": "error", + "@typescript-eslint/ban-types": "error", + "@typescript-eslint/no-explicit-any": "off", + "class-methods-use-this": "off", + "@typescript-eslint/return-await": "error", + "import/prefer-default-export": "off", + "sonarjs/no-ignored-return": "error", + "no-new": "error", + "@typescript-eslint/no-shadow": "error", + "@typescript-eslint/no-loop-func": "error", + "sonarjs/no-same-line-conditional": "error", + "no-restricted-syntax": "error", + "sonarjs/no-duplicate-string": "error", + "sonarjs/no-identical-functions": "error", + "no-prototype-builtins": "off", + "@typescript-eslint/dot-notation": "error", + "@typescript-eslint/no-unused-vars": "error" + } +} diff --git a/bunRuntimee/.gitignore b/bunRuntimee/.gitignore new file mode 100644 index 0000000000..87e56100f8 --- /dev/null +++ b/bunRuntimee/.gitignore @@ -0,0 +1,42 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel + +**/*.trace +**/*.zip +**/*.tar.gz +**/*.tgz +**/*.log +package-lock.json +**/*.bun \ No newline at end of file diff --git a/bunRuntimee/README.md b/bunRuntimee/README.md new file mode 100644 index 0000000000..688c87e69a --- /dev/null +++ b/bunRuntimee/README.md @@ -0,0 +1,15 @@ +# Elysia with Bun runtime + +## Getting Started +To get started with this template, simply paste this command into your terminal: +```bash +bun create elysia ./elysia-example +``` + +## Development +To start the development server run: +```bash +bun run dev +``` + +Open http://localhost:3000/ with your browser to see the result. \ No newline at end of file diff --git a/bunRuntimee/bun.lockb b/bunRuntimee/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..f80b5346136b5ab473e27b7a6183fbfcc0b7e0e7 GIT binary patch literal 281483 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%0A%GtY1p;6#%2b0Z;30Sf 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 literal 0 HcmV?d00001 diff --git a/bunRuntimee/k6test.js b/bunRuntimee/k6test.js new file mode 100644 index 0000000000..2e3ce16079 --- /dev/null +++ b/bunRuntimee/k6test.js @@ -0,0 +1,196 @@ +import { check } from "k6"; +import http from "k6/http"; + +// check out how to get node libraries into k6 +import { uuidv4 } from "https://jslib.k6.io/k6-utils/1.4.0/index.js"; + +// Prefer ramping arrival rate for proper/heavy load tests. +export const options = { + scenarios: { + scenario1: { + executor: "constant-arrival-rate", + duration: "30s", + rate: 300, + timeUnit: "1s", + preAllocatedVUs: 100, + maxVUs: 300, + exec: "scenario1", + }, + }, +}; + +const hostUrl = "http://gateway.openfaas-anshul.svc.cluster.local:8080"; +const url = `${hostUrl}/function`; + +// See additional resources uploaded below. +const base_msgs = { + message: { + name: "search_list", + type: "page", + sentAt: "2023-05-18T10:16:31.668Z", + userId: "", + channel: "web", + context: { + os: { + name: "", + version: "", + }, + app: { + name: "RudderLabs JavaScript SDK", + version: "2.33.1", + namespace: "com.rudderlabs.javascript", + }, + page: { + url: "/au/hoka-one-one/shop/category/clothing-shoes-accessories-women-37964/?page=1&dsp=hidden", + path: "/au/hoka-one-one/shop/category/clothing-shoes-accessories-women-37964/", + title: "Buy Hoka One One Women's Shoes Online | Kogan", + search: "?page=1&dsp=hidden", + tab_url: + "https://www.kogan.com/au/hoka-one-one/shop/category/clothing-shoes-accessories-women-37964/?page=1&dsp=hidden", + referrer: "https://www.kogan.com/", + initial_referrer: "https://www.google.com/", + referring_domain: "www.kogan.com", + initial_referring_domain: "www.google.com", + }, + locale: "en-GB", + screen: { + width: 1440, + height: 900, + density: 2, + innerWidth: 1440, + innerHeight: 628, + }, + traits: {}, + library: { + name: "RudderLabs JavaScript SDK", + version: "2.33.1", + }, + campaign: {}, + sessionId: 1684404970769, + userAgent: + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", + }, + rudderId: "2d11e550-950c-4269-a2c4-1b7c9b9986f6", + messageId: "18495590-48af-4361-8daf-7590254dc798", + properties: { + url: "/au/hoka-one-one/shop/category/clothing-shoes-accessories-women-37964/?page=1&dsp=hidden", + name: "search_list", + path: "/au/hoka-one-one/shop/category/clothing-shoes-accessories-women-37964/", + title: "Buy Hoka One One Women's Shoes Online | Kogan", + search: "?page=1&dsp=hidden", + tab_url: + "https://www.kogan.com/au/hoka-one-one/shop/category/clothing-shoes-accessories-women-37964/?page=1&dsp=hidden", + referrer: "https://www.kogan.com/", + initial_referrer: "https://www.google.com/", + referring_domain: "www.kogan.com", + initial_referring_domain: "www.google.com", + }, + anonymousId: "b87bbb52-478b-4043-ad77-7f26a9a5d54f", + integrations: { + All: true, + "Google Analytics 4": { + clientId: "1987030102.1683088628", + sessionId: "1684404975", + sessionNumber: 1, + }, + }, + originalTimestamp: "2023-05-18T10:16:31.654Z", + }, + metadata: { + sourceId: "abcdFB7XK", + namespace: "abcd", + instanceId: "abcd-v0-rs-0", + sourceType: "PHP", + sourceCategory: "", + destinationId: "abcdT9Ri", + jobRunId: "", + jobId: 177608976, + sourceBatchId: "", + sourceJobId: "", + sourceJobRunId: "", + sourceTaskId: "", + sourceTaskRunId: "", + recordId: null, + destinationType: "RS", + messageId: "93f09dd2-2655-4064-8926-b2b13e40449f", + messageIds: null, + rudderId: "7b4b4c21-7a58-40d5-be6e-887b75d31544", + receivedAt: "2021-12-20T10:19:19.387Z", + eventName: "page-viewed", + eventType: "page", + sourceDefinitionId: "abcdIpansx2", + destinationDefinitionId: "", + trackingPlanId: "tp_2eavhhgNSrhVJoPuXdyqOht5Adt", + trackingPlanVersion: "3", + "workspaceId": "1z8QUcZx49fzs4V3wIqNJRH0emr", + "mergedTpConfig": { + "allowUnplannedEvents": "false", + "unplannedProperties": "drop", + "anyOtherViolation": "drop", + "sendViolatedEventsTo": "procErrors", + "ajvOptions": {} + }, + "sourceTpConfig": { + "track": { + "allowUnplannedEvents": "true", + "unplannedProperties": "forward", + "anyOtherViolation": "forward", + "propagateValidationErrors": "true", + "ajvOptions": {} + }, + "global": { + "allowUnplannedEvents": "false", + "unplannedProperties": "drop", + "anyOtherViolation": "drop", + "sendViolatedEventsTo": "procErrors", + "ajvOptions": {} + } + } + }, + destination: { + ID: "abcdT9Ri", + Name: "redshift", + Enabled: true, + Transformations: [ + { + VersionID: "2bnkuhqMkU8BX0FTryBgBrHaFIB", + ID: "abcdyhNM", + Config: {}, + }, + ], + IsProcessorEnabled: true, + }, + libraries: [], +}; + +// Looks like some batching logic that I don't remember clearly myself. +// Not necessary for simple load tests. +export function setup() { + const payloads = []; + + for (let j = 0; j < 30; j += 1) { + let baseMsgs = base_msgs; + baseMsgs.message.messageId = uuidv4(); + baseMsgs.metadata.messageId = uuidv4(); + payloads.push(baseMsgs); + } + + return { payloads }; +} + +export function scenario1(data) { + const { payloads } = data; + const functionUrl = `${url}/${__ENV.FUNCTION}`.trim(); + + const response = http.post(functionUrl, JSON.stringify(payloads), { + headers: { "Content-Type": "application/json" }, + }); + + check(response, { + "transformation success": (r) => { + r.status !== 200 && console.log(r.status); + + return r.status === 200; + }, + }); +} \ No newline at end of file diff --git a/bunRuntimee/load.js b/bunRuntimee/load.js new file mode 100644 index 0000000000..7b70565a3b --- /dev/null +++ b/bunRuntimee/load.js @@ -0,0 +1,191 @@ +import { check } from 'k6'; +import http from 'k6/http'; +import { uuidv4 } from 'https://jslib.k6.io/k6-utils/1.4.0/index.js'; + +const batchSize = 1; + +const event = { + message: { + type: 'track', + event: 'Content Playback Completed', + sentAt: '2024-05-17T02:44:36.778Z', + userId: 'user-id', + channel: 'mobile', + context: { + os: { + name: 'Android', + version: '12', + }, + app: { + name: 'The Chosen', + build: '50', + version: '2.5.0', + namespace: 'namespace', + }, + device: { + id: 'device-id', + name: 'lisbon', + type: 'Android', + model: 'moto g(60)s', + manufacturer: 'motorola', + }, + locale: 'pt-BR', + screen: { + width: 1080, + height: 2211, + density: 446, + }, + traits: { + id: 'trait-id', + email: '', + phone: '', + userId: 'user-id', + language: 'pt', + channel_id: 'channel-id', + anonymousId: 'anonymous-id', + }, + library: { + name: 'com.rudderstack.android.sdk.core', + version: '1.21.0', + }, + network: { + wifi: true, + carrier: 'TIM', + cellular: true, + }, + timezone: 'America/Sao_Paulo', + sessionId: 1715913841, + userAgent: 'Dalvik/2.1.0 (Linux; U; Android 12; moto g(60)s Build/S3RLS32.114-25-13)', + }, + rudderId: 'rudder-id', + messageId: 'message-id', + properties: { + bitrate: 3200000, + is_live: false, + language: 'PT_BR', + content_id: '184683594335', + full_screen: false, + video_width: 854, + content_type: 'VIDEO', + video_height: 480, + audio_language: '', + content_duration: 2339804, + accumulative_time: 0, + playback_position: 2339, + subtitle_language: '', + new_property: 'true', + }, + anonymousId: 'anonymous-id', + integrations: { + All: true, + }, + originalTimestamp: '2024-05-17T02:44:29.521Z', + }, + metadata: { + sourceId: '', + workspaceId: '1lLaDQS1mdax6dbR08wOUgBJBk1', + namespace: '', + instanceId: '', + sourceType: 'Android', + sourceCategory: '', + trackingPlanId: 'tp_27gIzarrRWhkxscAxskVPfY7m1l', + trackingPlanVersion: 1, + sourceTpConfig: { + global: { + allowUnplannedEvents: true, + anyOtherViolation: 'forward', + propagateValidationErrors: true, + sendViolatedEventsTo: 'procErrors', + unplannedProperties: 'forward', + }, + group: {}, + identify: { + allowUnplannedEvents: true, + anyOtherViolation: 'forward', + propagateValidationErrors: true, + sendViolatedEventsTo: 'procErrors', + unplannedProperties: 'forward', + }, + }, + mergedTpConfig: { + allowUnplannedEvents: true, + anyOtherViolation: 'forward', + propagateValidationErrors: true, + sendViolatedEventsTo: 'procErrors', + unplannedProperties: 'forward', + }, + destinationId: '', + jobId: 92, + sourceJobId: '', + sourceJobRunId: '', + sourceTaskRunId: '', + recordId: null, + destinationType: '', + messageId: '45a8d4be-ea87-4fc7-8b8b-e2604982da20', + oauthAccessToken: '', + messageIds: null, + rudderId: '<<>>anon-id-new2<<>>identified user id2', + receivedAt: '2023-04-18T15:54:51.711+05:30', + eventName: 'Content Playback Completed', + eventType: 'track', + sourceDefinitionId: '1QGzOQGVLM35GgtteFH1vYCE0WT', + destinationDefinitionId: '', + transformationId: '', + transformationVersionId: '', + }, + destination: { + ID: '', + Name: '', + DestinationDefinition: { + ID: '', + Name: '', + DisplayName: '', + Config: null, + ResponseRules: null, + }, + Config: null, + Enabled: false, + WorkspaceID: '', + Transformations: null, + IsProcessorEnabled: false, + RevisionID: '', + }, + libraries: null, +}; + +export const options = { + thresholds: { + http_req_duration: ['p(99)<100'], + }, + scenarios: { + gatewayLoadTest: { + executor: 'constant-arrival-rate', + duration: '30s', + rate: 1, + timeUnit: '1s', + preAllocatedVUs: 100, + maxVUs: 1000, + exec: 'validate', + }, + }, +}; + +export function setup() { + const payload = []; + + for (let i = 0; i < batchSize; i += 1) { + payload.push(event); + } + + return payload; +} + +export function validate(data) { + const response = http.post('http://localhost:9091/v0/validate', JSON.stringify(data), { + headers: { 'Content-Type': 'application/json' }, + }); + + check(response, { + '200OK output': (r) => r.status === 200, + }); +} \ No newline at end of file diff --git a/bunRuntimee/package.json b/bunRuntimee/package.json new file mode 100644 index 0000000000..92457ed9b2 --- /dev/null +++ b/bunRuntimee/package.json @@ -0,0 +1,79 @@ +{ + "name": "bunRuntime", + "version": "1.0.50", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "dev": "bun run --watch src/index.ts" + }, + "dependencies": { + "@amplitude/ua-parser-js": "0.7.24", + "@aws-sdk/client-personalize": "^3.470.0", + "@aws-sdk/client-s3": "^3.474.0", + "@aws-sdk/credential-providers": "^3.391.0", + "@aws-sdk/lib-storage": "^3.474.0", + "@bugsnag/js": "^7.20.2", + "@datadog/pprof": "^3.1.0", + "@koa/router": "^12.0.0", + "@ndhoule/extend": "^2.0.0", + "@pyroscope/nodejs": "^0.2.9", + "@rudderstack/integrations-lib": "^0.2.8", + "@rudderstack/workflow-engine": "^0.7.5", + "@shopify/jest-koa-mocks": "^5.1.1", + "ajv": "^8.12.0", + "ajv-draft-04": "^1.0.0", + "ajv-formats": "^2.1.1", + "axios": "^1.6.4", + "btoa": "^1.2.1", + "component-each": "^0.2.6", + "crypto-js": "^4.2.0", + "dotenv": "^16.0.3", + "elysia": "latest", + "flat": "^5.0.2", + "form-data": "^4.0.0", + "get-value": "^3.0.1", + "handlebars": "^4.7.7", + "http-graceful-shutdown": "^3.1.13", + "https-proxy-agent": "^5.0.1", + "ioredis": "^5.3.2", + "is": "^3.3.0", + "is-ip": "^3.1.0", + "isolated-vm": "4.5.0", + "js-sha1": "^0.6.0", + "json-diff": "^1.0.3", + "json-size": "^1.0.0", + "jsontoxml": "^1.0.1", + "k6": "^0.0.0", + "koa": "^2.14.1", + "koa-bodyparser": "^4.4.0", + "koa2-swagger-ui": "^5.7.0", + "lodash": "^4.17.21", + "match-json": "^1.3.5", + "md5": "^2.3.0", + "modclean": "^3.0.0-beta.1", + "moment": "^2.29.4", + "moment-timezone": "^0.5.43", + "node-cache": "^5.1.2", + "node-fetch": "^2.6.12", + "oauth-1.0a": "^2.2.6", + "object-hash": "^3.0.0", + "parse-static-imports": "^1.1.0", + "prom-client": "^14.2.0", + "qs": "^6.11.1", + "rudder-transformer-cdk": "^1.4.11", + "set-value": "^4.1.0", + "sha256": "^0.2.0", + "sqlstring": "^2.3.3", + "stacktrace-parser": "^0.1.10", + "statsd-client": "^0.4.7", + "truncate-utf8-bytes": "^1.0.2", + "ua-parser-js": "^1.0.37", + "unset-value": "^2.0.1", + "uuid": "^9.0.0", + "valid-url": "^1.0.9", + "zod": "^3.22.4" + }, + "devDependencies": { + "bun-types": "latest" + }, + "module": "src/index.js" +} diff --git a/bunRuntimee/src/index.ts b/bunRuntimee/src/index.ts new file mode 100644 index 0000000000..2fe1305b12 --- /dev/null +++ b/bunRuntimee/src/index.ts @@ -0,0 +1,141 @@ +import { Elysia } from "elysia"; +const eventValidator = require('../../src/util/eventValidation'); +const stats = require('../../src/util/stats'); +const logger = require('../../src/logger'); +const {constructValidationErrors, RetryRequestError, RespStatusError} = require('../../src/util/utils'); + +const app = new Elysia().get("/", () => "Hello Elysia"); + +const API_VERSION = '2'; + +app.get("/health", () => "OK"); + +const getMetadata = (metadata) => ({ + sourceType: metadata.sourceType, + destinationType: metadata.destinationType, + k8_namespace: metadata.namespace, +}); + +const sendViolationMetrics = (validationErrors, dropped, metaTags) => { + const vTags = { + 'Unplanned-Event': 0, + 'Additional-Properties': 0, + 'Datatype-Mismatch': 0, + 'Required-Missing': 0, + 'Unknown-Violation': 0, + }; + + validationErrors.forEach((error) => { + vTags[error.type] += 1; + }); + + Object.entries(vTags).forEach(([key, value]) => { + if (value > 0) { + stats.counter('hv_metrics', value, { ...metaTags, dropped, violationType: key }); + } + }); + stats.counter('hv_metrics', validationErrors.length, { + ...metaTags, + dropped, + violationType: 'Total', + }); +}; + + +async function handleValidation(ctx) { + const requestStartTime = new Date(); + const events = ctx.body; + // console.log(events) + const requestSize = Number(ctx.request.headers.get('content-length')); + const reqParams = ctx.request.query; + const respList: any = []; + const metaTags = events[0].metadata ? getMetadata(events[0].metadata) : {}; + let ctxStatusCode = 200; + // eslint-disable-next-line no-restricted-syntax + for (const event of events) { + const eventStartTime = new Date(); + try { + const parsedEvent = event; + parsedEvent.request = { query: reqParams }; + // eslint-disable-next-line no-await-in-loop + const hv = await eventValidator.handleValidation(parsedEvent); + sendViolationMetrics(hv.validationErrors, hv.dropEvent, metaTags); + if (hv.dropEvent) { + respList.push({ + output: event.message, + metadata: event.metadata, + statusCode: 400, + validationErrors: hv.validationErrors, + error: JSON.stringify(constructValidationErrors(hv.validationErrors)), + }); + stats.counter('hv_violation_type', 1, { + violationType: hv.violationType, + ...metaTags, + }); + } else { + respList.push({ + output: event.message, + metadata: event.metadata, + statusCode: 200, + validationErrors: hv.validationErrors, + error: JSON.stringify(constructValidationErrors(hv.validationErrors)), + }); + stats.counter('hv_propagated_events', 1, { + ...metaTags, + }); + } + } catch (error: any) { + const errMessage = `Error occurred while validating : ${error}`; + logger.error(errMessage); + let status = 200; + if (error instanceof RetryRequestError) { + ctxStatusCode = error.statusCode; + } + if (error instanceof RespStatusError) { + status = error.statusCode; + } + respList.push({ + output: event.message, + metadata: event.metadata, + statusCode: status, + validationErrors: [], + error: errMessage, + }); + stats.counter('hv_errors', 1, { + ...metaTags, + }); + } finally { + stats.timing('hv_event_latency', eventStartTime, { + ...metaTags, + }); + } + } + + // console.log(respList) + // console.log(ctx) + ctx.body = respList; + ctx.status = ctxStatusCode; + // console.log(ctx); + // ctx.set('apiVersion', API_VERSION); + + stats.counter('hv_events_count', events.length, { + ...metaTags, + }); + stats.histogram('hv_request_size', requestSize, { + ...metaTags, + }); + stats.timing('hv_request_latency', requestStartTime, { + ...metaTags, + }); + return respList; +} + +app.post("/v0/validate",async (ctx) => { + return await handleValidation(ctx); +} ); + +app.listen(9091); + +console.log( + `🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}` +); diff --git a/bunRuntimee/src/logger.js b/bunRuntimee/src/logger.js new file mode 100644 index 0000000000..93a9da856a --- /dev/null +++ b/bunRuntimee/src/logger.js @@ -0,0 +1,43 @@ +"use strict"; +/* istanbul ignore file */ +const levelDebug = 0; // Most verbose logging level +const levelInfo = 1; // Logs about state of the application +const levelWarn = 2; // Logs about warnings which dont immediately halt the application +const levelError = 3; // Logs about errors which dont immediately halt the application +// any value greater than levelError will work as levelNone +let logLevel = process.env.LOG_LEVEL ? parseInt(process.env.LOG_LEVEL, 10) : levelInfo; +const setLogLevel = (level) => { + logLevel = level || logLevel; +}; +const debug = (...args) => { + if (levelDebug >= logLevel) { + console.debug(...args); + } +}; +const info = (...args) => { + if (levelInfo >= logLevel) { + console.info(...args); + } +}; +const warn = (...args) => { + if (levelWarn >= logLevel) { + console.warn(...args); + } +}; +const error = (...args) => { + if (levelError >= logLevel) { + console.error(...args); + } +}; +module.exports = { + debug, + info, + warn, + error, + setLogLevel, + levelDebug, + levelInfo, + levelWarn, + levelError, +}; +//# sourceMappingURL=logger.js.map \ No newline at end of file diff --git a/bunRuntimee/src/validation.js b/bunRuntimee/src/validation.js new file mode 100644 index 0000000000..4f65a2e4e0 --- /dev/null +++ b/bunRuntimee/src/validation.js @@ -0,0 +1,309 @@ +import logger from './logger'; +import trackingPlan from './trackingPlan'; +import Ajv from 'ajv-draft-04'; +import Ajv2019 from 'ajv/dist/2019'; +import addFormats from 'ajv-formats'; +import draft7MetaSchema from 'ajv/dist/refs/json-schema-draft-07.json'; +import draft6MetaSchema from 'ajv/dist/refs/json-schema-draft-06.json'; +import NodeCache from 'node-cache'; +import hash from 'object-hash'; + +const SECONDS_IN_DAY = 60 * 60 * 24 * 1; +const ajv19Cache = new NodeCache({ useClones: false, stdTTL: SECONDS_IN_DAY }); +const ajv4Cache = new NodeCache({ useClones: false, stdTTL: SECONDS_IN_DAY }); + + +function isEmptyObject(obj) { + if (!obj) { + logger.warn('input is undefined or null'); + return true; + } + return Object.keys(obj).length === 0; +} + +const defaultOptions = { + strictRequired: true, + allErrors: true, + verbose: true, + allowUnionTypes: true, + // removeAdditional: false, // "all" - it purges extra properties from event, + // useDefaults: false + }; + +const supportedEventTypes = { + group: true, + track: true, + identify: true, + page: true, + screen: true, + alias: false, +}; + +function isEventTypeSupported(eventType) { + if (!Object.prototype.hasOwnProperty.call(supportedEventTypes, eventType)) { + return false; + } + return supportedEventTypes[eventType]; +} + +const violationTypes = { + RequiredMissing: 'Required-Missing', + DatatypeMismatch: 'Datatype-Mismatch', + AdditionalProperties: 'Additional-Properties', + UnknownViolation: 'Unknown-Violation', + UnplannedEvent: 'Unplanned-Event', +}; + +function handleValidationErrors(validationErrors, metadata, curDropEvent, curViolationType) { + let dropEvent = curDropEvent; + let violationType = curViolationType; + const { mergedTpConfig, destinationId = 'Non-determininable', destinationType = 'Non-determininable', } = metadata; + const violationsByType = new Set(validationErrors.map((err) => err.type)); + const handleUnknownOption = (value, key) => { + logger.error(`Unknown option ${value} in ${key} for destId ${destinationId}, destType ${destinationType}`); + }; + const handleAllowUnplannedEvents = (value) => { + if (!['true', 'false'].includes(value)) { + handleUnknownOption(value, 'allowUnplannedEvents'); + } + else if (value === 'false' && violationsByType.has(violationTypes.UnplannedEvent)) { + dropEvent = true; + violationType = violationTypes.UnplannedEvent; + } + }; + const handleUnplannedProperties = (value) => { + const exists = violationsByType.has(violationTypes.AdditionalProperties); + if (!['forward', 'drop'].includes(value)) { + handleUnknownOption(value, 'unplannedProperties'); + } + else if (value === 'drop' && exists) { + dropEvent = true; + violationType = violationTypes.AdditionalProperties; + } + }; + const handleAnyOtherViolation = (value) => { + if (!['forward', 'drop'].includes(value)) { + handleUnknownOption(value, 'anyOtherViolation'); + return; + } + const violationTypesToCheck = [ + violationTypes.UnknownViolation, + violationTypes.DatatypeMismatch, + violationTypes.RequiredMissing, + ]; + const existingViolationType = violationTypesToCheck.find((type) => violationsByType.has(type)); + if (value === 'drop' && existingViolationType) { + dropEvent = true; + violationType = existingViolationType; + } + }; + const handleSendViolatedEventsTo = (value) => { + if (value !== 'procerrors') { + handleUnknownOption(value, 'sendViolatedEventsTo'); + } + }; + const handlerMap = { + allowUnplannedEvents: handleAllowUnplannedEvents, + unplannedProperties: handleUnplannedProperties, + anyOtherViolation: handleAnyOtherViolation, + sendViolatedEventsTo: handleSendViolatedEventsTo, + }; + Object.keys(mergedTpConfig).forEach((key) => { + if (handlerMap.hasOwnProperty(key)) { + const value = mergedTpConfig[key]?.toString()?.toLowerCase(); + const handler = handlerMap[key]; + handler(value); + } + }); + return { dropEvent, violationType }; +} + +function checkForPropertyMissing(property) { + if (!(property && property !== '')) { + throw new Error(`${property} does not exist for event`); + } +} + +function eventSchemaHash(tpId, tpVersion, eventType, eventName, isDraft4 = false) { + return `${tpId}::${tpVersion}::${eventType}::${eventName}::${isDraft4 ? 4 : 19}`; + } + + // When no ajv options are provided, ajv constructed from defaultOptions will be used +const ajv4 = new Ajv(defaultOptions); +addFormats(ajv4); + +const ajv19 = new Ajv2019(defaultOptions); +addFormats(ajv19); +ajv19.addMetaSchema(draft6MetaSchema); +ajv19.addMetaSchema(draft7MetaSchema); + +function getAjv(ajvOptions, isDraft4 = false) { + if (isDraft4) { + const ajv = new Ajv(ajvOptions); + addFormats(ajv); + return ajv; + } + const ajv = new Ajv2019(ajvOptions); + ajv.addMetaSchema(draft6MetaSchema); + ajv.addMetaSchema(draft7MetaSchema); + addFormats(ajv); + return ajv; + } + + const eventSchemaCache = new NodeCache(); + +async function validate(event) { + try { + checkForPropertyMissing(event.metadata.trackingPlanId); + checkForPropertyMissing(event.metadata.trackingPlanVersion); + checkForPropertyMissing(event.metadata.workspaceId); + const { sourceTpConfig, trackingPlanId, trackingPlanVersion, workspaceId } = event.metadata; + const eventSchema = await trackingPlan.getEventSchema(trackingPlanId, trackingPlanVersion, event.message.type, event.message.type === 'track' ? event.message.event : '', workspaceId); + // UnPlanned event case - since no event schema is found. Violation is raised + // Return this violation error only in case of track calls. + // @ts-ignore + if (!eventSchema || eventSchema === {}) { + if (event.message.type !== 'track') { + return []; + } + const rudderValidationError = { + type: violationTypes.UnplannedEvent, + message: `no schema for event: ${event.message.event}`, + meta: {}, + }; + return [rudderValidationError]; + } + // Assumes schema is in draft 7 by default + let isDraft4 = false; + if (Object.prototype.hasOwnProperty.call(eventSchema, '$schema') && + eventSchema.$schema.includes('draft-04')) { + isDraft4 = true; + } + // Current json schema is injected with version for non-track events in config-be, need to remove ot parse it succesfully + delete eventSchema.version; + const schemaHash = eventSchemaHash(trackingPlanId, trackingPlanVersion, event.message.type, event.message.event, isDraft4); + const eventTypeAjvOptions = sourceTpConfig[event.message.type]?.ajvOptions || {}; + const globalAjvOptions = (sourceTpConfig.global && sourceTpConfig.global.ajvOptions) || {}; + const merged = { + ...defaultOptions, + ...globalAjvOptions, + ...eventTypeAjvOptions, + }; + let ajv = isDraft4 ? ajv4 : ajv19; + const ajvCache = isDraft4 ? ajv4Cache : ajv19Cache; + // @ts-ignore + if (merged !== {}) { + const configHash = hash(merged); + // @ts-ignore + ajv = ajvCache.get(configHash); + if (!ajv) { + ajv = getAjv(merged, isDraft4); + ajvCache.set(configHash, ajv); + } + } + let validateEvent = eventSchemaCache.get(schemaHash); + if (!validateEvent) { + validateEvent = ajv.compile(eventSchema); + eventSchemaCache.set(schemaHash, validateEvent); + } + const valid = validateEvent(event.message); + if (valid) { + return []; + } + const validationErrors = validateEvent.errors.map((error) => { + let rudderValidationError; + switch (error.keyword) { + case 'required': + rudderValidationError = { + type: violationTypes.RequiredMissing, + message: error.message, + property: error.params.missingProperty, + meta: { + instancePath: error.instancePath, + schemaPath: error.schemaPath, + }, + }; + break; + case 'type': + rudderValidationError = { + type: violationTypes.DatatypeMismatch, + message: error.message, + meta: { + instancePath: error.instancePath, + schemaPath: error.schemaPath, + }, + }; + break; + case 'additionalProperties': + rudderValidationError = { + type: violationTypes.AdditionalProperties, + message: `${error.message} '${error.params.additionalProperty}'`, + property: error.params.additionalProperty, + meta: { + instancePath: error.instancePath, + schemaPath: error.schemaPath, + }, + }; + break; + default: + rudderValidationError = { + type: violationTypes.UnknownViolation, + message: error.message, + meta: { + instancePath: error.instancePath, + schemaPath: error.schemaPath, + }, + }; + } + return rudderValidationError; + }); + return validationErrors; + } + catch (error) { + // @ts-ignore + logger.error(`TP event validation error: ${error.message}`); + throw error; + } +} + +async function handleValidation(event) { + let dropEvent = false; + let violationType = 'None'; + try { + const { sourceTpConfig, mergedTpConfig } = event.metadata; + if (isEmptyObject(sourceTpConfig) || isEmptyObject(mergedTpConfig)) { + return { + dropEvent, + violationType, + validationErrors: [], + }; + } + // Checking the evenType is supported or not + if (!isEventTypeSupported(event.message.type)) { + return { + dropEvent, + violationType, + validationErrors: [], + }; + } + const validationErrors = await validate(event); + if (validationErrors.length === 0) { + return { + dropEvent, + violationType, + validationErrors, + }; + } + ({ dropEvent, violationType } = handleValidationErrors(validationErrors, event.metadata, dropEvent, violationType)); + return { + dropEvent, + violationType, + validationErrors, + }; + } + catch (error) { + // @ts-ignore + logger.error(`TP handle validation error: ${error.message}`); + throw error; + } +} diff --git a/bunRuntimee/tsconfig.json b/bunRuntimee/tsconfig.json new file mode 100644 index 0000000000..474e89f7d8 --- /dev/null +++ b/bunRuntimee/tsconfig.json @@ -0,0 +1,103 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "ES2021", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "ES2022", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + "types": ["bun-types"], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": false, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} From 6f2cbe171f993edcebc1dad44bf10d4ed259b4d9 Mon Sep 17 00:00:00 2001 From: Akash Gupta Date: Wed, 22 May 2024 18:07:22 +0530 Subject: [PATCH 4/4] feat: bun hackathon rename --- {bunRuntimee => bunRuntime}/.eslintrc.json | 0 {bunRuntimee => bunRuntime}/.gitignore | 0 {bunRuntimee => bunRuntime}/README.md | 0 {bunRuntimee => bunRuntime}/bun.lockb | Bin {bunRuntimee => bunRuntime}/k6test.js | 0 {bunRuntimee => bunRuntime}/load.js | 0 {bunRuntimee => bunRuntime}/package.json | 0 {bunRuntimee => bunRuntime}/src/index.ts | 0 {bunRuntimee => bunRuntime}/src/logger.js | 0 {bunRuntimee => bunRuntime}/src/validation.js | 0 {bunRuntimee => bunRuntime}/tsconfig.json | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename {bunRuntimee => bunRuntime}/.eslintrc.json (100%) rename {bunRuntimee => bunRuntime}/.gitignore (100%) rename {bunRuntimee => bunRuntime}/README.md (100%) rename {bunRuntimee => bunRuntime}/bun.lockb (100%) rename {bunRuntimee => bunRuntime}/k6test.js (100%) rename {bunRuntimee => bunRuntime}/load.js (100%) rename {bunRuntimee => bunRuntime}/package.json (100%) rename {bunRuntimee => bunRuntime}/src/index.ts (100%) rename {bunRuntimee => bunRuntime}/src/logger.js (100%) rename {bunRuntimee => bunRuntime}/src/validation.js (100%) rename {bunRuntimee => bunRuntime}/tsconfig.json (100%) diff --git a/bunRuntimee/.eslintrc.json b/bunRuntime/.eslintrc.json similarity index 100% rename from bunRuntimee/.eslintrc.json rename to bunRuntime/.eslintrc.json diff --git a/bunRuntimee/.gitignore b/bunRuntime/.gitignore similarity index 100% rename from bunRuntimee/.gitignore rename to bunRuntime/.gitignore diff --git a/bunRuntimee/README.md b/bunRuntime/README.md similarity index 100% rename from bunRuntimee/README.md rename to bunRuntime/README.md diff --git a/bunRuntimee/bun.lockb b/bunRuntime/bun.lockb similarity index 100% rename from bunRuntimee/bun.lockb rename to bunRuntime/bun.lockb diff --git a/bunRuntimee/k6test.js b/bunRuntime/k6test.js similarity index 100% rename from bunRuntimee/k6test.js rename to bunRuntime/k6test.js diff --git a/bunRuntimee/load.js b/bunRuntime/load.js similarity index 100% rename from bunRuntimee/load.js rename to bunRuntime/load.js diff --git a/bunRuntimee/package.json b/bunRuntime/package.json similarity index 100% rename from bunRuntimee/package.json rename to bunRuntime/package.json diff --git a/bunRuntimee/src/index.ts b/bunRuntime/src/index.ts similarity index 100% rename from bunRuntimee/src/index.ts rename to bunRuntime/src/index.ts diff --git a/bunRuntimee/src/logger.js b/bunRuntime/src/logger.js similarity index 100% rename from bunRuntimee/src/logger.js rename to bunRuntime/src/logger.js diff --git a/bunRuntimee/src/validation.js b/bunRuntime/src/validation.js similarity index 100% rename from bunRuntimee/src/validation.js rename to bunRuntime/src/validation.js diff --git a/bunRuntimee/tsconfig.json b/bunRuntime/tsconfig.json similarity index 100% rename from bunRuntimee/tsconfig.json rename to bunRuntime/tsconfig.json