diff --git a/packages/aws-kms/README.md b/packages/aws-kms/README.md new file mode 100644 index 00000000000..eca629fc162 --- /dev/null +++ b/packages/aws-kms/README.md @@ -0,0 +1,3 @@ +# AWS KMS + +A DidableKeypair-compatible wrapper for AWS KMS. \ No newline at end of file diff --git a/packages/aws-kms/package.json b/packages/aws-kms/package.json new file mode 100644 index 00000000000..9566c5c39c1 --- /dev/null +++ b/packages/aws-kms/package.json @@ -0,0 +1,23 @@ +{ + "name": "@atproto/aws-kms", + "version": "0.0.1", + "main": "src/index.ts", + "license": "MIT", + "scripts": { + "start": "ts-node src/run.ts", + "prettier": "prettier --check src/", + "prettier:fix": "prettier --write src/", + "lint": "eslint . --ext .ts,.tsx", + "lint:fix": "yarn lint --fix", + "verify": "run-p prettier lint", + "verify:fix": "yarn prettier:fix && yarn lint:fix", + "build": "esbuild src/index.ts --define:process.env.NODE_ENV=\\\"production\\\" --bundle --platform=node --sourcemap --outfile=dist/index.js", + "postbuild": "tsc --build tsconfig.build.json" + }, + "dependencies": { + "@atproto/crypto": "*", + "@aws-sdk/client-kms": "^3.196.0", + "@noble/secp256k1": "^1.7.0", + "key-encoder": "^2.0.3" + } +} diff --git a/packages/aws-kms/src/index.ts b/packages/aws-kms/src/index.ts new file mode 100644 index 00000000000..02cc725738f --- /dev/null +++ b/packages/aws-kms/src/index.ts @@ -0,0 +1,66 @@ +import * as aws from '@aws-sdk/client-kms' +import * as secp from '@noble/secp256k1' +import * as crypto from '@atproto/crypto' +import KeyEncoder from 'key-encoder' + +const keyEncoder = new KeyEncoder('secp256k1') + +export type KmsConfig = { keyId: string } & Omit< + aws.KMSClientConfig, + 'apiVersion' +> + +export class KmsKeypair implements crypto.DidableKey { + jwtAlg = crypto.SECP256K1_JWT_ALG + + constructor( + private client: aws.KMS, + private keyId: string, + private publicKey: Uint8Array, + ) {} + + static async load(cfg: KmsConfig) { + const { keyId, ...rest } = cfg + const client = new aws.KMS({ + ...rest, + apiVersion: '2014-11-01', + }) + const res = await client.getPublicKey({ KeyId: keyId }) + if (!res.PublicKey) { + throw new Error('Could not find public key') + } + // public key comes back DER-encoded, so we translate it to raw 65 byte encoding + const rawPublicKeyHex = keyEncoder.encodePublic( + Buffer.from(res.PublicKey), + 'der', + 'raw', + ) + const publicKey = secp.utils.hexToBytes(rawPublicKeyHex) + return new KmsKeypair(client, keyId, publicKey) + } + + did(): string { + return crypto.formatDidKey(this.jwtAlg, this.publicKey) + } + + async sign(msg: Uint8Array): Promise { + const res = await this.client.sign({ + KeyId: this.keyId, + Message: msg, + SigningAlgorithm: 'ECDSA_SHA_256', + }) + if (!res.Signature) { + throw new Error('Could not get signature') + } + // signature comes back DER encoded & not-normalized + // we translate to raw 64 byte encoding + // we also normalize s as no more than 1/2 prime order to pass strict verification + // (prevents duplicating a signature) + // more: https://github.com/bitcoin-core/secp256k1/blob/a1102b12196ea27f44d6201de4d25926a2ae9640/include/secp256k1.h#L530-L534 + const sig = secp.Signature.fromDER(res.Signature) + const normalized = sig.normalizeS() + return normalized.toCompactRawBytes() + } +} + +export default KmsKeypair diff --git a/packages/aws-kms/tsconfig.build.json b/packages/aws-kms/tsconfig.build.json new file mode 100644 index 00000000000..27df65b89e2 --- /dev/null +++ b/packages/aws-kms/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts", "**/*.test.ts"] +} \ No newline at end of file diff --git a/packages/aws-kms/tsconfig.json b/packages/aws-kms/tsconfig.json new file mode 100644 index 00000000000..624cc32a35f --- /dev/null +++ b/packages/aws-kms/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", // Your outDir, + "emitDeclarationOnly": true + }, + "include": ["./src","__tests__/**/**.ts"] +} \ No newline at end of file diff --git a/packages/crypto/src/secp256k1/keypair.ts b/packages/crypto/src/secp256k1/keypair.ts index 6b2f251a413..37aaa5791fa 100644 --- a/packages/crypto/src/secp256k1/keypair.ts +++ b/packages/crypto/src/secp256k1/keypair.ts @@ -50,7 +50,8 @@ export class Secp256k1Keypair implements ucan.DidableKey { async sign(msg: Uint8Array): Promise { const msgHash = await secp.utils.sha256(msg) - return secp.sign(msgHash, this.privateKey) + // return raw 64 byte sig not DER-encoded + return secp.sign(msgHash, this.privateKey, { der: false }) } async export(): Promise { diff --git a/tsconfig.json b/tsconfig.json index 0921756c839..06c58f837c1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -28,6 +28,7 @@ { "path": "./packages/pds/tsconfig.build.json" }, { "path": "./packages/api/tsconfig.build.json" }, { "path": "./packages/auth/tsconfig.build.json" }, + { "path": "./packages/aws-kms/tsconfig.build.json" }, { "path": "./packages/common/tsconfig.build.json" }, { "path": "./packages/crypto/tsconfig.build.json" }, { "path": "./packages/dev-env" }, diff --git a/yarn.lock b/yarn.lock index 31c879d704b..155b588766c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,665 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" +"@aws-crypto/ie11-detection@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz#9c39f4a5558196636031a933ec1b4792de959d6a" + integrity sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz#741c9024df55ec59b51e5b1f5d806a4852699fb5" + integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/sha256-js" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz#f1f936039bdebd0b9e2dd834d65afdc2aac4efcb" + integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.2.tgz#c81e5d378b8a74ff1671b58632779986e50f4c99" + integrity sha512-iXLdKH19qPmIC73fVCrHWCSYjN/sxaAvZ3jNNyw6FclmHyjLKg0f69WlC9KTnyElxCR5MO9SKaG00VwlJwyAkQ== + dependencies: + "@aws-crypto/util" "^2.0.2" + "@aws-sdk/types" "^3.110.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz#9f02aafad8789cac9c0ab5faaebb1ab8aa841338" + integrity sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^2.0.0", "@aws-crypto/util@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-2.0.2.tgz#adf5ff5dfbc7713082f897f1d01e551ce0edb9c0" + integrity sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA== + dependencies: + "@aws-sdk/types" "^3.110.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/abort-controller@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.193.0.tgz#af3ccc95a68ed1bae5918e5ba11ed1c0ab46c6f9" + integrity sha512-MYPBm5PWyKP+Tq37mKs5wDbyAyVMocF5iYmx738LYXBSj8A1V4LTFrvfd4U16BRC/sM0DYB9fBFJUQ9ISFRVYw== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/client-kms@^3.196.0": + version "3.196.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-kms/-/client-kms-3.196.0.tgz#0a95a8089cf6bf4b67c3d4c2faaf157059e009cd" + integrity sha512-mR5jxfvHnv71FLd87PJ0KNgVXcZzNvKiI3i3JyLmukapnN5Kz2n0cG/jruo9d29zYQS60kfIPjdHddzOxNHH4A== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.196.0" + "@aws-sdk/config-resolver" "3.193.0" + "@aws-sdk/credential-provider-node" "3.196.0" + "@aws-sdk/fetch-http-handler" "3.193.0" + "@aws-sdk/hash-node" "3.193.0" + "@aws-sdk/invalid-dependency" "3.193.0" + "@aws-sdk/middleware-content-length" "3.193.0" + "@aws-sdk/middleware-endpoint" "3.193.0" + "@aws-sdk/middleware-host-header" "3.193.0" + "@aws-sdk/middleware-logger" "3.193.0" + "@aws-sdk/middleware-recursion-detection" "3.193.0" + "@aws-sdk/middleware-retry" "3.193.0" + "@aws-sdk/middleware-serde" "3.193.0" + "@aws-sdk/middleware-signing" "3.193.0" + "@aws-sdk/middleware-stack" "3.193.0" + "@aws-sdk/middleware-user-agent" "3.193.0" + "@aws-sdk/node-config-provider" "3.193.0" + "@aws-sdk/node-http-handler" "3.193.0" + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/smithy-client" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/url-parser" "3.193.0" + "@aws-sdk/util-base64-browser" "3.188.0" + "@aws-sdk/util-base64-node" "3.188.0" + "@aws-sdk/util-body-length-browser" "3.188.0" + "@aws-sdk/util-body-length-node" "3.188.0" + "@aws-sdk/util-defaults-mode-browser" "3.193.0" + "@aws-sdk/util-defaults-mode-node" "3.193.0" + "@aws-sdk/util-endpoints" "3.196.0" + "@aws-sdk/util-user-agent-browser" "3.193.0" + "@aws-sdk/util-user-agent-node" "3.193.0" + "@aws-sdk/util-utf8-browser" "3.188.0" + "@aws-sdk/util-utf8-node" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/client-sso@3.196.0": + version "3.196.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.196.0.tgz#9d1e39664ff4ca08e1baf3f540a20bba028f99e6" + integrity sha512-u+UnxrVHLjLDdfCZft1AuyIhyv+77/inCHR4LcKsGASRA+jAg3z+OY+B7Q9hWHNcVt5ECMw7rxe4jA9BLf42sw== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.193.0" + "@aws-sdk/fetch-http-handler" "3.193.0" + "@aws-sdk/hash-node" "3.193.0" + "@aws-sdk/invalid-dependency" "3.193.0" + "@aws-sdk/middleware-content-length" "3.193.0" + "@aws-sdk/middleware-endpoint" "3.193.0" + "@aws-sdk/middleware-host-header" "3.193.0" + "@aws-sdk/middleware-logger" "3.193.0" + "@aws-sdk/middleware-recursion-detection" "3.193.0" + "@aws-sdk/middleware-retry" "3.193.0" + "@aws-sdk/middleware-serde" "3.193.0" + "@aws-sdk/middleware-stack" "3.193.0" + "@aws-sdk/middleware-user-agent" "3.193.0" + "@aws-sdk/node-config-provider" "3.193.0" + "@aws-sdk/node-http-handler" "3.193.0" + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/smithy-client" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/url-parser" "3.193.0" + "@aws-sdk/util-base64-browser" "3.188.0" + "@aws-sdk/util-base64-node" "3.188.0" + "@aws-sdk/util-body-length-browser" "3.188.0" + "@aws-sdk/util-body-length-node" "3.188.0" + "@aws-sdk/util-defaults-mode-browser" "3.193.0" + "@aws-sdk/util-defaults-mode-node" "3.193.0" + "@aws-sdk/util-endpoints" "3.196.0" + "@aws-sdk/util-user-agent-browser" "3.193.0" + "@aws-sdk/util-user-agent-node" "3.193.0" + "@aws-sdk/util-utf8-browser" "3.188.0" + "@aws-sdk/util-utf8-node" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/client-sts@3.196.0": + version "3.196.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.196.0.tgz#dcde10100c2d051eaf8eb1b0b8f11efdefd32f43" + integrity sha512-ChzK8606CugwnRLm7iwerXzeMqOsjGLe3j1j1HtQShzXZu4/ysQ3mUBBPAt2Lltx+1ep8MoI9vaQVyfw5h35ww== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.193.0" + "@aws-sdk/credential-provider-node" "3.196.0" + "@aws-sdk/fetch-http-handler" "3.193.0" + "@aws-sdk/hash-node" "3.193.0" + "@aws-sdk/invalid-dependency" "3.193.0" + "@aws-sdk/middleware-content-length" "3.193.0" + "@aws-sdk/middleware-endpoint" "3.193.0" + "@aws-sdk/middleware-host-header" "3.193.0" + "@aws-sdk/middleware-logger" "3.193.0" + "@aws-sdk/middleware-recursion-detection" "3.193.0" + "@aws-sdk/middleware-retry" "3.193.0" + "@aws-sdk/middleware-sdk-sts" "3.193.0" + "@aws-sdk/middleware-serde" "3.193.0" + "@aws-sdk/middleware-signing" "3.193.0" + "@aws-sdk/middleware-stack" "3.193.0" + "@aws-sdk/middleware-user-agent" "3.193.0" + "@aws-sdk/node-config-provider" "3.193.0" + "@aws-sdk/node-http-handler" "3.193.0" + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/smithy-client" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/url-parser" "3.193.0" + "@aws-sdk/util-base64-browser" "3.188.0" + "@aws-sdk/util-base64-node" "3.188.0" + "@aws-sdk/util-body-length-browser" "3.188.0" + "@aws-sdk/util-body-length-node" "3.188.0" + "@aws-sdk/util-defaults-mode-browser" "3.193.0" + "@aws-sdk/util-defaults-mode-node" "3.193.0" + "@aws-sdk/util-endpoints" "3.196.0" + "@aws-sdk/util-user-agent-browser" "3.193.0" + "@aws-sdk/util-user-agent-node" "3.193.0" + "@aws-sdk/util-utf8-browser" "3.188.0" + "@aws-sdk/util-utf8-node" "3.188.0" + fast-xml-parser "4.0.11" + tslib "^2.3.1" + +"@aws-sdk/config-resolver@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.193.0.tgz#57248376671d8c18000388e944b190737c7b606f" + integrity sha512-HIjuv2A1glgkXy9g/A8bfsiz3jTFaRbwGZheoHFZod6iEQQEbbeAsBe3u2AZyzOrVLgs8lOvBtgU8XKSJWjDkw== + dependencies: + "@aws-sdk/signature-v4" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/util-config-provider" "3.188.0" + "@aws-sdk/util-middleware" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-env@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.193.0.tgz#73fc7a24aa2c5af5c5d6cdd723892acc85eeba9d" + integrity sha512-pRqZoIaqCdWB4JJdR6DqDn3u+CwKJchwiCPnRtChwC8KXCMkT4njq9J1bWG3imYeTxP/G06O1PDONEuD4pPtNQ== + dependencies: + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-imds@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.193.0.tgz#b06071ca5cc6f2f14de886a7dbff2cd386fc368c" + integrity sha512-jC7uT7uVpO/iitz49toHMGFKXQ2igWQQG2SKirREqDRaz5HSXwEP1V3rcOlNNyGIBPMggDjZnxYgJHqBXSq9Ag== + dependencies: + "@aws-sdk/node-config-provider" "3.193.0" + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/url-parser" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-ini@3.196.0": + version "3.196.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.196.0.tgz#a688c0676f254fcde5fd9df85d213f67fb163992" + integrity sha512-3lL+YLBQ9KwQxG4AdRm4u2cvBNZeBmS/i3BWnCPomg96lNGPMrTEloVaVEpnrzOff6sgFxRtjkbLkVxmdipIrw== + dependencies: + "@aws-sdk/credential-provider-env" "3.193.0" + "@aws-sdk/credential-provider-imds" "3.193.0" + "@aws-sdk/credential-provider-sso" "3.196.0" + "@aws-sdk/credential-provider-web-identity" "3.193.0" + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/shared-ini-file-loader" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-node@3.196.0": + version "3.196.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.196.0.tgz#77919d29213efd804db52b161f23e0be48cfc977" + integrity sha512-PGY7pkmqgfEwTHsuUH6fGrXWri93jqKkMbhq/QJafMGtsVupfvXvE37Rl+qgjsZjRfROrEaeLw2DGrPPmVh2cg== + dependencies: + "@aws-sdk/credential-provider-env" "3.193.0" + "@aws-sdk/credential-provider-imds" "3.193.0" + "@aws-sdk/credential-provider-ini" "3.196.0" + "@aws-sdk/credential-provider-process" "3.193.0" + "@aws-sdk/credential-provider-sso" "3.196.0" + "@aws-sdk/credential-provider-web-identity" "3.193.0" + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/shared-ini-file-loader" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-process@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.193.0.tgz#0093068d0d6770844ea48d0404ad1098d712588f" + integrity sha512-zpXxtQzQqkaUuFqmHW9dSkh9p/1k+XNKlwEkG8FTwAJNUWmy2ZMJv+8NTVn4s4vaRu7xJ1er9chspYr7mvxHlA== + dependencies: + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/shared-ini-file-loader" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-sso@3.196.0": + version "3.196.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.196.0.tgz#ba205df31a5da27660593ca3d175fec90410871f" + integrity sha512-hJV4LDVfvPfj5zC0ysHx3zkwwJOyF+BaMGaMzaScrHyijv5e3qZzdoBLbOQFmrqVnt7DjCU02NvRSS8amLpmSw== + dependencies: + "@aws-sdk/client-sso" "3.196.0" + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/shared-ini-file-loader" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-web-identity@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.193.0.tgz#b11a023c1cf2a3ad8cbf356f186c13963976e95a" + integrity sha512-MIQY9KwLCBnRyIt7an4EtMrFQZz2HC1E8vQDdKVzmeQBBePhW61fnX9XDP9bfc3Ypg1NggLG00KBPEC88twLFg== + dependencies: + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/fetch-http-handler@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.193.0.tgz#e9a5d352ffd5d0047e5518d8dd7263ad07154ddd" + integrity sha512-UhIS2LtCK9hqBzYVon6BI8WebJW1KC0GGIL/Gse5bqzU9iAGgFLAe66qg9k+/h3Jjc5LNAYzqXNVizMwn7689Q== + dependencies: + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/querystring-builder" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/util-base64-browser" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/hash-node@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.193.0.tgz#38542c8666f386a4c7e97ec14ab35f9ece0a7d65" + integrity sha512-O2SLPVBjrCUo+4ouAdRUoHBYsyurO9LcjNZNYD7YQOotBTbVFA3cx7kTZu+K4B6kX7FDaGbqbE1C/T1/eg/r+w== + dependencies: + "@aws-sdk/types" "3.193.0" + "@aws-sdk/util-buffer-from" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/invalid-dependency@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.193.0.tgz#8892fb6d97b4270954d63b8c1d9caf561b00d991" + integrity sha512-54DCknekLwJAI1os76XJ8XCzfAH7BGkBGtlWk5WCNkZTfj3rf5RUiXz4uoKUMWE1rZmyMDoDDS1PBo+yTVKW5w== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/is-array-buffer@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.188.0.tgz#2e969b2e799490e3bbd5008554aa346c58e3a9b6" + integrity sha512-n69N4zJZCNd87Rf4NzufPzhactUeM877Y0Tp/F3KiHqGeTnVjYUa4Lv1vLBjqtfjYb2HWT3NKlYn5yzrhaEwiQ== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/middleware-content-length@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.193.0.tgz#0923ffb330527793f647516e040d36a557f7bfb6" + integrity sha512-em0Sqo7O7DFOcVXU460pbcYuIjblDTZqK2YE62nQ0T+5Nbj+MSjuoite+rRRdRww9VqBkUROGKON45bUNjogtQ== + dependencies: + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-endpoint@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.193.0.tgz#9f79b42f828e8f8d281d4d3629acf2ceeca3636c" + integrity sha512-Inbpt7jcHGvzF7UOJOCxx9wih0+eAQYERikokidWJa7M405EJpVYq1mGbeOcQUPANU3uWF1AObmUUFhbkriHQw== + dependencies: + "@aws-sdk/middleware-serde" "3.193.0" + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/signature-v4" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/url-parser" "3.193.0" + "@aws-sdk/util-config-provider" "3.188.0" + "@aws-sdk/util-middleware" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-host-header@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.193.0.tgz#7da640d08c2ed9e166bb2010e15490448c17fc3d" + integrity sha512-aegzj5oRWd//lmfmkzRmgG2b4l3140v8Ey4QkqCxcowvAEX5a7rh23yuKaGtmiePwv2RQalCKz+tN6JXCm8g6Q== + dependencies: + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-logger@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.193.0.tgz#505a1905edd9e0417d7ba60bc1e203311c31e7b1" + integrity sha512-D/h1pU5tAcyJpJ8ZeD1Sta0S9QZPcxERYRBiJdEl8VUrYwfy3Cl1WJedVOmd5nG73ZLRSyHeXHewb/ohge3yKQ== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-recursion-detection@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.193.0.tgz#ece646efb6af98aa085ca689e644d104c94cfc3d" + integrity sha512-fMWP76Q1GOb/9OzS1arizm6Dbfo02DPZ6xp7OoAN3PS6ybH3Eb47s/gP3jzgBPAITQacFj4St/4a06YWYrN3NA== + dependencies: + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-retry@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.193.0.tgz#d5efa38d2318b93d4b716c1db44f35feaa0f48ba" + integrity sha512-zTQkHLBQBJi6ns655WYcYLyLPc1tgbEYU080Oc8zlveLUqoDn1ogkcmNhG7XMeQuBvWZBYN7J3/wFaXlDzeCKg== + dependencies: + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/service-error-classification" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/util-middleware" "3.193.0" + tslib "^2.3.1" + uuid "^8.3.2" + +"@aws-sdk/middleware-sdk-sts@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.193.0.tgz#ddc49171822af6692a0052f01eef5ae6b2677b50" + integrity sha512-TafiDkeflUsnbNa89TLkDnAiRRp1gAaZLDAjt75AzriRKZnhtFfYUXWb+qAuN50T+CkJ/gZI9LHDZL5ogz/HxQ== + dependencies: + "@aws-sdk/middleware-signing" "3.193.0" + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/signature-v4" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-serde@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.193.0.tgz#b4e2851b11fe091a8ae19f06cbf51a70e9f5e43c" + integrity sha512-dH93EJYVztY+ZDPzSMRi9LfAZfKO+luH62raNy49hlNa4jiyE1Tc/+qwlmOEpfGsrtcZ9TgsON1uFF9sgBXXaA== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-signing@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.193.0.tgz#f008b79b16b645cf8ac82d6780b1a591b6718890" + integrity sha512-obBoELGPf5ikvHYZwbzllLeuODiokdDfe92Ve2ufeOa/d8+xsmbqNzNdCTLNNTmr1tEIaEE7ngZVTOiHqAVhyw== + dependencies: + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/signature-v4" "3.193.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/util-middleware" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-stack@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.193.0.tgz#bf1cb39b9f2a2da9c9579a22ff50a58726210bc3" + integrity sha512-Ix5d7gE6bZwFNIVf0dGnjYuymz1gjitNoAZDPpv1nEZlUMek/jcno5lmzWFzUZXY/azpbIyaPwq/wm/c69au5A== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/middleware-user-agent@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.193.0.tgz#c0afaa79341faf0559f94ecb658fd3d41ef9e3ae" + integrity sha512-0vT6F9NwYQK7ARUUJeHTUIUPnupsO3IbmjHSi1+clkssFlJm2UfmSGeafiWe4AYH3anATTvZEtcxX5DZT/ExbA== + dependencies: + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/node-config-provider@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.193.0.tgz#ffe76c0a92ba61f1979593f68260147cbbfd1072" + integrity sha512-5RLdjQLH69ISRG8TX9klSLOpEySXxj+z9E9Em39HRvw0/rDcd8poCTADvjYIOqRVvMka0z/hm+elvUTIVn/DRw== + dependencies: + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/shared-ini-file-loader" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/node-http-handler@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.193.0.tgz#cc7696d83727c4f137dacb8551c4517a8073c7a2" + integrity sha512-DP4BmFw64HOShgpAPEEMZedVnRmKKjHOwMEoXcnNlAkMXnYUFHiKvudYq87Q2AnSlT6OHkyMviB61gEvIk73dA== + dependencies: + "@aws-sdk/abort-controller" "3.193.0" + "@aws-sdk/protocol-http" "3.193.0" + "@aws-sdk/querystring-builder" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/property-provider@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.193.0.tgz#111a759301ff4f84e9462bf9bcb20efb86ea9922" + integrity sha512-IaDR/PdZjKlAeSq2E/6u6nkPsZF9wvhHZckwH7uumq4ocWsWXFzaT+hKpV4YZPHx9n+K2YV4Gn/bDedpz99W1Q== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/protocol-http@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.193.0.tgz#9c1889ef1448fb462c47a231cad3262d5146bc5f" + integrity sha512-r0wbTwFJyXq0uiImI6giqG3g/RO1N/y4wwPA7qr7OC+KXJ0NkyVxIf6e7Vx8h06aM1ATtngbwJaMP59kVCp85A== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-builder@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.193.0.tgz#f7d549ebd07912a2f96c0ab5d390b1941774ff05" + integrity sha512-PRaK6649iw0UO45UjUoiUzFcOKXZb8pMjjFJpqALpEvdZT3twxqhlPXujT7GWPKrSwO4uPLNnyYEtPY82wx2vw== + dependencies: + "@aws-sdk/types" "3.193.0" + "@aws-sdk/util-uri-escape" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-parser@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.193.0.tgz#e64805418cf19f391770eeebe5893b5cd6a7feb7" + integrity sha512-dGEPCe8SK4/td5dSpiaEI3SvT5eHXrbJWbLGyD4FL3n7WCGMy2xVWAB/yrgzD0GdLDjDa8L5vLVz6yT1P9i+hA== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/service-error-classification@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.193.0.tgz#35f1f5c8351f59d937b904ba5d7d144f65fb9e83" + integrity sha512-bPnXVu8ErE1RfWVVQKc2TE7EuoImUi4dSPW9g80fGRzJdQNwXb636C+7OUuWvSDzmFwuBYqZza8GZjVd+rz2zQ== + +"@aws-sdk/shared-ini-file-loader@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.193.0.tgz#fc0e8d88bdebfbb98f39d3d459fd455c644e4272" + integrity sha512-hnvZup8RSpFXfah7Rrn6+lQJnAOCO+OiDJ2R/iMgZQh475GRQpLbu3cPhCOkjB14vVLygJtW8trK/0+zKq93bQ== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/signature-v4@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.193.0.tgz#4b0fc29020a3e925f0cd8902297a9ccda6ae4e30" + integrity sha512-JEqqOB8wQZz6g1ERNUOIBFDFt8OJtz5G5Uh1CdkS5W66gyWnJEz/dE1hA2VTqqQwHGGEsIEV/hlzruU1lXsvFA== + dependencies: + "@aws-sdk/is-array-buffer" "3.188.0" + "@aws-sdk/types" "3.193.0" + "@aws-sdk/util-hex-encoding" "3.188.0" + "@aws-sdk/util-middleware" "3.193.0" + "@aws-sdk/util-uri-escape" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/smithy-client@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.193.0.tgz#0c89a5531652aca09ebca957d049b8b4c08745f1" + integrity sha512-BY0jhfW76vyXr7ODMaKO3eyS98RSrZgOMl6DTQV9sk7eFP/MPVlG7p7nfX/CDIgPBIO1z0A0i2CVIzYur9uGgQ== + dependencies: + "@aws-sdk/middleware-stack" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/types@3.193.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.110.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.193.0.tgz#a2079ccda7312c7ba535b4379c97980141948fd9" + integrity sha512-LV/wcPolRZKORrcHwkH59QMCkiDR5sM+9ZtuTxvyUGG2QFW/kjoxs08fUF10OWNJMrotBI+czDc5QJRgN8BlAw== + +"@aws-sdk/url-parser@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.193.0.tgz#0a833c2e0648d699abf7133ee5564e8fee9ead35" + integrity sha512-hwD1koJlOu2a6GvaSbNbdo7I6a3tmrsNTZr8bCjAcbqpc5pDThcpnl/Uaz3zHmMPs92U8I6BvWoK6pH8By06qw== + dependencies: + "@aws-sdk/querystring-parser" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/util-base64-browser@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz#581c85dc157aff88ca81e42d9c79d87c95db8d03" + integrity sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-base64-node@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.188.0.tgz#1d2413f68c8ad1cca0903fc11d92af88ba70e14d" + integrity sha512-r1dccRsRjKq+OhVRUfqFiW3sGgZBjHbMeHLbrAs9jrOjU2PTQ8PSzAXLvX/9lmp7YjmX17Qvlsg0NCr1tbB9OA== + dependencies: + "@aws-sdk/util-buffer-from" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/util-body-length-browser@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz#e1d949318c10a621b38575a9ef01e39f9857ddb0" + integrity sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-body-length-node@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.188.0.tgz#3fc2a820b9be0efcbdf962d8f980b9000b98ddba" + integrity sha512-XwqP3vxk60MKp4YDdvDeCD6BPOiG2e+/Ou4AofZOy5/toB6NKz2pFNibQIUg2+jc7mPMnGnvOW3MQEgSJ+gu/Q== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-buffer-from@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.188.0.tgz#a062ccd990571df4353990e8b78aebec5a14547d" + integrity sha512-NX1WXZ8TH20IZb4jPFT2CnLKSqZWddGxtfiWxD9M47YOtq/SSQeR82fhqqVjJn4P8w2F5E28f+Du4ntg/sGcxA== + dependencies: + "@aws-sdk/is-array-buffer" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/util-config-provider@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.188.0.tgz#f7a365e6cbfe728c1224f0b39926636619b669e0" + integrity sha512-LBA7tLbi7v4uvbOJhSnjJrxbcRifKK/1ZVK94JTV2MNSCCyNkFotyEI5UWDl10YKriTIUyf7o5cakpiDZ3O4xg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-browser@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.193.0.tgz#3d387441ee155fcee0acf40a536609c67175ace5" + integrity sha512-9riQKFrSJcsNAMnPA/3ltpSxNykeO20klE/UKjxEoD7UWjxLwsPK22UJjFwMRaHoAFcZD0LU/SgPxbC0ktCYCg== + dependencies: + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/types" "3.193.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-node@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.193.0.tgz#bf88796f1ea96988a91f580ddb09710b6608a763" + integrity sha512-occQmckvPRiM4YQIZnulfKKKjykGKWloa5ByGC5gOEGlyeP9zJpfs4zc/M2kArTAt+d2r3wkBtsKe5yKSlVEhA== + dependencies: + "@aws-sdk/config-resolver" "3.193.0" + "@aws-sdk/credential-provider-imds" "3.193.0" + "@aws-sdk/node-config-provider" "3.193.0" + "@aws-sdk/property-provider" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/util-endpoints@3.196.0": + version "3.196.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.196.0.tgz#cd3993a8e48f758963587efb3c64b1bbe1a60d63" + integrity sha512-X+DOpRUy/ij49a0GQtggk09oyIQGn0mhER6PbMT69IufZPIg3D5fC5FPEp8bfsPkb70fTEYQEsj/X/rgMQJKsA== + dependencies: + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/util-hex-encoding@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.188.0.tgz#c2d8b02b952db58acbd5f53718109657c69c460f" + integrity sha512-QyWovTtjQ2RYxqVM+STPh65owSqzuXURnfoof778spyX4iQ4z46wOge1YV2ZtwS8w5LWd9eeVvDrLu5POPYOnA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.188.0.tgz#0bef2b4d932d1401bd78dc1ddd258b14a3652f96" + integrity sha512-SxobBVLZkkLSawTCfeQnhVX3Azm9O+C2dngZVe1+BqtF8+retUbVTs7OfYeWBlawVkULKF2e781lTzEHBBjCzw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-middleware@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.193.0.tgz#ea1e30491c824c99748814d837ef4c484afc374f" + integrity sha512-+aC6pmkcGgpxaMWCH/FXTsGWl2W342oQGs1OYKGi+W8z9UguXrqamWjdkdMqgunvj9qOEG2KBMKz1FWFFZlUyA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-uri-escape@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.188.0.tgz#6dbd4322f6cdc3252a75c6f729e1082369c468c0" + integrity sha512-4Y6AYZMT483Tiuq8dxz5WHIiPNdSFPGrl6tRTo2Oi2FcwypwmFhqgEGcqxeXDUJktvaCBxeA08DLr/AemVhPCg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-browser@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.193.0.tgz#64f290e7673271a3b11cd217beed7f1aab260ba2" + integrity sha512-1EkGYsUtOMEyJG/UBIR4PtmO3lVjKNoUImoMpLtEucoGbWz5RG9zFSwLevjFyFs5roUBFlxkSpTMo8xQ3aRzQg== + dependencies: + "@aws-sdk/types" "3.193.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-node@3.193.0": + version "3.193.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.193.0.tgz#2d29afa708383b264eb85a4a72a4faf4892e033d" + integrity sha512-G/2/1cSgsxVtREAm8Eq8Duib5PXzXknFRHuDpAxJ5++lsJMXoYMReS278KgV54cojOkAVfcODDTqmY3Av0WHhQ== + dependencies: + "@aws-sdk/node-config-provider" "3.193.0" + "@aws-sdk/types" "3.193.0" + tslib "^2.3.1" + +"@aws-sdk/util-utf8-browser@3.188.0", "@aws-sdk/util-utf8-browser@^3.0.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz#484762bd600401350e148277731d6744a4a92225" + integrity sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-utf8-node@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.188.0.tgz#935bc58a71f2792ac6a4ec881f72bf9ceee008b4" + integrity sha512-hCgP4+C0Lekjpjt2zFJ2R/iHes5sBGljXa5bScOFAEkRUc0Qw0VNgTv7LpEbIOAwGmqyxBoCwBW0YHPW1DfmYQ== + dependencies: + "@aws-sdk/util-buffer-from" "3.188.0" + tslib "^2.3.1" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -2273,6 +2932,13 @@ dependencies: "@babel/types" "^7.3.0" +"@types/bn.js@*": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" @@ -2293,6 +2959,13 @@ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== +"@types/elliptic@^6.4.9": + version "6.4.14" + resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.14.tgz#7bbaad60567a588c1f08b10893453e6b9b4de48e" + integrity sha512-z4OBcDAU0GVwDTuwJzQCiL6188QvZMkvoERgcVjq0/mPM8jCfdwZ3x5zQEVoL9WCAru3aG5wl3Z5Ww5wBWn7ZQ== + dependencies: + "@types/bn.js" "*" + "@types/express-serve-static-core@^4.17.18": version "4.17.31" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" @@ -2809,6 +3482,16 @@ asap@^2.0.0: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== +asn1.js@^5.0.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" @@ -3056,6 +3739,11 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" +bn.js@^4.0.0, bn.js@^4.11.8, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + body-parser@1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" @@ -3074,6 +3762,11 @@ body-parser@1.20.0: type-is "~1.6.18" unpipe "1.0.0" +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -3096,6 +3789,11 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + browser-level@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/browser-level/-/browser-level-1.0.1.tgz#36e8c3183d0fe1c405239792faaab5f315871011" @@ -3997,6 +4695,19 @@ electron-to-chromium@^1.4.251: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz#895dc73c6bb58d1235dc80879ecbca0bcba96e2c" integrity sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A== +elliptic@^6.4.1: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emittery@^0.10.2: version "0.10.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" @@ -4626,6 +5337,13 @@ fast-url-parser@1.1.3, fast-url-parser@^1.1.3: dependencies: punycode "^1.3.2" +fast-xml-parser@4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz#42332a9aca544520631c8919e6ea871c0185a985" + integrity sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA== + dependencies: + strnum "^1.0.5" + fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" @@ -5127,6 +5845,14 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -5140,6 +5866,15 @@ help-me@^4.0.1: glob "^8.0.0" readable-stream "^3.6.0" +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -5313,7 +6048,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6200,6 +6935,16 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" +key-encoder@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/key-encoder/-/key-encoder-2.0.3.tgz#77073bb48ff1fe2173bb2088b83b91152c8fa4ba" + integrity sha512-fgBtpAGIr/Fy5/+ZLQZIPPhsZEcbSlYu/Wu96tNDFNSjSACw5lEIOFeaVdQ/iwrb8oxjlWi6wmWdH76hV6GZjg== + dependencies: + "@types/elliptic" "^6.4.9" + asn1.js "^5.0.1" + bn.js "^4.11.8" + elliptic "^6.4.1" + kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -6628,6 +7373,16 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -8704,6 +9459,11 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + strong-log-transformer@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -8992,12 +9752,12 @@ tsconfig-paths-jest@^0.0.1: resolved "https://registry.yarnpkg.com/tsconfig-paths-jest/-/tsconfig-paths-jest-0.0.1.tgz#a977a5648c434037b69884e644ce1b82bf025b68" integrity sha512-YKhUKqbteklNppC2NqL7dv1cWF8eEobgHVD5kjF1y9Q4ocqpBiaDlYslQ9eMhtbqIPRrA68RIEXqknEjlxdwxw== -tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.4.0: +tslib@^2.3.1, tslib@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== @@ -9229,6 +9989,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"