diff --git a/package.json b/package.json index 5a8d35efbb..a2e7215a04 100644 --- a/package.json +++ b/package.json @@ -19,11 +19,12 @@ }, "homepage": "https://github.com/scality/S3#readme", "dependencies": { + "@aws-sdk/client-s3": "^3.908.0", + "@aws-sdk/credential-providers": "^3.864.0", "@azure/storage-blob": "^12.28.0", "@hapi/joi": "^17.1.1", "arsenal": "git+https://github.com/scality/Arsenal#8.2.35", "async": "2.6.4", - "aws-sdk": "^2.1692.0", "bucketclient": "scality/bucketclient#8.2.7", "bufferutil": "^4.0.8", "commander": "^12.1.0", diff --git a/tests/functional/aws-node-sdk/lib/utility/bucket-util.js b/tests/functional/aws-node-sdk/lib/utility/bucket-util.js index 2a0b5b7a97..0dddb32104 100644 --- a/tests/functional/aws-node-sdk/lib/utility/bucket-util.js +++ b/tests/functional/aws-node-sdk/lib/utility/bucket-util.js @@ -1,27 +1,40 @@ -const AWS = require('aws-sdk'); -AWS.config.logger = console; -const { S3 } = require('aws-sdk'); +const { + S3Client, + HeadBucketCommand, + CreateBucketCommand, + DeleteBucketCommand, + ListObjectVersionsCommand, + DeleteObjectCommand, + ListBucketsCommand, +} = require('@aws-sdk/client-s3'); const projectFixture = require('../fixtures/project'); const getConfig = require('../../test/support/config'); class BucketUtility { - constructor(profile = 'default', config = {}) { + constructor(profile = 'default', config = {}, unauthenticated = false) { const s3Config = getConfig(profile, config); - - this.s3 = new S3(s3Config); - this.s3.config.setPromisesDependency(Promise); - this.s3.config.update({ - maxRetries: 0, - }); + if (unauthenticated) { + this.s3 = new S3Client({ + ...s3Config, + maxAttempts: 0, + credentials: { accessKeyId: '', secretAccessKey: '' }, + forcePathStyle: true, + signer: { sign: async request => request }, + }); + } + else { + this.s3 = new S3Client({ + ...s3Config, + maxAttempts: 0, + }); + } } bucketExists(bucketName) { - return this.s3 - .headBucket({ Bucket: bucketName }) - .promise() + return this.s3.send(new HeadBucketCommand({ Bucket: bucketName })) .then(() => true) .catch(err => { - if (err.code === 'NotFound') { + if (err.name === 'NotFound') { return false; } throw err; @@ -29,53 +42,46 @@ class BucketUtility { } createOne(bucketName) { - return this.s3 - .createBucket({ Bucket: bucketName }) - .promise() - .then(() => bucketName); + return this.s3.send(new CreateBucketCommand({ Bucket: bucketName })) + .then(() => bucketName) + .catch(err => { + throw err; + }); } createOneWithLock(bucketName) { - return this.s3 - .createBucket({ - Bucket: bucketName, - ObjectLockEnabledForBucket: true, - }) - .promise() - .then(() => bucketName); + return this.s3.send(new CreateBucketCommand({ + Bucket: bucketName, + ObjectLockEnabledForBucket: true, + })).then(() => bucketName); } createMany(bucketNames) { const promises = bucketNames.map(bucketName => this.createOne(bucketName), ); - return Promise.all(promises); } createRandom(nBuckets = 1) { if (nBuckets === 1) { const bucketName = projectFixture.generateBucketName(); - return this.createOne(bucketName); } - const bucketNames = projectFixture .generateManyBucketNames(nBuckets) - .sort(() => 0.5 - Math.random()); // Simply shuffle array - + .sort(() => 0.5 - Math.random()); return this.createMany(bucketNames); } deleteOne(bucketName) { - return this.s3.deleteBucket({ Bucket: bucketName }).promise(); + return this.s3.send(new DeleteBucketCommand({ Bucket: bucketName })); } deleteMany(bucketNames) { const promises = bucketNames.map(bucketName => this.deleteOne(bucketName), ); - return Promise.all(promises); } @@ -84,68 +90,57 @@ class BucketUtility { * @param bucketName * @returns {Promise.} */ - - async empty(bucketName, BypassGovernanceRetention = false) { + empty(bucketName, BypassGovernanceRetention = false) { const param = { Bucket: bucketName, }; - const listedObjects = await this.s3.listObjectVersions(param).promise(); - - for (const version of listedObjects.Versions) { - if (version.Key.endsWith('/')) { - continue; - } - - await this.s3 - .deleteObject({ - Bucket: bucketName, - Key: version.Key, - VersionId: version.VersionId, - ...(BypassGovernanceRetention && { - BypassGovernanceRetention, - }), - }) - .promise(); - } - - for (const version of listedObjects.Versions) { - if (!version.Key.endsWith('/')) { - continue; - } - - await this.s3 - .deleteObject({ - Bucket: bucketName, - Key: version.Key, - VersionId: version.VersionId, - ...(BypassGovernanceRetention && { - BypassGovernanceRetention, - }), - }) - .promise(); - } - - for (const marker of listedObjects.DeleteMarkers) { - await this.s3 - .deleteObject({ - Bucket: bucketName, - Key: marker.Key, - VersionId: marker.VersionId, - ...(BypassGovernanceRetention && { - BypassGovernanceRetention, - }), - }) - .promise(); - } + return this.s3.send(new ListObjectVersionsCommand(param)) + .then(data => Promise.all( + (data.Versions || []) + .filter(object => !object.Key.endsWith('/')) + .map(object => + this.s3.send(new DeleteObjectCommand({ + Bucket: bucketName, + Key: object.Key, + VersionId: object.VersionId, + ...(BypassGovernanceRetention && { BypassGovernanceRetention }), + })).then(() => object) + ) + .concat((data.Versions || []) + .filter(object => object.Key.endsWith('/')) + .map(object => + this.s3.send(new DeleteObjectCommand({ + Bucket: bucketName, + Key: object.Key, + VersionId: object.VersionId, + ...(BypassGovernanceRetention && { BypassGovernanceRetention }), + })) + .then(() => object) + ) + ) + .concat((data.DeleteMarkers || []) + .map(object => + this.s3.send(new DeleteObjectCommand({ + Bucket: bucketName, + Key: object.Key, + VersionId: object.VersionId, + ...(BypassGovernanceRetention && { BypassGovernanceRetention }), + })) + .then(() => object) + ) + ) + ) + ); } emptyMany(bucketNames) { - const promises = bucketNames.map(bucketName => this.empty(bucketName)); - + const promises = bucketNames.map( + bucketName => this.empty(bucketName) + ); return Promise.all(promises); } - + emptyIfExists(bucketName) { return this.bucketExists(bucketName).then(exists => { if (exists) { @@ -154,20 +149,19 @@ class BucketUtility { return undefined; }); } - emptyManyIfExists(bucketNames) { const promises = bucketNames.map(bucketName => this.emptyIfExists(bucketName), ); - return Promise.all(promises); } getOwner() { - return this.s3 - .listBuckets() - .promise() - .then(data => data.Owner); + return this.s3.send(new ListBucketsCommand({})) + .then(data => data.Owner) + .catch(err => { + throw err; + }); } } diff --git a/tests/functional/aws-node-sdk/test/support/awsConfig.js b/tests/functional/aws-node-sdk/test/support/awsConfig.js index 86149e7cc5..6ec415bc6c 100644 --- a/tests/functional/aws-node-sdk/test/support/awsConfig.js +++ b/tests/functional/aws-node-sdk/test/support/awsConfig.js @@ -1,9 +1,10 @@ -const AWS = require('aws-sdk'); +const { fromIni } = require('@aws-sdk/credential-providers'); const fs = require('fs'); const path = require('path'); const { config } = require('../../../../../lib/Config'); const https = require('https'); const http = require('http'); + function getAwsCredentials(profile, credFile) { const filename = path.join(process.env.HOME, credFile); @@ -14,7 +15,7 @@ function getAwsCredentials(profile, credFile) { throw new Error(msg); } - return new AWS.SharedIniFileCredentials({ profile, filename }); + return fromIni({ profile, filepath: filename }); } function getRealAwsConfig(location) { @@ -26,19 +27,18 @@ function getRealAwsConfig(location) { const params = { endpoint: gcpEndpoint ? `${proto}://${gcpEndpoint}` : `${proto}://${awsEndpoint}`, - signatureVersion: 'v4', }; if (config.locationConstraints[location].type === 'gcp') { params.mainBucket = bucketName; params.mpuBucket = mpuBucketName; } if (useHTTPS) { - params.httpOptions = { - agent: new https.Agent({ keepAlive: true }), + params.requestHandler = { + httpsAgent: new https.Agent({ keepAlive: true }), }; } else { - params.httpOptions = { - agent: new http.Agent({ keepAlive: true }), + params.requestHandler = { + httpAgent: new http.Agent({ keepAlive: true }), }; } if (credentialsProfile) { @@ -48,13 +48,12 @@ function getRealAwsConfig(location) { return params; } if (pathStyle) { - params.s3ForcePathStyle = true; - } - if (!useHTTPS) { - params.sslEnabled = false; + params.forcePathStyle = true; } - params.accessKeyId = locCredentials.accessKey; - params.secretAccessKey = locCredentials.secretKey; + params.credentials = { + accessKeyId: locCredentials.accessKey, + secretAccessKey: locCredentials.secretKey, + }; return params; } diff --git a/tests/functional/aws-node-sdk/test/support/config.js b/tests/functional/aws-node-sdk/test/support/config.js index ae4df173a2..f49795356f 100644 --- a/tests/functional/aws-node-sdk/test/support/config.js +++ b/tests/functional/aws-node-sdk/test/support/config.js @@ -1,5 +1,6 @@ const https = require('https'); -const AWS = require('aws-sdk'); +const http = require('http'); +const { NodeHttpHandler } = require('@smithy/node-http-handler'); const { getCredentials } = require('./credentials'); const { getAwsCredentials } = require('./awsConfig'); @@ -19,19 +20,45 @@ if (ssl && ssl.ca) { const DEFAULT_GLOBAL_OPTIONS = { httpOptions, - apiVersions: { s3: '2006-03-01' }, - signatureCache: false, - sslEnabled: ssl !== undefined, }; + const DEFAULT_MEM_OPTIONS = { endpoint: `${transport}://127.0.0.1:8000`, - s3ForcePathStyle: true, + port: 8000, + forcePathStyle: true, + region: 'us-east-1', + maxAttempts: 3, + requestHandler: new NodeHttpHandler({ + connectionTimeout: 5000, + socketTimeout: 5000, + httpAgent: new (ssl ? https : http).Agent({ + maxSockets: 200, + keepAlive: true, + keepAliveMsecs: 1000, + }), + }), +}; + +const DEFAULT_AWS_OPTIONS = { + region: 'us-east-1', + maxAttempts: 3, + requestHandler: new NodeHttpHandler({ + connectionTimeout: 5000, + socketTimeout: 5000, + httpAgent: new https.Agent({ + maxSockets: 200, + keepAlive: true, + keepAliveMsecs: 1000, + }), + }), }; -const DEFAULT_AWS_OPTIONS = {}; function _getMemCredentials(profile) { const { accessKeyId, secretAccessKey } = getCredentials(profile); - return new AWS.Credentials(accessKeyId, secretAccessKey); + return { + accessKeyId, + secretAccessKey, + }; } function _getMemConfig(profile, config) { @@ -58,11 +85,11 @@ function _getAwsConfig(profile, config) { return awsConfig; } -function getConfig(profile = 'default', config = {}) { - const fn = process.env.AWS_ON_AIR && process.env.AWS_ON_AIR === 'true' - ? _getAwsConfig : _getMemConfig; - - return fn.apply(this, [profile, config]); +function getConfig(profile, config) { + if (process.env.AWS_ON_AIR) { + return _getAwsConfig(profile, config); + } + return _getMemConfig(profile, config); } module.exports = getConfig; diff --git a/tests/sur/quota.js b/tests/sur/quota.js index eff35613bd..c221b8512e 100644 --- a/tests/sur/quota.js +++ b/tests/sur/quota.js @@ -1,6 +1,5 @@ const async = require('async'); const assert = require('assert'); -const { S3 } = require('aws-sdk'); const getConfig = require('../functional/aws-node-sdk/test/support/config'); const { Scuba: MockScuba, inflightFlushFrequencyMS } = require('../utilities/mock/Scuba'); const sendRequest = require('../functional/aws-node-sdk/test/quota/tooling').sendRequest; @@ -8,6 +7,23 @@ const memCredentials = require('../functional/aws-node-sdk/lib/json/mem_credenti const metadata = require('../../lib/metadata/wrapper'); const { fakeMetadataArchive } = require('../functional/aws-node-sdk/test/utils/init'); const { config: s3Config } = require('../../lib/Config'); +const { + S3Client, + PutObjectCommand, + CreateMultipartUploadCommand, + UploadPartCommand, + UploadPartCopyCommand, + CompleteMultipartUploadCommand, + PutBucketVersioningCommand, + PutObjectLockConfigurationCommand, + CopyObjectCommand, + DeleteObjectCommand, + DeleteObjectsCommand, + AbortMultipartUploadCommand, + RestoreObjectCommand, + CreateBucketCommand, + DeleteBucketCommand, +} = require('@aws-sdk/client-s3'); let mockScuba = null; let s3Client = null; @@ -27,26 +43,24 @@ function createBucket(bucket, locked, cb) { if (locked) { config.ObjectLockEnabledForBucket = true; } - return s3Client.createBucket(config, (err, data) => { - assert.ifError(err); - return cb(err, data); - }); + return s3Client.send(new CreateBucketCommand(config)) + .then(data => cb(null, data)) + .catch(cb); } function configureBucketVersioning(bucket, cb) { - return s3Client.putBucketVersioning({ + return s3Client.send(new PutBucketVersioningCommand({ Bucket: bucket, VersioningConfiguration: { Status: 'Enabled', }, - }, (err, data) => { - assert.ifError(err); - return cb(err, data); - }); + })) + .then(data => cb(null, data)) + .catch(cb); } function putObjectLockConfiguration(bucket, cb) { - return s3Client.putObjectLockConfiguration({ + return s3Client.send(new PutObjectLockConfigurationCommand({ Bucket: bucket, ObjectLockConfiguration: { ObjectLockEnabled: 'Enabled', @@ -57,90 +71,101 @@ function putObjectLockConfiguration(bucket, cb) { }, }, }, - }, (err, data) => { - assert.ifError(err); - return cb(err, data); - }); + })) + .then(data => cb(null, data)) + .catch(cb); } function deleteBucket(bucket, cb) { - return s3Client.deleteBucket({ - Bucket: bucket, - }, err => { - assert.ifError(err); - return cb(err); - }); + return s3Client.send(new DeleteBucketCommand({ Bucket: bucket })) + .then(data => cb(null, data)) + .catch(cb); } function putObject(bucket, key, size, cb) { - return s3Client.putObject({ + return s3Client.send(new PutObjectCommand({ Bucket: bucket, Key: key, Body: Buffer.alloc(size), - }, (err, data) => { - if (!err && !s3Config.isQuotaInflightEnabled()) { - mockScuba.incrementBytesForBucket(bucket, size); - } - return cb(err, data); - }); + })) + .then(data => { + if (!s3Config.isQuotaInflightEnabled()) { + mockScuba.incrementBytesForBucket(bucket, size); + } + return cb(null, data); + }) + .catch(cb); } function putObjectWithCustomHeader(bucket, key, size, vID, cb) { - const request = s3Client.putObject({ + const params = { Bucket: bucket, Key: key, Body: Buffer.alloc(size), - }); + }; - request.on('build', () => { - request.httpRequest.headers['x-scal-s3-version-id'] = vID; - }); + const command = new PutObjectCommand(params); + command.middlewareStack.add( + next => async args => { + // eslint-disable-next-line no-param-reassign + args.request.headers['x-scal-s3-version-id'] = vID; + return next(args); + }, + { step: 'build' } + ); - return request.send((err, data) => { - if (!err && !s3Config.isQuotaInflightEnabled()) { - mockScuba.incrementBytesForBucket(bucket, 0); - } - return cb(err, data); - }); + return s3Client.send(command) + .then(data => { + if (!s3Config.isQuotaInflightEnabled()) { + mockScuba.incrementBytesForBucket(bucket, 0); + } + cb(null, data); + }) + .catch(cb); } function copyObject(bucket, key, sourceSize, cb) { - return s3Client.copyObject({ + return s3Client.send(new CopyObjectCommand({ Bucket: bucket, - CopySource: `/${bucket}/${key}`, + CopySource: `${bucket}/${key}`, Key: `${key}-copy`, - }, (err, data) => { - if (!err && !s3Config.isQuotaInflightEnabled()) { - mockScuba.incrementBytesForBucket(bucket, sourceSize); - } - return cb(err, data); - }); + })) + .then(data => { + if (!s3Config.isQuotaInflightEnabled()) { + mockScuba.incrementBytesForBucket(bucket, sourceSize); + } + return cb(null, data); + }) + .catch(cb); } function deleteObject(bucket, key, size, cb) { - return s3Client.deleteObject({ + return s3Client.send(new DeleteObjectCommand({ Bucket: bucket, Key: key, - }, err => { - if (!err && !s3Config.isQuotaInflightEnabled()) { - mockScuba.incrementBytesForBucket(bucket, -size); - } - assert.ifError(err); - return cb(err); - }); + })) + .then(() => { + if (!s3Config.isQuotaInflightEnabled()) { + mockScuba.incrementBytesForBucket(bucket, -size); + } + return cb(); + }) + .catch(cb); } function deleteVersionID(bucket, key, versionId, size, cb) { - return s3Client.deleteObject({ + return s3Client.send(new DeleteObjectCommand({ Bucket: bucket, Key: key, VersionId: versionId, - }, (err, data) => { - if (!err && !s3Config.isQuotaInflightEnabled()) { - mockScuba.incrementBytesForBucket(bucket, -size); - } - return cb(err, data); - }); + })) + .then(data => { + if (!s3Config.isQuotaInflightEnabled()) { + mockScuba.incrementBytesForBucket(bucket, -size); + } + return cb(null, data); + }) + .catch(cb); } function objectMPU(bucket, key, parts, partSize, callback) { @@ -152,14 +177,12 @@ function objectMPU(bucket, key, parts, partSize, callback) { Key: key, }; return async.waterfall([ - next => s3Client.createMultipartUpload(initiateMPUParams, - (err, data) => { - if (err) { - return next(err); - } + next => s3Client.send(new CreateMultipartUploadCommand(initiateMPUParams)) + .then(data => { uploadId = data.UploadId; return next(); - }), + }) + .catch(next), next => async.mapLimit(partNumbers, 1, (partNumber, callback) => { const uploadPartParams = { @@ -169,14 +192,9 @@ function objectMPU(bucket, key, parts, partSize, callback) { UploadId: uploadId, Body: Buffer.alloc(partSize), }; - - return s3Client.uploadPart(uploadPartParams, - (err, data) => { - if (err) { - return callback(err); - } - return callback(null, data.ETag); - }); + return s3Client.send(new UploadPartCommand(uploadPartParams)) + .then(data => callback(null, data.ETag)) + .catch(callback); }, (err, results) => { if (err) { return next(err); @@ -196,7 +214,9 @@ function objectMPU(bucket, key, parts, partSize, callback) { }, UploadId: uploadId, }; - return s3Client.completeMultipartUpload(params, next); + return s3Client.send(new CompleteMultipartUploadCommand(params)) + .then(data => next(null, data)) + .catch(next); }, ], err => { if (!err && !s3Config.isQuotaInflightEnabled()) { @@ -207,16 +227,18 @@ function objectMPU(bucket, key, parts, partSize, callback) { } function abortMPU(bucket, key, uploadId, size, callback) { - return s3Client.abortMultipartUpload({ + return s3Client.send(new AbortMultipartUploadCommand({ Bucket: bucket, Key: key, UploadId: uploadId, - }, (err, data) => { - if (!err && !s3Config.isQuotaInflightEnabled()) { - mockScuba.incrementBytesForBucket(bucket, -size); - } - return callback(err, data); - }); + })) + .then(data => { + if (!s3Config.isQuotaInflightEnabled()) { + mockScuba.incrementBytesForBucket(bucket, -size); + } + return callback(null, data); + }) + .catch(err => callback(err)); } function uploadPartCopy(bucket, key, partNumber, partSize, sleepDuration, keyToCopy, callback) { @@ -232,14 +254,12 @@ function uploadPartCopy(bucket, key, partNumber, partSize, sleepDuration, keyToC mockScuba.incrementBytesForBucket(bucket, parts * partSize); } return async.waterfall([ - next => s3Client.createMultipartUpload(initiateMPUParams, - (err, data) => { - if (err) { - return next(err); - } + next => s3Client.send(new CreateMultipartUploadCommand(initiateMPUParams)) + .then(data => { uploadId = data.UploadId; return next(); - }), + }) + .catch(next), next => { const uploadPartParams = { Bucket: bucket, @@ -248,30 +268,28 @@ function uploadPartCopy(bucket, key, partNumber, partSize, sleepDuration, keyToC UploadId: uploadId, Body: Buffer.alloc(partSize), }; - return s3Client.uploadPart(uploadPartParams, (err, data) => { - if (err) { - return next(err); - } - ETags[partNumber] = data.ETag; - return next(); - }); + return s3Client.send(new UploadPartCommand(uploadPartParams)) + .then(data => { + ETags[partNumber] = data.ETag; + return next(); + }) + .catch(next); }, next => wait(sleepDuration, next), next => { const copyPartParams = { Bucket: bucket, - CopySource: `/${bucket}/${keyToCopy}`, + CopySource: `${bucket}/${keyToCopy}`, Key: `${key}-copy`, PartNumber: partNumber + 1, UploadId: uploadId, }; - return s3Client.uploadPartCopy(copyPartParams, (err, data) => { - if (err) { - return next(err); - } - ETags[partNumber] = data.ETag; - return next(null, data.ETag); - }); + return s3Client.send(new UploadPartCopyCommand(copyPartParams)) + .then(data => { + ETags[partNumber] = data.CopyPartResult.ETag; + return next(null, data.CopyPartResult.ETag); + }) + .catch(next); }, next => { const params = { @@ -285,7 +303,9 @@ function uploadPartCopy(bucket, key, partNumber, partSize, sleepDuration, keyToC }, UploadId: uploadId, }; - return s3Client.completeMultipartUpload(params, next); + return s3Client.send(new CompleteMultipartUploadCommand(params)) + .then(() => next()) + .catch(next); }, ], err => { if (err && !s3Config.isQuotaInflightEnabled()) { @@ -296,35 +316,44 @@ function uploadPartCopy(bucket, key, partNumber, partSize, sleepDuration, keyToC } function restoreObject(bucket, key, size, callback) { - return s3Client.restoreObject({ + return s3Client.send(new RestoreObjectCommand({ Bucket: bucket, Key: key, RestoreRequest: { Days: 1, }, - }, (err, data) => { - if (!err && !s3Config.isQuotaInflightEnabled()) { + })).then(data => { + if (!s3Config.isQuotaInflightEnabled()) { mockScuba.incrementBytesForBucket(bucket, size); } - return callback(err, data); - }); + return callback(null, data); + }) + .catch(callback); } function multiObjectDelete(bucket, keys, size, callback) { if (!s3Config.isQuotaInflightEnabled()) { mockScuba.incrementBytesForBucket(bucket, -size); } - return s3Client.deleteObjects({ + const deleteObjectsParams = keys.map(key => ({ Key: key })); + const command = new DeleteObjectsCommand({ Bucket: bucket, Delete: { - Objects: keys.map(key => ({ Key: key })), + Objects: deleteObjectsParams, + Quiet: false, }, - }, (err, data) => { - if (err && !s3Config.isQuotaInflightEnabled()) { - mockScuba.incrementBytesForBucket(bucket, size); - } - return callback(err, data); }); + + return s3Client.send(command) + .then(data => { + callback(null, data); + }) + .catch(err => { + if (!s3Config.isQuotaInflightEnabled()) { + mockScuba.incrementBytesForBucket(bucket, size); + } + return callback(err); + }); } (process.env.S3METADATA === 'mongodb' ? describe : describe.skip)('quota evaluation with scuba metrics', @@ -339,8 +368,21 @@ function multiObjectDelete(bucket, keys, size, callback) { mockScuba = scuba; before(done => { - const config = getConfig('default', { signatureVersion: 'v4', maxRetries: 0 }); - s3Client = new S3(config); + const config = getConfig('default', { + maxRetries: 0, + }); + + s3Client = new S3Client({ + ...config, + // Disable ALL automatic checksum handling + requestChecksumCalculation: 'WHEN_REQUIRED', + responseChecksumValidation: 'WHEN_REQUIRED', + checksumDisabled: true, + disableRequestCompression: true, + // Force the client to not add automatic headers + useGlobalEndpoint: false, + }); + scuba.start(); metadata.setup(err => wait(2000, () => done(err))); }); @@ -361,10 +403,16 @@ function multiObjectDelete(bucket, keys, size, callback) { next => createBucket(bucket, false, next), next => sendRequest(putQuotaVerb, '127.0.0.1:8000', `/${bucket}/?quota=true`, JSON.stringify(quota), config).then(() => next()).catch(err => next(err)), - next => putObject(bucket, key, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); - }), + next => { + putObject(bucket, key, size, err => { + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } + }); + }, next => deleteBucket(bucket, next), ], done); }); @@ -386,8 +434,12 @@ function multiObjectDelete(bucket, keys, size, callback) { }), next => wait(inflightFlushFrequencyMS * 2, next), next => copyObject(bucket, key, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => deleteVersionID(bucket, key, vID, size, next), next => deleteBucket(bucket, next), @@ -405,8 +457,12 @@ function multiObjectDelete(bucket, keys, size, callback) { next => putObject(bucket, key, size, next), next => wait(inflightFlushFrequencyMS * 2, next), next => copyObject(bucket, key, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => deleteObject(bucket, key, size, next), next => deleteBucket(bucket, next), @@ -425,8 +481,12 @@ function multiObjectDelete(bucket, keys, size, callback) { JSON.stringify(quota), config).then(() => next()).catch(err => next(err)), next => objectMPU(bucket, key, parts, partSize, (err, _uploadId) => { uploadId = _uploadId; - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => abortMPU(bucket, key, uploadId, 0, next), next => wait(inflightFlushFrequencyMS * 2, next), @@ -493,8 +553,12 @@ function multiObjectDelete(bucket, keys, size, callback) { next => uploadPartCopy(bucket, key, parts, partSize, inflightFlushFrequencyMS * 2, keyToCopy, (err, _uploadId) => { uploadId = _uploadId; - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => abortMPU(bucket, key, uploadId, parts * partSize, next), next => deleteObject(bucket, keyToCopy, partSize, next), @@ -522,8 +586,12 @@ function multiObjectDelete(bucket, keys, size, callback) { }, next), next => wait(inflightFlushFrequencyMS * 2, next), next => restoreObject(bucket, key, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => deleteVersionID(bucket, key, vID, size, next), next => deleteBucket(bucket, next), @@ -585,8 +653,12 @@ function multiObjectDelete(bucket, keys, size, callback) { }), next => wait(inflightFlushFrequencyMS * 2, next), next => putObject(bucket, `${key}3`, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => wait(inflightFlushFrequencyMS * 2, next), next => { @@ -637,8 +709,12 @@ function multiObjectDelete(bucket, keys, size, callback) { // Here we have 0 inflight but the stored bytes are 4000 (equal to the quota) // Should reject new write with QuotaExceeded (4000 + 400) next => putObject(bucket, `${key}3`, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => wait(inflightFlushFrequencyMS * 2, next), // Should still have 0 as inflight @@ -690,7 +766,6 @@ function multiObjectDelete(bucket, keys, size, callback) { next => deleteBucket(bucket, next), ], done); }); - it('should decrease the inflights when performing multi object delete', done => { const bucket = 'quota-test-bucket10'; const key = 'quota-test-object'; @@ -699,26 +774,32 @@ function multiObjectDelete(bucket, keys, size, callback) { next => createBucket(bucket, false, next), next => sendRequest(putQuotaVerb, '127.0.0.1:8000', `/${bucket}/?quota=true`, JSON.stringify(quota), config).then(() => next()).catch(err => next(err)), - next => putObject(bucket, `${key}1`, size, err => { - assert.ifError(err); - return next(); - } - ), - next => putObject(bucket, `${key}2`, size, err => { - assert.ifError(err); - return next(); - }), + next => { + putObject(bucket, `${key}1`, size, err => { + assert.ifError(err); + return next(); + }); + }, + next => { + putObject(bucket, `${key}2`, size, err => { + assert.ifError(err); + return next(); + }); + }, next => wait(inflightFlushFrequencyMS * 2, next), - next => multiObjectDelete(bucket, [`${key}1`, `${key}2`], size * 2, err => { - assert.ifError(err); - return next(); - }), + next => + multiObjectDelete(bucket, [`${key}1`, `${key}2`], size * 2, err => { + assert.ifError(err); + return next(); + }), next => wait(inflightFlushFrequencyMS * 2, next), next => { assert.strictEqual(scuba.getInflightsForBucket(bucket), 0); return next(); }, - next => deleteBucket(bucket, next), + next => { + deleteBucket(bucket, next); + }, ], done); }); @@ -747,8 +828,12 @@ function multiObjectDelete(bucket, keys, size, callback) { return next(); }, next => putObject(bucket, `${key}3`, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => wait(inflightFlushFrequencyMS * 2, next), next => { @@ -790,8 +875,12 @@ function multiObjectDelete(bucket, keys, size, callback) { return next(); }, next => deleteVersionID(bucket, key, vID, size, err => { - assert.strictEqual(err.code, 'AccessDenied'); - next(); + try { + assert.strictEqual(err.name, 'AccessDenied'); + next(); + } catch (assertError) { + next(assertError); + } }), next => wait(inflightFlushFrequencyMS * 2, next), next => { @@ -867,13 +956,12 @@ function multiObjectDelete(bucket, keys, size, callback) { }, next), // Put an object, the quota should be exceeded next => putObject(bucket, `${key}-2`, size, err => { - assert.strictEqual(err.code, 'QuotaExceeded'); - return next(); - }), - // Simulate the real restore - next => putObjectWithCustomHeader(bucket, key, size, vID, err => { - assert.ifError(err); - return next(); + try { + assert.strictEqual(err.name, 'QuotaExceeded'); + return next(); + } catch (assertError) { + return next(assertError); + } }), next => { assert.strictEqual(scuba.getInflightsForBucket(bucket), size); @@ -903,16 +991,15 @@ function multiObjectDelete(bucket, keys, size, callback) { next => sendRequest(putQuotaVerb, '127.0.0.1:8000', `/${bucket}/?quota=true`, JSON.stringify({ quota: totalSize * 2 }), config) .then(() => next()).catch(err => next(err)), - next => s3Client.createMultipartUpload({ + next => s3Client.send(new CreateMultipartUploadCommand({ Bucket: bucket, Key: key, - }, (err, data) => { - if (err) { - return next(err); - } - uploadId = data.UploadId; - return next(); - }), + })) + .then(data => { + uploadId = data.UploadId; + return next(); + }) + .catch(err => next(err)), next => async.timesSeries(parts, (n, cb) => { const uploadPartParams = { Bucket: bucket, @@ -921,13 +1008,12 @@ function multiObjectDelete(bucket, keys, size, callback) { UploadId: uploadId, Body: Buffer.alloc(partSize), }; - return s3Client.uploadPart(uploadPartParams, (err, data) => { - if (err) { - return cb(err); - } - ETags[n] = data.ETag; - return cb(); - }); + return s3Client.send(new UploadPartCommand(uploadPartParams)) + .then(data => { + ETags[n] = data.ETag; + return cb(); + }) + .catch(cb); }, next), next => wait(inflightFlushFrequencyMS * 2, next), next => { @@ -948,7 +1034,9 @@ function multiObjectDelete(bucket, keys, size, callback) { }, UploadId: uploadId, }; - return s3Client.completeMultipartUpload(params, next); + return s3Client.send(new CompleteMultipartUploadCommand(params)) + .then(() => next()) + .catch(err => next(err)); }, next => wait(inflightFlushFrequencyMS * 2, () => next()), next => { @@ -979,16 +1067,15 @@ function multiObjectDelete(bucket, keys, size, callback) { next => sendRequest(putQuotaVerb, '127.0.0.1:8000', `/${bucket}/?quota=true`, JSON.stringify({ quota: totalSize * 2 }), config) .then(() => next()).catch(err => next(err)), - next => s3Client.createMultipartUpload({ + next => s3Client.send(new CreateMultipartUploadCommand({ Bucket: bucket, Key: key, - }, (err, data) => { - if (err) { - return next(err); - } - uploadId = data.UploadId; - return next(); - }), + })) + .then(data => { + uploadId = data.UploadId; + return next(); + }) + .catch(err => next(err)), next => async.timesSeries(parts, (n, cb) => { const uploadPartParams = { Bucket: bucket, @@ -997,7 +1084,9 @@ function multiObjectDelete(bucket, keys, size, callback) { UploadId: uploadId, Body: Buffer.alloc(partSize), }; - return s3Client.uploadPart(uploadPartParams, cb); + return s3Client.send(new UploadPartCommand(uploadPartParams)) + .then(data => cb(null, data)) + .catch(cb); }, next), next => wait(inflightFlushFrequencyMS * 2, next), next => { diff --git a/tests/sur/routeVeeam.js b/tests/sur/routeVeeam.js index 340d2923d1..0a9bf51554 100644 --- a/tests/sur/routeVeeam.js +++ b/tests/sur/routeVeeam.js @@ -2,6 +2,10 @@ const assert = require('assert'); const crypto = require('crypto'); const async = require('async'); const { Scuba: MockScuba } = require('../utilities/mock/Scuba'); +const { + CreateBucketCommand, + DeleteBucketCommand, +} = require('@aws-sdk/client-s3'); const { makeRequest } = require('../functional/raw-node/utils/makeRequest'); const BucketUtility = @@ -166,7 +170,7 @@ function makeVeeamRequest(params, callback) { bucketUtil = new BucketUtility( 'default', { signatureVersion: 'v4' }); s3 = bucketUtil.s3; - s3.createBucket({ Bucket: TEST_BUCKET }).promise() + s3.send(new CreateBucketCommand({ Bucket: TEST_BUCKET })) .then(() => done()) .catch(err => { process.stdout.write(`Error creating bucket: ${err}\n`); @@ -175,7 +179,7 @@ function makeVeeamRequest(params, callback) { }); after(done => { bucketUtil.empty(TEST_BUCKET) - .then(() => s3.deleteBucket({ Bucket: TEST_BUCKET }).promise()) + .then(() => s3.send(new DeleteBucketCommand({ Bucket: TEST_BUCKET }))) .then(() => done()) .catch(done); }); @@ -254,7 +258,7 @@ function makeVeeamRequest(params, callback) { bucketUtil = new BucketUtility( 'default', { signatureVersion: 'v4' }); s3 = bucketUtil.s3; - s3.createBucket({ Bucket: TEST_BUCKET }).promise() + s3.send(new CreateBucketCommand({ Bucket: TEST_BUCKET })) .then(() => done()) .catch(err => { process.stdout.write(`Error creating bucket: ${err}\n`); @@ -263,7 +267,7 @@ function makeVeeamRequest(params, callback) { }); afterEach(done => { bucketUtil.empty(TEST_BUCKET) - .then(() => s3.deleteBucket({ Bucket: TEST_BUCKET }).promise()) + .then(() => s3.send(new DeleteBucketCommand({ Bucket: TEST_BUCKET }))) .then(() => done()) .catch(done); }); @@ -495,7 +499,7 @@ function makeVeeamRequest(params, callback) { bucketUtil = new BucketUtility( 'default', { signatureVersion: 'v4' }); s3 = bucketUtil.s3; - s3.createBucket({ Bucket: TEST_BUCKET }).promise() + s3.send(new CreateBucketCommand({ Bucket: TEST_BUCKET })) .then(() => done()) .catch(err => { process.stdout.write(`Error creating bucket: ${err}\n`); @@ -504,7 +508,7 @@ function makeVeeamRequest(params, callback) { }); afterEach(done => { bucketUtil.empty(TEST_BUCKET) - .then(() => s3.deleteBucket({ Bucket: TEST_BUCKET }).promise()) + .then(() => s3.send(new DeleteBucketCommand({ Bucket: TEST_BUCKET }))) .then(() => done()) .catch(done); }); @@ -607,7 +611,7 @@ function makeVeeamRequest(params, callback) { bucketUtil = new BucketUtility( 'default', { signatureVersion: 'v4' }); s3 = bucketUtil.s3; - s3.createBucket({ Bucket: TEST_BUCKET }).promise() + s3.send(new CreateBucketCommand({ Bucket: TEST_BUCKET })) .then(() => done()) .catch(err => { process.stdout.write(`Error creating bucket: ${err}\n`); @@ -616,7 +620,7 @@ function makeVeeamRequest(params, callback) { }); afterEach(done => { bucketUtil.empty(TEST_BUCKET) - .then(() => s3.deleteBucket({ Bucket: TEST_BUCKET }).promise()) + .then(() => s3.send(new DeleteBucketCommand({ Bucket: TEST_BUCKET }))) .then(() => done()) .catch(done); }); @@ -694,7 +698,7 @@ describe.skip('veeam LIST routes:', () => { bucketUtil = new BucketUtility( 'default', { signatureVersion: 'v4' }); s3 = bucketUtil.s3; - s3.createBucket({ Bucket: TEST_BUCKET }).promise() + s3.send(new CreateBucketCommand({ Bucket: TEST_BUCKET })) .then(() => done()) .catch(err => { process.stdout.write(`Error creating bucket: ${err}\n`); @@ -703,7 +707,7 @@ describe.skip('veeam LIST routes:', () => { }); afterEach(done => { bucketUtil.empty(TEST_BUCKET) - .then(() => s3.deleteBucket({ Bucket: TEST_BUCKET }).promise()) + .then(() => s3.send(new DeleteBucketCommand({ Bucket: TEST_BUCKET }))) .then(() => done()) .catch(done); }); diff --git a/tests/utapi/awsNodeSdk.js b/tests/utapi/awsNodeSdk.js index debaa17a78..c0d1030755 100644 --- a/tests/utapi/awsNodeSdk.js +++ b/tests/utapi/awsNodeSdk.js @@ -1,6 +1,20 @@ const async = require('async'); const assert = require('assert'); -const { S3 } = require('aws-sdk'); +const { + S3Client, + CreateBucketCommand, + DeleteBucketCommand, + PutObjectCommand, + DeleteObjectCommand, + DeleteObjectsCommand, + CopyObjectCommand, + PutBucketVersioningCommand, + CreateMultipartUploadCommand, + UploadPartCommand, + CompleteMultipartUploadCommand, + ListObjectVersionsCommand, + GetObjectCommand, +} = require('@aws-sdk/client-s3'); const MockUtapi = require('../utilities/mock/Utapi'); const getConfig = require('../functional/aws-node-sdk/test/support/config'); @@ -10,150 +24,132 @@ let s3Client = null; function wait(timeoutMs, cb) { setTimeout(cb, timeoutMs); } + function createBucket(bucket, cb) { - return s3Client.createBucket({ - Bucket: bucket, - }, (err, data) => { - assert.ifError(err); - return cb(err, data); - }); + s3Client.send(new CreateBucketCommand({ Bucket: bucket })) + .then(data => cb(null, data)) + .catch(cb); } + function deleteBucket(bucket, cb) { - return s3Client.deleteBucket({ - Bucket: bucket, - }, err => { - assert.ifError(err); - return cb(err); - }); + s3Client.send(new DeleteBucketCommand({ Bucket: bucket })) + .then(() => cb(null)) + .catch(cb); } + function putObject(bucket, key, size, cb) { - return s3Client.putObject({ + const body = Buffer.alloc(size); + const params = { Bucket: bucket, Key: key, - Body: Buffer.alloc(size), - }, (err, data) => { - assert.ifError(err); - return cb(err, data); - }); + Body: body, + }; + s3Client.send(new PutObjectCommand(params)) + .then(data => cb(null, data)) + .catch(cb); } + function deleteObject(bucket, key, cb) { - return s3Client.deleteObject({ - Bucket: bucket, - Key: key, - }, err => { - assert.ifError(err); - return cb(err); - }); + s3Client.send(new DeleteObjectCommand({ Bucket: bucket, Key: key })) + .then(() => cb(null)) + .catch(cb); } + function deleteObjects(bucket, keys, cb) { - const objects = keys.map(key => { - const keyObj = { - Key: key, - }; - return keyObj; - }); + const objects = keys.map(key => ({ Key: key })); + const deleteRequest = { Objects: objects, Quiet: true }; const params = { Bucket: bucket, - Delete: { - Objects: objects, - Quiet: true, - }, + Delete: deleteRequest, }; - return s3Client.deleteObjects(params, err => { - assert.ifError(err); - return cb(err); - }); + s3Client.send(new DeleteObjectsCommand(params)) + .then(() => cb(null)) + .catch(cb); } + function copyObject(bucket, key, cb) { - return s3Client.copyObject({ - Bucket: bucket, - CopySource: `/${bucket}/${key}`, - Key: `${key}-copy`, - }, err => { - assert.ifError(err); - return cb(err); - }); + const params = { Bucket: bucket, CopySource: `${bucket}/${key}`, Key: `${key}-copy` }; + s3Client.send(new CopyObjectCommand(params)) + .then(() => cb(null)) + .catch(cb); } + function enableVersioning(bucket, enable, cb) { - const versioningStatus = { - Status: enable ? 'Enabled' : 'Disabled', - }; - return s3Client.putBucketVersioning({ - Bucket: bucket, - VersioningConfiguration: versioningStatus, - }, err => { - assert.ifError(err); - return cb(err); - }); + const versioningStatus = { Status: enable ? 'Enabled' : 'Disabled' }; + const params = { Bucket: bucket, VersioningConfiguration: versioningStatus }; + s3Client.send(new PutBucketVersioningCommand(params)) + .then(() => cb(null)) + .catch(cb); } -function deleteVersionList(versionList, bucket, callback) { + +async function deleteVersionList(versionList, bucket) { if (versionList === undefined || versionList.length === 0) { - return callback(); + return; } - const params = { Bucket: bucket, Delete: { Objects: [] } }; + const deleteRequest = { Objects: [] }; versionList.forEach(version => { - params.Delete.Objects.push({ - Key: version.Key, VersionId: version.VersionId, - }); + deleteRequest.Objects.push({ Key: version.Key, VersionId: version.VersionId }); }); - - return s3Client.deleteObjects(params, callback); + const params = { + Bucket: bucket, + Delete: deleteRequest, + }; + await s3Client.send(new DeleteObjectsCommand(params)); } -function removeAllVersions(params, callback) { - const bucket = params.Bucket; - async.waterfall([ - cb => s3Client.listObjectVersions(params, cb), - (data, cb) => deleteVersionList(data.DeleteMarkers, bucket, - err => cb(err, data)), - (data, cb) => deleteVersionList(data.Versions, bucket, - err => cb(err, data)), - (data, cb) => { - if (data.IsTruncated) { - const params = { - Bucket: bucket, - KeyMarker: data.NextKeyMarker, - VersionIdMarker: data.NextVersionIdMarker, - }; - return removeAllVersions(params, cb); - } - return cb(); - }, - ], callback); + +async function removeAllVersions(params, callback) { + try { + const bucket = params.Bucket; + const data = await s3Client.send(new ListObjectVersionsCommand(params)); + + if (data.DeleteMarkers && data.DeleteMarkers.length > 0) { + await deleteVersionList(data.DeleteMarkers, bucket); + } + + if (data.Versions && data.Versions.length > 0) { + await deleteVersionList(data.Versions, bucket); + } + + if (data.IsTruncated) { + const nextParams = { + Bucket: bucket, + KeyMarker: data.NextKeyMarker, + VersionIdMarker: data.NextVersionIdMarker + }; + await removeAllVersions(nextParams); + } + + callback(); + } catch (error) { + callback(error); + } } + function objectMPU(bucket, key, parts, partSize, callback) { let ETags = []; let uploadId = null; const partNumbers = Array.from(Array(parts).keys()); - const initiateMPUParams = { - Bucket: bucket, - Key: key, - }; - return async.waterfall([ - next => s3Client.createMultipartUpload(initiateMPUParams, - (err, data) => { - if (err) { - return next(err); - } + const initiateMPUParams = { Bucket: bucket, Key: key }; + async.waterfall([ + next => s3Client.send(new CreateMultipartUploadCommand(initiateMPUParams)) + .then(data => { uploadId = data.UploadId; return next(); - }), + }) + .catch(next), next => async.mapLimit(partNumbers, 1, (partNumber, callback) => { + const body = Buffer.alloc(partSize); const uploadPartParams = { Bucket: bucket, Key: key, PartNumber: partNumber + 1, UploadId: uploadId, - Body: Buffer.alloc(partSize), + Body: body, }; - - return s3Client.uploadPart(uploadPartParams, - (err, data) => { - if (err) { - return callback(err); - } - return callback(null, data.ETag); - }); + s3Client.send(new UploadPartCommand(uploadPartParams)) + .then(data => callback(null, data.ETag)) + .catch(callback); }, (err, results) => { if (err) { return next(err); @@ -162,33 +158,28 @@ function objectMPU(bucket, key, parts, partSize, callback) { return next(); }), next => { + const completeRequest = { Parts: partNumbers.map(n => ({ ETag: ETags[n], PartNumber: n + 1 })) }; const params = { Bucket: bucket, Key: key, - MultipartUpload: { - Parts: partNumbers.map(n => ({ - ETag: ETags[n], - PartNumber: n + 1, - })), - }, + MultipartUpload: completeRequest, UploadId: uploadId, }; - return s3Client.completeMultipartUpload(params, next); + s3Client.send(new CompleteMultipartUploadCommand(params)) + .then(data => next(null, data)) + .catch(next); }, ], callback); } + function removeVersions(buckets, cb) { - return async.each(buckets, - (bucket, done) => removeAllVersions({ Bucket: bucket }, done), cb); + async.each(buckets, (bucket, done) => removeAllVersions({ Bucket: bucket }, done), cb); } + function getObject(bucket, key, cb) { - return s3Client.getObject({ - Bucket: bucket, - Key: key, - }, (err, data) => { - assert.ifError(err); - return cb(err, data); - }); + s3Client.send(new GetObjectCommand({ Bucket: bucket, Key: key })) + .then(data => cb(null, data)) + .catch(cb); } describe('utapi v2 metrics incoming and outgoing bytes', function t() { @@ -204,8 +195,7 @@ describe('utapi v2 metrics incoming and outgoing bytes', function t() { } before(() => { - const config = getConfig('default', { signatureVersion: 'v4' }); - s3Client = new S3(config); + s3Client = new S3Client(getConfig('default')); utapi.start(); }); afterEach(() => { diff --git a/yarn.lock b/yarn.lock index 9edededc50..06ce48270f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,7 +10,37 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@aws-crypto/sha256-browser@^5.2.0": +"@aws-crypto/crc32@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1" + integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg== + dependencies: + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" + +"@aws-crypto/crc32c@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz#4e34aab7f419307821509a98b9b08e84e0c1917e" + integrity sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag== + dependencies: + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" + +"@aws-crypto/sha1-browser@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz#b0ee2d2821d3861f017e965ef3b4cb38e3b6a0f4" + integrity sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg== + dependencies: + "@aws-crypto/supports-web-crypto" "^5.2.0" + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" + +"@aws-crypto/sha256-browser@5.2.0", "@aws-crypto/sha256-browser@^5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e" integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw== @@ -23,7 +53,7 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-crypto/sha256-js@^5.2.0": +"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042" integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA== @@ -49,7 +79,7 @@ dependencies: tslib "^2.6.2" -"@aws-crypto/util@^5.2.0": +"@aws-crypto/util@5.2.0", "@aws-crypto/util@^5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da" integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ== @@ -58,6 +88,483 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" +"@aws-sdk/client-cognito-identity@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.895.0.tgz#7d0a49eb8587ba8629a9c27dcb7dc931a9618636" + integrity sha512-IwU2LiIqDSq4wj8WtDkWAkKbjnV24EOufqXzcLQfr/QJKd0qkGKeVImOVPXPT8wtksEpB0ViVOpIEyML3BqvAg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.894.0" + "@aws-sdk/credential-provider-node" "3.895.0" + "@aws-sdk/middleware-host-header" "3.893.0" + "@aws-sdk/middleware-logger" "3.893.0" + "@aws-sdk/middleware-recursion-detection" "3.893.0" + "@aws-sdk/middleware-user-agent" "3.895.0" + "@aws-sdk/region-config-resolver" "3.893.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@aws-sdk/util-user-agent-browser" "3.893.0" + "@aws-sdk/util-user-agent-node" "3.895.0" + "@smithy/config-resolver" "^4.2.2" + "@smithy/core" "^3.11.1" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/hash-node" "^4.1.1" + "@smithy/invalid-dependency" "^4.1.1" + "@smithy/middleware-content-length" "^4.1.1" + "@smithy/middleware-endpoint" "^4.2.3" + "@smithy/middleware-retry" "^4.2.4" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.3" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-body-length-node" "^4.1.0" + "@smithy/util-defaults-mode-browser" "^4.1.3" + "@smithy/util-defaults-mode-node" "^4.1.3" + "@smithy/util-endpoints" "^3.1.2" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/client-s3@^3.908.0": + version "3.917.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.917.0.tgz#835ead98d5a6ddad5662d0f133d377febf43de1e" + integrity sha512-3L73mDCpH7G0koFv3p3WkkEKqC5wn2EznKtNMrJ6hczPIr2Cu6DJz8VHeTZp9wFZLPrIBmh3ZW1KiLujT5Fd2w== + dependencies: + "@aws-crypto/sha1-browser" "5.2.0" + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.916.0" + "@aws-sdk/credential-provider-node" "3.917.0" + "@aws-sdk/middleware-bucket-endpoint" "3.914.0" + "@aws-sdk/middleware-expect-continue" "3.917.0" + "@aws-sdk/middleware-flexible-checksums" "3.916.0" + "@aws-sdk/middleware-host-header" "3.914.0" + "@aws-sdk/middleware-location-constraint" "3.914.0" + "@aws-sdk/middleware-logger" "3.914.0" + "@aws-sdk/middleware-recursion-detection" "3.914.0" + "@aws-sdk/middleware-sdk-s3" "3.916.0" + "@aws-sdk/middleware-ssec" "3.914.0" + "@aws-sdk/middleware-user-agent" "3.916.0" + "@aws-sdk/region-config-resolver" "3.914.0" + "@aws-sdk/signature-v4-multi-region" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@aws-sdk/util-endpoints" "3.916.0" + "@aws-sdk/util-user-agent-browser" "3.914.0" + "@aws-sdk/util-user-agent-node" "3.916.0" + "@aws-sdk/xml-builder" "3.914.0" + "@smithy/config-resolver" "^4.4.0" + "@smithy/core" "^3.17.1" + "@smithy/eventstream-serde-browser" "^4.2.3" + "@smithy/eventstream-serde-config-resolver" "^4.3.3" + "@smithy/eventstream-serde-node" "^4.2.3" + "@smithy/fetch-http-handler" "^5.3.4" + "@smithy/hash-blob-browser" "^4.2.4" + "@smithy/hash-node" "^4.2.3" + "@smithy/hash-stream-node" "^4.2.3" + "@smithy/invalid-dependency" "^4.2.3" + "@smithy/md5-js" "^4.2.3" + "@smithy/middleware-content-length" "^4.2.3" + "@smithy/middleware-endpoint" "^4.3.5" + "@smithy/middleware-retry" "^4.4.5" + "@smithy/middleware-serde" "^4.2.3" + "@smithy/middleware-stack" "^4.2.3" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/node-http-handler" "^4.4.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + "@smithy/url-parser" "^4.2.3" + "@smithy/util-base64" "^4.3.0" + "@smithy/util-body-length-browser" "^4.2.0" + "@smithy/util-body-length-node" "^4.2.1" + "@smithy/util-defaults-mode-browser" "^4.3.4" + "@smithy/util-defaults-mode-node" "^4.2.6" + "@smithy/util-endpoints" "^3.2.3" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-retry" "^4.2.3" + "@smithy/util-stream" "^4.5.4" + "@smithy/util-utf8" "^4.2.0" + "@smithy/util-waiter" "^4.2.3" + "@smithy/uuid" "^1.1.0" + tslib "^2.6.2" + +"@aws-sdk/client-sso@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.895.0.tgz#a371d996f301b50c789b6a75167951263e402541" + integrity sha512-AQHk6iJrwce/NwZa5/Njy0ZGoHdxWCajkgufhXk53L0kRiC3vUPPWEV1m1F3etQWhaUsatcO2xtRuKvLpe4zgA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.894.0" + "@aws-sdk/middleware-host-header" "3.893.0" + "@aws-sdk/middleware-logger" "3.893.0" + "@aws-sdk/middleware-recursion-detection" "3.893.0" + "@aws-sdk/middleware-user-agent" "3.895.0" + "@aws-sdk/region-config-resolver" "3.893.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@aws-sdk/util-user-agent-browser" "3.893.0" + "@aws-sdk/util-user-agent-node" "3.895.0" + "@smithy/config-resolver" "^4.2.2" + "@smithy/core" "^3.11.1" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/hash-node" "^4.1.1" + "@smithy/invalid-dependency" "^4.1.1" + "@smithy/middleware-content-length" "^4.1.1" + "@smithy/middleware-endpoint" "^4.2.3" + "@smithy/middleware-retry" "^4.2.4" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.3" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-body-length-node" "^4.1.0" + "@smithy/util-defaults-mode-browser" "^4.1.3" + "@smithy/util-defaults-mode-node" "^4.1.3" + "@smithy/util-endpoints" "^3.1.2" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/client-sso@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.916.0.tgz#627792ab588a004fc0874a060b3466e21328b5b6" + integrity sha512-Eu4PtEUL1MyRvboQnoq5YKg0Z9vAni3ccebykJy615xokVZUdA3di2YxHM/hykDQX7lcUC62q9fVIvh0+UNk/w== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.916.0" + "@aws-sdk/middleware-host-header" "3.914.0" + "@aws-sdk/middleware-logger" "3.914.0" + "@aws-sdk/middleware-recursion-detection" "3.914.0" + "@aws-sdk/middleware-user-agent" "3.916.0" + "@aws-sdk/region-config-resolver" "3.914.0" + "@aws-sdk/types" "3.914.0" + "@aws-sdk/util-endpoints" "3.916.0" + "@aws-sdk/util-user-agent-browser" "3.914.0" + "@aws-sdk/util-user-agent-node" "3.916.0" + "@smithy/config-resolver" "^4.4.0" + "@smithy/core" "^3.17.1" + "@smithy/fetch-http-handler" "^5.3.4" + "@smithy/hash-node" "^4.2.3" + "@smithy/invalid-dependency" "^4.2.3" + "@smithy/middleware-content-length" "^4.2.3" + "@smithy/middleware-endpoint" "^4.3.5" + "@smithy/middleware-retry" "^4.4.5" + "@smithy/middleware-serde" "^4.2.3" + "@smithy/middleware-stack" "^4.2.3" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/node-http-handler" "^4.4.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + "@smithy/url-parser" "^4.2.3" + "@smithy/util-base64" "^4.3.0" + "@smithy/util-body-length-browser" "^4.2.0" + "@smithy/util-body-length-node" "^4.2.1" + "@smithy/util-defaults-mode-browser" "^4.3.4" + "@smithy/util-defaults-mode-node" "^4.2.6" + "@smithy/util-endpoints" "^3.2.3" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-retry" "^4.2.3" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@aws-sdk/core@3.894.0": + version "3.894.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.894.0.tgz#e926a2ce0d925d03353bd0b643852960ecb1a6ff" + integrity sha512-7zbO31NV2FaocmMtWOg/fuTk3PC2Ji2AC0Fi2KqrppEDIcwLlTTuT9w/rdu/93Pz+wyUhCxWnDc0tPbwtCLs+A== + dependencies: + "@aws-sdk/types" "3.893.0" + "@aws-sdk/xml-builder" "3.894.0" + "@smithy/core" "^3.11.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/signature-v4" "^5.2.1" + "@smithy/smithy-client" "^4.6.3" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/core@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.916.0.tgz#ea11b485f837f1773e174f8a4ed82ecce9f163f7" + integrity sha512-1JHE5s6MD5PKGovmx/F1e01hUbds/1y3X8rD+Gvi/gWVfdg5noO7ZCerpRsWgfzgvCMZC9VicopBqNHCKLykZA== + dependencies: + "@aws-sdk/types" "3.914.0" + "@aws-sdk/xml-builder" "3.914.0" + "@smithy/core" "^3.17.1" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/property-provider" "^4.2.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/signature-v4" "^5.3.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + "@smithy/util-base64" "^4.3.0" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-cognito-identity@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.895.0.tgz#2266eea0e82576604e88ce5db281a98eaaabd69f" + integrity sha512-MxKRfRBM+5yRoAWmF9icfP4NrRYyD5BaQRl+uR5EhT8mxuImMj0tyY9g/fUwKjxNPJ2LKFtrgadZSXUOB+OkNg== + dependencies: + "@aws-sdk/client-cognito-identity" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-env@3.894.0": + version "3.894.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.894.0.tgz#2f3a9a9efb9c9405c6a3e5acaf51afdc13d0fde9" + integrity sha512-2aiQJIRWOuROPPISKgzQnH/HqSfucdk5z5VMemVH3Mm2EYOrzBwmmiiFpmSMN3ST+sE8c7gusqycUchP+KfALQ== + dependencies: + "@aws-sdk/core" "3.894.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-env@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.916.0.tgz#c76861ec87f9edf227af62474411bf54ca04805d" + integrity sha512-3gDeqOXcBRXGHScc6xb7358Lyf64NRG2P08g6Bu5mv1Vbg9PKDyCAZvhKLkG7hkdfAM8Yc6UJNhbFxr1ud/tCQ== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/property-provider" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-http@3.894.0": + version "3.894.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.894.0.tgz#7f1126d7e6d5f48f12d2ca67b7de07759631549b" + integrity sha512-Z5QQpqFRflszrT+lUq6+ORuu4jRDcpgCUSoTtlhczidMqfdOSckKmK3chZEfmUUJPSwoFQZ7EiVTsX3c886fBg== + dependencies: + "@aws-sdk/core" "3.894.0" + "@aws-sdk/types" "3.893.0" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/property-provider" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.3" + "@smithy/types" "^4.5.0" + "@smithy/util-stream" "^4.3.2" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-http@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.916.0.tgz#b46e51c5cc65364c5fde752b4d016b5b747c6d89" + integrity sha512-NmooA5Z4/kPFJdsyoJgDxuqXC1C6oPMmreJjbOPqcwo6E/h2jxaG8utlQFgXe5F9FeJsMx668dtxVxSYnAAqHQ== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/fetch-http-handler" "^5.3.4" + "@smithy/node-http-handler" "^4.4.3" + "@smithy/property-provider" "^4.2.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + "@smithy/util-stream" "^4.5.4" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-ini@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.895.0.tgz#27f0265c1e2b2aeae10b020de048a065ac9840e1" + integrity sha512-uIh7N4IN/yIk+qYMAkVpVkjhB90SGKSfaXEVcnmxzBDG6e5304HKT0esqoCVZvtFfLKasjm2TOpalM5l3fi/dA== + dependencies: + "@aws-sdk/core" "3.894.0" + "@aws-sdk/credential-provider-env" "3.894.0" + "@aws-sdk/credential-provider-http" "3.894.0" + "@aws-sdk/credential-provider-process" "3.894.0" + "@aws-sdk/credential-provider-sso" "3.895.0" + "@aws-sdk/credential-provider-web-identity" "3.895.0" + "@aws-sdk/nested-clients" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/credential-provider-imds" "^4.1.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-ini@3.917.0": + version "3.917.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.917.0.tgz#d9255ffeaab2326e94e84a830668aa4182317294" + integrity sha512-rvQ0QamLySRq+Okc0ZqFHZ3Fbvj3tYuWNIlzyEKklNmw5X5PM1idYKlOJflY2dvUGkIqY3lUC9SC2WL+1s7KIw== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/credential-provider-env" "3.916.0" + "@aws-sdk/credential-provider-http" "3.916.0" + "@aws-sdk/credential-provider-process" "3.916.0" + "@aws-sdk/credential-provider-sso" "3.916.0" + "@aws-sdk/credential-provider-web-identity" "3.917.0" + "@aws-sdk/nested-clients" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/credential-provider-imds" "^4.2.3" + "@smithy/property-provider" "^4.2.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-node@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.895.0.tgz#76dca377418447714544eeceb7423a693ce6c14a" + integrity sha512-7xsBCmkBUz+2sNqNsDJ1uyQsBvwhNFzwFt8wX39WrFJTpTQh3uNQ5g8QH21BbkKqIFKCLdvgHgwt3Ub5RGVuPA== + dependencies: + "@aws-sdk/credential-provider-env" "3.894.0" + "@aws-sdk/credential-provider-http" "3.894.0" + "@aws-sdk/credential-provider-ini" "3.895.0" + "@aws-sdk/credential-provider-process" "3.894.0" + "@aws-sdk/credential-provider-sso" "3.895.0" + "@aws-sdk/credential-provider-web-identity" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/credential-provider-imds" "^4.1.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-node@3.917.0": + version "3.917.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.917.0.tgz#a508038c12dc5ba177cc27ff0c26ea48d3702125" + integrity sha512-n7HUJ+TgU9wV/Z46yR1rqD9hUjfG50AKi+b5UXTlaDlVD8bckg40i77ROCllp53h32xQj/7H0yBIYyphwzLtmg== + dependencies: + "@aws-sdk/credential-provider-env" "3.916.0" + "@aws-sdk/credential-provider-http" "3.916.0" + "@aws-sdk/credential-provider-ini" "3.917.0" + "@aws-sdk/credential-provider-process" "3.916.0" + "@aws-sdk/credential-provider-sso" "3.916.0" + "@aws-sdk/credential-provider-web-identity" "3.917.0" + "@aws-sdk/types" "3.914.0" + "@smithy/credential-provider-imds" "^4.2.3" + "@smithy/property-provider" "^4.2.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-process@3.894.0": + version "3.894.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.894.0.tgz#bf779c4d3e6e21e6fb0b6ebbb79a135b4b9341bb" + integrity sha512-VU74GNsj+SsO+pl4d+JimlQ7+AcderZaC6bFndQssQdFZ5NRad8yFNz5Xbec8CPJr+z/VAwHib6431F5nYF46g== + dependencies: + "@aws-sdk/core" "3.894.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-process@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.916.0.tgz#7c5aa9642a0e1c2a2791d85fe1bedfecae73672e" + integrity sha512-SXDyDvpJ1+WbotZDLJW1lqP6gYGaXfZJrgFSXIuZjHb75fKeNRgPkQX/wZDdUvCwdrscvxmtyJorp2sVYkMcvA== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/property-provider" "^4.2.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-sso@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.895.0.tgz#e24ecfe1a9194ff87a51c89bbe00df1cd339bcf7" + integrity sha512-bZCcHUZGz+XlCaK0KEOHGHkMtlwIvnpxJvlZtSCVaBdX/IgouxaB42fxChflxSMRWF45ygdezfky4i17f6vC4w== + dependencies: + "@aws-sdk/client-sso" "3.895.0" + "@aws-sdk/core" "3.894.0" + "@aws-sdk/token-providers" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-sso@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.916.0.tgz#b99ff591e758a56eefe7b05f1e77efe8f28f8c16" + integrity sha512-gu9D+c+U/Dp1AKBcVxYHNNoZF9uD4wjAKYCjgSN37j4tDsazwMEylbbZLuRNuxfbXtizbo4/TiaxBXDbWM7AkQ== + dependencies: + "@aws-sdk/client-sso" "3.916.0" + "@aws-sdk/core" "3.916.0" + "@aws-sdk/token-providers" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/property-provider" "^4.2.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-web-identity@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.895.0.tgz#ae98946cd639258b912eea90a6c82e8dc89a88b8" + integrity sha512-tKbXbOp2xrL02fxKvB7ko1E4Uvyy5TF9qi5pT2MVWNnfSsBlUM80aJ6tyUPKWXdUTdAlPrU3XcwgQl/DnnRa9A== + dependencies: + "@aws-sdk/core" "3.894.0" + "@aws-sdk/nested-clients" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-web-identity@3.917.0": + version "3.917.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.917.0.tgz#4a9bdc3dae13f5802aaa2d6e51249dfed029d9d6" + integrity sha512-pZncQhFbwW04pB0jcD5OFv3x2gAddDYCVxyJVixgyhSw7bKCYxqu6ramfq1NxyVpmm+qsw+ijwi/3cCmhUHF/A== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/nested-clients" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/property-provider" "^4.2.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/credential-providers@^3.864.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.895.0.tgz#fa7b3e3ce1bb76b8b2fd058380a5ad91effe29d4" + integrity sha512-YAOjBCHKOqWIn1nFOMd1q3Za0h3wzTmcEpZdplhOq7EDlWEOTPGu+NuX2sdZx6fsMWCMzogFJdvV/p8lUXtHcg== + dependencies: + "@aws-sdk/client-cognito-identity" "3.895.0" + "@aws-sdk/core" "3.894.0" + "@aws-sdk/credential-provider-cognito-identity" "3.895.0" + "@aws-sdk/credential-provider-env" "3.894.0" + "@aws-sdk/credential-provider-http" "3.894.0" + "@aws-sdk/credential-provider-ini" "3.895.0" + "@aws-sdk/credential-provider-node" "3.895.0" + "@aws-sdk/credential-provider-process" "3.894.0" + "@aws-sdk/credential-provider-sso" "3.895.0" + "@aws-sdk/credential-provider-web-identity" "3.895.0" + "@aws-sdk/nested-clients" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/config-resolver" "^4.2.2" + "@smithy/core" "^3.11.1" + "@smithy/credential-provider-imds" "^4.1.2" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + "@aws-sdk/hash-node@^3.110.0": version "3.374.0" resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.374.0.tgz#fad2ddb51ae7091b91ed1308836fe3385d128f9e" @@ -66,6 +573,336 @@ "@smithy/hash-node" "^1.0.1" tslib "^2.5.0" +"@aws-sdk/middleware-bucket-endpoint@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.914.0.tgz#4500425660d45af30e1bb66d8ce9362e040b9c7d" + integrity sha512-mHLsVnPPp4iq3gL2oEBamfpeETFV0qzxRHmcnCfEP3hualV8YF8jbXGmwPCPopUPQDpbYDBHYtXaoClZikCWPQ== + dependencies: + "@aws-sdk/types" "3.914.0" + "@aws-sdk/util-arn-parser" "3.893.0" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + "@smithy/util-config-provider" "^4.2.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-expect-continue@3.917.0": + version "3.917.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.917.0.tgz#f0e0cacad99d048c46cdce8f9dbe47351e59a0f5" + integrity sha512-UPBq1ZP2CaxwbncWSbVqkhYXQrmfNiqAtHyBxi413hjRVZ4JhQ1UyH7pz5yqiG8zx2/+Po8cUD4SDUwJgda4nw== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-flexible-checksums@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.916.0.tgz#ecbec3baf54e79dae04f1fd19f21041482928239" + integrity sha512-CBRRg6slHHBYAm26AWY/pECHK0vVO/peDoNhZiAzUNt4jV6VftotjszEJ904pKGOr7/86CfZxtCnP3CCs3lQjA== + dependencies: + "@aws-crypto/crc32" "5.2.0" + "@aws-crypto/crc32c" "5.2.0" + "@aws-crypto/util" "5.2.0" + "@aws-sdk/core" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/is-array-buffer" "^4.2.0" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-stream" "^4.5.4" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-host-header@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.893.0.tgz#1a4b14c11cff158b383e2b859be5c468d2c2c162" + integrity sha512-qL5xYRt80ahDfj9nDYLhpCNkDinEXvjLe/Qen/Y/u12+djrR2MB4DRa6mzBCkLkdXDtf0WAoW2EZsNCfGrmOEQ== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-host-header@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.914.0.tgz#7e962c3d18c1ecc98606eab09a98dcf1b3402835" + integrity sha512-7r9ToySQ15+iIgXMF/h616PcQStByylVkCshmQqcdeynD/lCn2l667ynckxW4+ql0Q+Bo/URljuhJRxVJzydNA== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-location-constraint@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.914.0.tgz#ee877bdaa54746f65919fa54685ef392256bfb19" + integrity sha512-Mpd0Sm9+GN7TBqGnZg1+dO5QZ/EOYEcDTo7KfvoyrXScMlxvYm9fdrUVMmLdPn/lntweZGV3uNrs+huasGOOTA== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-logger@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.893.0.tgz#4ecb20ee0771a2f3afdc07c1310b97251d3854e2" + integrity sha512-ZqzMecjju5zkBquSIfVfCORI/3Mge21nUY4nWaGQy+NUXehqCGG4W7AiVpiHGOcY2cGJa7xeEkYcr2E2U9U0AA== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-logger@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.914.0.tgz#222d50ec69447715d6954eb6db0029f11576227b" + integrity sha512-/gaW2VENS5vKvJbcE1umV4Ag3NuiVzpsANxtrqISxT3ovyro29o1RezW/Avz/6oJqjnmgz8soe9J1t65jJdiNg== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-recursion-detection@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.893.0.tgz#9fde6f10e72fcbd8ce4f0eea629c07ca64ce86ba" + integrity sha512-H7Zotd9zUHQAr/wr3bcWHULYhEeoQrF54artgsoUGIf/9emv6LzY89QUccKIxYd6oHKNTrTyXm9F0ZZrzXNxlg== + dependencies: + "@aws-sdk/types" "3.893.0" + "@aws/lambda-invoke-store" "^0.0.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-recursion-detection@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.914.0.tgz#bf65759cf303f271b22770e7f9675034b4ced946" + integrity sha512-yiAjQKs5S2JKYc+GrkvGMwkUvhepXDigEXpSJqUseR/IrqHhvGNuOxDxq+8LbDhM4ajEW81wkiBbU+Jl9G82yQ== + dependencies: + "@aws-sdk/types" "3.914.0" + "@aws/lambda-invoke-store" "^0.0.1" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-sdk-s3@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.916.0.tgz#5c1cc4645186b3c0f7ac5f6a897885af0b62198e" + integrity sha512-pjmzzjkEkpJObzmTthqJPq/P13KoNFuEi/x5PISlzJtHofCNcyXeVAQ90yvY2dQ6UXHf511Rh1/ytiKy2A8M0g== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@aws-sdk/util-arn-parser" "3.893.0" + "@smithy/core" "^3.17.1" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/signature-v4" "^5.3.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + "@smithy/util-config-provider" "^4.2.0" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-stream" "^4.5.4" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-ssec@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.914.0.tgz#4042dfed7a4d4234e37a84bab9d1cd9998a22180" + integrity sha512-V1Oae/oLVbpNb9uWs+v80GKylZCdsbqs2c2Xb1FsAUPtYeSnxFuAWsF3/2AEMSSpFe0dTC5KyWr/eKl2aim9VQ== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-user-agent@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.895.0.tgz#bf1276999ff84a3d53f9f80397033fc1b4bd8f05" + integrity sha512-JUqQW2RPp4I95wZ/Im9fTiaX3DF55oJgeoiNlLdHkQZPSNNS/pT1WMWMReSvJdcfSNU3xSUaLtI+h4mQjQUDbQ== + dependencies: + "@aws-sdk/core" "3.894.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@smithy/core" "^3.11.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-user-agent@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.916.0.tgz#a0894ae6d70d7a81b2572ee69ed0d3049d39dfce" + integrity sha512-mzF5AdrpQXc2SOmAoaQeHpDFsK2GE6EGcEACeNuoESluPI2uYMpuuNMYrUufdnIAIyqgKlis0NVxiahA5jG42w== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@aws-sdk/util-endpoints" "3.916.0" + "@smithy/core" "^3.17.1" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/nested-clients@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.895.0.tgz#b11c26eb5d2b09a2f6c1901bc73084e76ff8d849" + integrity sha512-8w1ihfYgvds6kfal/qJXQQrHRsKYh2nujSyzWMo2TMKMze9WPZA93G4mRbRtKtbSuQ66mVWePH8Cksq35ABu2Q== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.894.0" + "@aws-sdk/middleware-host-header" "3.893.0" + "@aws-sdk/middleware-logger" "3.893.0" + "@aws-sdk/middleware-recursion-detection" "3.893.0" + "@aws-sdk/middleware-user-agent" "3.895.0" + "@aws-sdk/region-config-resolver" "3.893.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@aws-sdk/util-user-agent-browser" "3.893.0" + "@aws-sdk/util-user-agent-node" "3.895.0" + "@smithy/config-resolver" "^4.2.2" + "@smithy/core" "^3.11.1" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/hash-node" "^4.1.1" + "@smithy/invalid-dependency" "^4.1.1" + "@smithy/middleware-content-length" "^4.1.1" + "@smithy/middleware-endpoint" "^4.2.3" + "@smithy/middleware-retry" "^4.2.4" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.3" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-body-length-node" "^4.1.0" + "@smithy/util-defaults-mode-browser" "^4.1.3" + "@smithy/util-defaults-mode-node" "^4.1.3" + "@smithy/util-endpoints" "^3.1.2" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/nested-clients@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.916.0.tgz#2f79b924dd6c25cc3c40f6a0453097ae7a512702" + integrity sha512-tgg8e8AnVAer0rcgeWucFJ/uNN67TbTiDHfD+zIOPKep0Z61mrHEoeT/X8WxGIOkEn4W6nMpmS4ii8P42rNtnA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.916.0" + "@aws-sdk/middleware-host-header" "3.914.0" + "@aws-sdk/middleware-logger" "3.914.0" + "@aws-sdk/middleware-recursion-detection" "3.914.0" + "@aws-sdk/middleware-user-agent" "3.916.0" + "@aws-sdk/region-config-resolver" "3.914.0" + "@aws-sdk/types" "3.914.0" + "@aws-sdk/util-endpoints" "3.916.0" + "@aws-sdk/util-user-agent-browser" "3.914.0" + "@aws-sdk/util-user-agent-node" "3.916.0" + "@smithy/config-resolver" "^4.4.0" + "@smithy/core" "^3.17.1" + "@smithy/fetch-http-handler" "^5.3.4" + "@smithy/hash-node" "^4.2.3" + "@smithy/invalid-dependency" "^4.2.3" + "@smithy/middleware-content-length" "^4.2.3" + "@smithy/middleware-endpoint" "^4.3.5" + "@smithy/middleware-retry" "^4.4.5" + "@smithy/middleware-serde" "^4.2.3" + "@smithy/middleware-stack" "^4.2.3" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/node-http-handler" "^4.4.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + "@smithy/url-parser" "^4.2.3" + "@smithy/util-base64" "^4.3.0" + "@smithy/util-body-length-browser" "^4.2.0" + "@smithy/util-body-length-node" "^4.2.1" + "@smithy/util-defaults-mode-browser" "^4.3.4" + "@smithy/util-defaults-mode-node" "^4.2.6" + "@smithy/util-endpoints" "^3.2.3" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-retry" "^4.2.3" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@aws-sdk/region-config-resolver@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.893.0.tgz#570dfd2314b3f71eb263557bb06fea36b5188cd6" + integrity sha512-/cJvh3Zsa+Of0Zbg7vl9wp/kZtdb40yk/2+XcroAMVPO9hPvmS9r/UOm6tO7FeX4TtkRFwWaQJiTZTgSdsPY+Q== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + "@smithy/util-config-provider" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + tslib "^2.6.2" + +"@aws-sdk/region-config-resolver@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.914.0.tgz#b6d2825081195ce1c634b8c92b1e19b08f140008" + integrity sha512-KlmHhRbn1qdwXUdsdrJ7S/MAkkC1jLpQ11n+XvxUUUCGAJd1gjC7AjxPZUM7ieQ2zcb8bfEzIU7al+Q3ZT0u7Q== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/config-resolver" "^4.4.0" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/signature-v4-multi-region@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.916.0.tgz#d70e3dc9ca2cb3f65923283600a0a6e9a6c4ec7f" + integrity sha512-fuzUMo6xU7e0NBzBA6TQ4FUf1gqNbg4woBSvYfxRRsIfKmSMn9/elXXn4sAE5UKvlwVQmYnb6p7dpVRPyFvnQA== + dependencies: + "@aws-sdk/middleware-sdk-s3" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/protocol-http" "^5.3.3" + "@smithy/signature-v4" "^5.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/token-providers@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.895.0.tgz#6fc09c3aee81fb6c4430724ded1dda88d57775ac" + integrity sha512-vJqrEHFFGRZ3ok5T+jII00sa2DQ3HdVkTBIfM0DcrcPssqDV18VKdA767qiBdIEN/cygjdBg8Ri/cuq6ER9BeQ== + dependencies: + "@aws-sdk/core" "3.894.0" + "@aws-sdk/nested-clients" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/token-providers@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.916.0.tgz#e824fd44a553c4047b769caf22a94fd2705c9f1d" + integrity sha512-13GGOEgq5etbXulFCmYqhWtpcEQ6WI6U53dvXbheW0guut8fDFJZmEv7tKMTJgiybxh7JHd0rWcL9JQND8DwoQ== + dependencies: + "@aws-sdk/core" "3.916.0" + "@aws-sdk/nested-clients" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/property-provider" "^4.2.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/types@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.893.0.tgz#1afbdb9d62bf86caeac380e3cac11a051076400a" + integrity sha512-Aht1nn5SnA0N+Tjv0dzhAY7CQbxVtmq1bBR6xI0MhG7p2XYVh1wXuKTzrldEvQWwA3odOYunAfT9aBiKZx9qIg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/types@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.914.0.tgz#175cf9a4b2267aafbb110fe1316e6827de951fdb" + integrity sha512-kQWPsRDmom4yvAfyG6L1lMmlwnTzm1XwMHOU+G5IFlsP4YEaMtXidDzW/wiivY0QFrhfCz/4TVmu0a2aPU57ug== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + "@aws-sdk/types@^3.222.0": version "3.734.0" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.734.0.tgz#af5e620b0e761918282aa1c8e53cac6091d169a2" @@ -74,6 +911,35 @@ "@smithy/types" "^4.1.0" tslib "^2.6.2" +"@aws-sdk/util-arn-parser@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.893.0.tgz#fcc9b792744b9da597662891c2422dda83881d8d" + integrity sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA== + dependencies: + tslib "^2.6.2" + +"@aws-sdk/util-endpoints@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.895.0.tgz#d3881250cecc40fa9d721a33661c1aaa64aba643" + integrity sha512-MhxBvWbwxmKknuggO2NeMwOVkHOYL98pZ+1ZRI5YwckoCL3AvISMnPJgfN60ww6AIXHGpkp+HhpFdKOe8RHSEg== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-endpoints" "^3.1.2" + tslib "^2.6.2" + +"@aws-sdk/util-endpoints@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.916.0.tgz#ab54249b8090cd66fe14aa8518097107a2595196" + integrity sha512-bAgUQwvixdsiGNcuZSDAOWbyHlnPtg8G8TyHD6DTfTmKTHUW6tAn+af/ZYJPXEzXhhpwgJqi58vWnsiDhmr7NQ== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/types" "^4.8.0" + "@smithy/url-parser" "^4.2.3" + "@smithy/util-endpoints" "^3.2.3" + tslib "^2.6.2" + "@aws-sdk/util-locate-window@^3.0.0": version "3.723.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.723.0.tgz#174551bfdd2eb36d3c16e7023fd7e7ee96ad0fa9" @@ -81,6 +947,71 @@ dependencies: tslib "^2.6.2" +"@aws-sdk/util-user-agent-browser@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.893.0.tgz#be0aac5c73a30c2a03aedb2e3501bb277bad79a1" + integrity sha512-PE9NtbDBW6Kgl1bG6A5fF3EPo168tnkj8TgMcT0sg4xYBWsBpq0bpJZRh+Jm5Bkwiw9IgTCLjEU7mR6xWaMB9w== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/types" "^4.5.0" + bowser "^2.11.0" + tslib "^2.6.2" + +"@aws-sdk/util-user-agent-browser@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.914.0.tgz#ed29fd87f6ffba6f53615894a5e969cb9013af59" + integrity sha512-rMQUrM1ECH4kmIwlGl9UB0BtbHy6ZuKdWFrIknu8yGTRI/saAucqNTh5EI1vWBxZ0ElhK5+g7zOnUuhSmVQYUA== + dependencies: + "@aws-sdk/types" "3.914.0" + "@smithy/types" "^4.8.0" + bowser "^2.11.0" + tslib "^2.6.2" + +"@aws-sdk/util-user-agent-node@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.895.0.tgz#f8bcfff850f2685d10099a7496dc70d6c6525356" + integrity sha512-lLRC7BAFOPtJk4cZC0Q0MZBMCGF109QpGnug3L3n/2TJW02Sinz9lzA0ykBpYXe9j60LjIYSENCg+F4DZE5vxg== + dependencies: + "@aws-sdk/middleware-user-agent" "3.895.0" + "@aws-sdk/types" "3.893.0" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/util-user-agent-node@3.916.0": + version "3.916.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.916.0.tgz#3ab5fdb9f45345f19f426941ece71988b31bf58d" + integrity sha512-CwfWV2ch6UdjuSV75ZU99N03seEUb31FIUrXBnwa6oONqj/xqXwrxtlUMLx6WH3OJEE4zI3zt5PjlTdGcVwf4g== + dependencies: + "@aws-sdk/middleware-user-agent" "3.916.0" + "@aws-sdk/types" "3.914.0" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@aws-sdk/xml-builder@3.894.0": + version "3.894.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.894.0.tgz#7110e86622345d3da220a2ed5259a30a91dec4bc" + integrity sha512-E6EAMc9dT1a2DOdo4zyOf3fp5+NJ2wI+mcm7RaW1baFIWDwcb99PpvWoV7YEiK7oaBDshuOEGWKUSYXdW+JYgA== + dependencies: + "@smithy/types" "^4.5.0" + fast-xml-parser "5.2.5" + tslib "^2.6.2" + +"@aws-sdk/xml-builder@3.914.0": + version "3.914.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.914.0.tgz#4e98b479856113db877d055e7b008065c50266d4" + integrity sha512-k75evsBD5TcIjedycYS7QXQ98AmOtbnxRJOPtCo0IwYRmy7UvqgS/gBL5SmrIqeV6FDSYRQMgdBxSMp6MLmdew== + dependencies: + "@smithy/types" "^4.8.0" + fast-xml-parser "5.2.5" + tslib "^2.6.2" + +"@aws/lambda-invoke-store@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.0.1.tgz#92d792a7dda250dfcb902e13228f37a81be57c8f" + integrity sha512-ORHRQ2tmvnBXc8t/X9Z8IcSbBA4xTLKuN873FopzklHMeqBst7YG0d+AX97inkvDX+NChYtSr+qGfcqGFaI8Zw== + "@azure/abort-controller@^2.0.0", "@azure/abort-controller@^2.1.2": version "2.1.2" resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-2.1.2.tgz#42fe0ccab23841d9905812c58f1082d27784566d" @@ -858,6 +1789,191 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz#282046f03e886e352b2d5f5da5eb755e01457f3f" integrity sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA== +"@smithy/abort-controller@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.1.1.tgz#9b3872ab6b2c061486175c281dadc0a853260533" + integrity sha512-vkzula+IwRvPR6oKQhMYioM3A/oX/lFCZiwuxkQbRhqJS2S4YRY2k7k/SyR2jMf3607HLtbEwlRxi0ndXHMjRg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/abort-controller@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.2.3.tgz#4615da3012b580ac3d1f0ee7b57ed7d7880bb29b" + integrity sha512-xWL9Mf8b7tIFuAlpjKtRPnHrR8XVrwTj5NPYO/QwZPtc0SDLsPxb56V5tzi5yspSMytISHybifez+4jlrx0vkQ== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/chunked-blob-reader-native@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.1.tgz#380266951d746b522b4ab2b16bfea6b451147b41" + integrity sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ== + dependencies: + "@smithy/util-base64" "^4.3.0" + tslib "^2.6.2" + +"@smithy/chunked-blob-reader@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.0.tgz#776fec5eaa5ab5fa70d0d0174b7402420b24559c" + integrity sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA== + dependencies: + tslib "^2.6.2" + +"@smithy/config-resolver@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.2.2.tgz#3f6a3c163f9b5b7f852d7d1817bc9e3b2136fa5f" + integrity sha512-IT6MatgBWagLybZl1xQcURXRICvqz1z3APSCAI9IqdvfCkrA7RaQIEfgC6G/KvfxnDfQUDqFV+ZlixcuFznGBQ== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + "@smithy/util-config-provider" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + tslib "^2.6.2" + +"@smithy/config-resolver@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.4.0.tgz#9a33b7dd9b7e0475802acef53f41555257e104cd" + integrity sha512-Kkmz3Mup2PGp/HNJxhCWkLNdlajJORLSjwkcfrj0E7nu6STAEdcMR1ir5P9/xOmncx8xXfru0fbUYLlZog/cFg== + dependencies: + "@smithy/node-config-provider" "^4.3.3" + "@smithy/types" "^4.8.0" + "@smithy/util-config-provider" "^4.2.0" + "@smithy/util-endpoints" "^3.2.3" + "@smithy/util-middleware" "^4.2.3" + tslib "^2.6.2" + +"@smithy/core@^3.11.1", "@smithy/core@^3.12.0": + version "3.12.0" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.12.0.tgz#81bb6a2a113e334ddaede9d502ff17ce4d8a2cc6" + integrity sha512-zJeAgogZfbwlPGL93y4Z/XNeIN37YCreRUd6YMIRvaq+6RnBK8PPYYIQ85Is/GglPh3kNImD5riDCXbVSDpCiQ== + dependencies: + "@smithy/middleware-serde" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-stream" "^4.3.2" + "@smithy/util-utf8" "^4.1.0" + "@smithy/uuid" "^1.0.0" + tslib "^2.6.2" + +"@smithy/core@^3.17.1": + version "3.17.1" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.17.1.tgz#644aa4046b31c82d2c17276bcef2c6b78245dfeb" + integrity sha512-V4Qc2CIb5McABYfaGiIYLTmo/vwNIK7WXI5aGveBd9UcdhbOMwcvIMxIw/DJj1S9QgOMa/7FBkarMdIC0EOTEQ== + dependencies: + "@smithy/middleware-serde" "^4.2.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + "@smithy/util-base64" "^4.3.0" + "@smithy/util-body-length-browser" "^4.2.0" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-stream" "^4.5.4" + "@smithy/util-utf8" "^4.2.0" + "@smithy/uuid" "^1.1.0" + tslib "^2.6.2" + +"@smithy/credential-provider-imds@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.1.2.tgz#68662c873dbe812c13159cb2be3c4ba8aeb52149" + integrity sha512-JlYNq8TShnqCLg0h+afqe2wLAwZpuoSgOyzhYvTgbiKBWRov+uUve+vrZEQO6lkdLOWPh7gK5dtb9dS+KGendg== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + tslib "^2.6.2" + +"@smithy/credential-provider-imds@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.3.tgz#b35d0d1f1b28f415e06282999eba2d53eb10a1c5" + integrity sha512-hA1MQ/WAHly4SYltJKitEsIDVsNmXcQfYBRv2e+q04fnqtAX5qXaybxy/fhUeAMCnQIdAjaGDb04fMHQefWRhw== + dependencies: + "@smithy/node-config-provider" "^4.3.3" + "@smithy/property-provider" "^4.2.3" + "@smithy/types" "^4.8.0" + "@smithy/url-parser" "^4.2.3" + tslib "^2.6.2" + +"@smithy/eventstream-codec@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-4.2.3.tgz#dd65d9050c322f0805ba62749a3801985a2f5394" + integrity sha512-rcr0VH0uNoMrtgKuY7sMfyKqbHc4GQaQ6Yp4vwgm+Z6psPuOgL+i/Eo/QWdXRmMinL3EgFM0Z1vkfyPyfzLmjw== + dependencies: + "@aws-crypto/crc32" "5.2.0" + "@smithy/types" "^4.8.0" + "@smithy/util-hex-encoding" "^4.2.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-browser@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.3.tgz#57fb9c10daac12647a0b97ef04330d706cbe9494" + integrity sha512-EcS0kydOr2qJ3vV45y7nWnTlrPmVIMbUFOZbMG80+e2+xePQISX9DrcbRpVRFTS5Nqz3FiEbDcTCAV0or7bqdw== + dependencies: + "@smithy/eventstream-serde-universal" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-config-resolver@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.3.tgz#ca1a7d272ae939aee303da40aa476656d785f75f" + integrity sha512-GewKGZ6lIJ9APjHFqR2cUW+Efp98xLu1KmN0jOWxQ1TN/gx3HTUPVbLciFD8CfScBj2IiKifqh9vYFRRXrYqXA== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-node@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.3.tgz#f1b33bb576bf7222b6bd6bc2ad845068ccf53f16" + integrity sha512-uQobOTQq2FapuSOlmGLUeGTpvcBLE5Fc7XjERUSk4dxEi4AhTwuyHYZNAvL4EMUp7lzxxkKDFaJ1GY0ovrj0Kg== + dependencies: + "@smithy/eventstream-serde-universal" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-universal@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.3.tgz#86194daa2cd2496e413723465360d80f32ad7252" + integrity sha512-QIvH/CKOk1BZPz/iwfgbh1SQD5Y0lpaw2kLA8zpLRRtYMPXeYUEWh+moTaJyqDaKlbrB174kB7FSRFiZ735tWw== + dependencies: + "@smithy/eventstream-codec" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/fetch-http-handler@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.2.1.tgz#fe284a00f1b3a35edf9fba454d287b7f74ef20af" + integrity sha512-5/3wxKNtV3wO/hk1is+CZUhL8a1yy/U+9u9LKQ9kZTkMsHaQjJhc3stFfiujtMnkITjzWfndGA2f7g9Uh9vKng== + dependencies: + "@smithy/protocol-http" "^5.2.1" + "@smithy/querystring-builder" "^4.1.1" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + tslib "^2.6.2" + +"@smithy/fetch-http-handler@^5.3.4": + version "5.3.4" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.4.tgz#af6dd2f63550494c84ef029a5ceda81ef46965d3" + integrity sha512-bwigPylvivpRLCm+YK9I5wRIYjFESSVwl8JQ1vVx/XhCw0PtCi558NwTnT2DaVCl5pYlImGuQTSwMsZ+pIavRw== + dependencies: + "@smithy/protocol-http" "^5.3.3" + "@smithy/querystring-builder" "^4.2.3" + "@smithy/types" "^4.8.0" + "@smithy/util-base64" "^4.3.0" + tslib "^2.6.2" + +"@smithy/hash-blob-browser@^4.2.4": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.4.tgz#c7226d2ba2a394acf6e90510d08f7c3003f516d1" + integrity sha512-W7eIxD+rTNsLB/2ynjmbdeP7TgxRXprfvqQxKFEfy9HW2HeD7t+g+KCIrY0pIn/GFjA6/fIpH+JQnfg5TTk76Q== + dependencies: + "@smithy/chunked-blob-reader" "^5.2.0" + "@smithy/chunked-blob-reader-native" "^4.2.1" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + "@smithy/hash-node@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-1.1.0.tgz#a8da64fa4b2e2c64185df92897165c8113b499b2" @@ -868,6 +1984,51 @@ "@smithy/util-utf8" "^1.1.0" tslib "^2.5.0" +"@smithy/hash-node@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.1.1.tgz#86ceca92487492267e944e4f4507106b731e7971" + integrity sha512-H9DIU9WBLhYrvPs9v4sYvnZ1PiAI0oc8CgNQUJ1rpN3pP7QADbTOUjchI2FB764Ub0DstH5xbTqcMJu1pnVqxA== + dependencies: + "@smithy/types" "^4.5.0" + "@smithy/util-buffer-from" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/hash-node@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.2.3.tgz#c85711fca84e022f05c71b921f98cb6a0f48e5ca" + integrity sha512-6+NOdZDbfuU6s1ISp3UOk5Rg953RJ2aBLNLLBEcamLjHAg1Po9Ha7QIB5ZWhdRUVuOUrT8BVFR+O2KIPmw027g== + dependencies: + "@smithy/types" "^4.8.0" + "@smithy/util-buffer-from" "^4.2.0" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@smithy/hash-stream-node@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-4.2.3.tgz#8ddae1f5366513cbbec3acb6f54e3ec1b332db88" + integrity sha512-EXMSa2yiStVII3x/+BIynyOAZlS7dGvI7RFrzXa/XssBgck/7TXJIvnjnCu328GY/VwHDC4VeDyP1S4rqwpYag== + dependencies: + "@smithy/types" "^4.8.0" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@smithy/invalid-dependency@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.1.1.tgz#2511335ff889944701c7d2a3b1e4a4d6fe9ddfab" + integrity sha512-1AqLyFlfrrDkyES8uhINRlJXmHA2FkG+3DY8X+rmLSqmFwk3DJnvhyGzyByPyewh2jbmV+TYQBEfngQax8IFGg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/invalid-dependency@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.2.3.tgz#4f126ddde90fe3d69d522fc37256ee853246c1ec" + integrity sha512-Cc9W5DwDuebXEDMpOpl4iERo8I0KFjTnomK2RMdhhR87GwrSmUmwMxS4P5JdRf+LsjOdIqumcerwRgYMr/tZ9Q== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + "@smithy/is-array-buffer@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-1.1.0.tgz#29948072da2b57575aa9898cda863932e842ab11" @@ -889,6 +2050,197 @@ dependencies: tslib "^2.6.2" +"@smithy/is-array-buffer@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.1.0.tgz#d18a2f22280e7173633cb91a9bdb6f3d8a6560b8" + integrity sha512-ePTYUOV54wMogio+he4pBybe8fwg4sDvEVDBU8ZlHOZXbXK3/C0XfJgUCu6qAZcawv05ZhZzODGUerFBPsPUDQ== + dependencies: + tslib "^2.6.2" + +"@smithy/is-array-buffer@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz#b0f874c43887d3ad44f472a0f3f961bcce0550c2" + integrity sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ== + dependencies: + tslib "^2.6.2" + +"@smithy/md5-js@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-4.2.3.tgz#a89c324ff61c64c25b4895fa16d9358f7e3cc746" + integrity sha512-5+4bUEJQi/NRgzdA5SVXvAwyvEnD0ZAiKzV3yLO6dN5BG8ScKBweZ8mxXXUtdxq+Dx5k6EshKk0XJ7vgvIPSnA== + dependencies: + "@smithy/types" "^4.8.0" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@smithy/middleware-content-length@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.1.1.tgz#eaea7bd14c7a0b64aef87b8c372c2a04d7b9cb72" + integrity sha512-9wlfBBgTsRvC2JxLJxv4xDGNBrZuio3AgSl0lSFX7fneW2cGskXTYpFxCdRYD2+5yzmsiTuaAJD1Wp7gWt9y9w== + dependencies: + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/middleware-content-length@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.2.3.tgz#b7d1d79ae674dad17e35e3518db4b1f0adc08964" + integrity sha512-/atXLsT88GwKtfp5Jr0Ks1CSa4+lB+IgRnkNrrYP0h1wL4swHNb0YONEvTceNKNdZGJsye+W2HH8W7olbcPUeA== + dependencies: + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/middleware-endpoint@^4.2.3", "@smithy/middleware-endpoint@^4.2.4": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.2.4.tgz#d815d27b7869a66ee97b41932053ca5d5ec6315e" + integrity sha512-FZ4hzupOmthm8Q8ujYrd0I+/MHwVMuSTdkDtIQE0xVuvJt9pLT6Q+b0p4/t+slDyrpcf+Wj7SN+ZqT5OryaaZg== + dependencies: + "@smithy/core" "^3.12.0" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-middleware" "^4.1.1" + tslib "^2.6.2" + +"@smithy/middleware-endpoint@^4.3.5": + version "4.3.5" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.3.5.tgz#c22f82f83f0b5cc6c0866a2a87b65bc2e79af352" + integrity sha512-SIzKVTvEudFWJbxAaq7f2GvP3jh2FHDpIFI6/VAf4FOWGFZy0vnYMPSRj8PGYI8Hjt29mvmwSRgKuO3bK4ixDw== + dependencies: + "@smithy/core" "^3.17.1" + "@smithy/middleware-serde" "^4.2.3" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + "@smithy/url-parser" "^4.2.3" + "@smithy/util-middleware" "^4.2.3" + tslib "^2.6.2" + +"@smithy/middleware-retry@^4.2.4": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.3.0.tgz#453c9668b013fbfa900957857f74f3b15936b384" + integrity sha512-qhEX9745fAxZvtLM4bQJAVC98elWjiMO2OiHl1s6p7hUzS4QfZO1gXUYNwEK8m0J6NoCD5W52ggWxbIDHI0XSg== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/protocol-http" "^5.2.1" + "@smithy/service-error-classification" "^4.1.2" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/uuid" "^1.0.0" + tslib "^2.6.2" + +"@smithy/middleware-retry@^4.4.5": + version "4.4.5" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.4.5.tgz#5bdb6ba1be6a97272b79fdac99db40c5e7ab81e0" + integrity sha512-DCaXbQqcZ4tONMvvdz+zccDE21sLcbwWoNqzPLFlZaxt1lDtOE2tlVpRSwcTOJrjJSUThdgEYn7HrX5oLGlK9A== + dependencies: + "@smithy/node-config-provider" "^4.3.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/service-error-classification" "^4.2.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-retry" "^4.2.3" + "@smithy/uuid" "^1.1.0" + tslib "^2.6.2" + +"@smithy/middleware-serde@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.1.1.tgz#cfb99f53c744d7730928235cbe66cc7ff8a8a9b2" + integrity sha512-lh48uQdbCoj619kRouev5XbWhCwRKLmphAif16c4J6JgJ4uXjub1PI6RL38d3BLliUvSso6klyB/LTNpWSNIyg== + dependencies: + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/middleware-serde@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.2.3.tgz#a827e9c4ea9e51c79cca4d6741d582026a8b53eb" + integrity sha512-8g4NuUINpYccxiCXM5s1/V+uLtts8NcX4+sPEbvYQDZk4XoJfDpq5y2FQxfmUL89syoldpzNzA0R9nhzdtdKnQ== + dependencies: + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/middleware-stack@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.1.1.tgz#1d533fde4ccbb62d7fc0f0b8ac518b7e4791e311" + integrity sha512-ygRnniqNcDhHzs6QAPIdia26M7e7z9gpkIMUe/pK0RsrQ7i5MblwxY8078/QCnGq6AmlUUWgljK2HlelsKIb/A== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/middleware-stack@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.2.3.tgz#5a315aa9d0fd4faaa248780297c8cbacc31c2eba" + integrity sha512-iGuOJkH71faPNgOj/gWuEGS6xvQashpLwWB1HjHq1lNNiVfbiJLpZVbhddPuDbx9l4Cgl0vPLq5ltRfSaHfspA== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/node-config-provider@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.2.2.tgz#ede9ac2f689cfdf26815a53fadf139e6aa77bdbb" + integrity sha512-SYGTKyPvyCfEzIN5rD8q/bYaOPZprYUPD2f5g9M7OjaYupWOoQFYJ5ho+0wvxIRf471i2SR4GoiZ2r94Jq9h6A== + dependencies: + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/node-config-provider@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.3.3.tgz#44140a1e6bc666bcf16faf68c35d3dae4ba8cad5" + integrity sha512-NzI1eBpBSViOav8NVy1fqOlSfkLgkUjUTlohUSgAEhHaFWA3XJiLditvavIP7OpvTjDp5u2LhtlBhkBlEisMwA== + dependencies: + "@smithy/property-provider" "^4.2.3" + "@smithy/shared-ini-file-loader" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/node-http-handler@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.2.1.tgz#d7ab8e31659030d3d5a68f0982f15c00b1e67a0c" + integrity sha512-REyybygHlxo3TJICPF89N2pMQSf+p+tBJqpVe1+77Cfi9HBPReNjTgtZ1Vg73exq24vkqJskKDpfF74reXjxfw== + dependencies: + "@smithy/abort-controller" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/querystring-builder" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/node-http-handler@^4.4.3": + version "4.4.3" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.4.3.tgz#fb2d16719cb4e8df0c189e8bde60e837df5c0c5b" + integrity sha512-MAwltrDB0lZB/H6/2M5PIsISSwdI5yIh6DaBB9r0Flo9nx3y0dzl/qTMJPd7tJvPdsx6Ks/cwVzheGNYzXyNbQ== + dependencies: + "@smithy/abort-controller" "^4.2.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/querystring-builder" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/property-provider@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.1.1.tgz#6e11ae6729840314afed05fd6ab48f62c654116b" + integrity sha512-gm3ZS7DHxUbzC2wr8MUCsAabyiXY0gaj3ROWnhSx/9sPMc6eYLMM4rX81w1zsMaObj2Lq3PZtNCC1J6lpEY7zg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/property-provider@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.2.3.tgz#a6c82ca0aa1c57f697464bee496f3fec58660864" + integrity sha512-+1EZ+Y+njiefCohjlhyOcy1UNYjT+1PwGFHCxA/gYctjg3DQWAU19WigOXAco/Ql8hZokNehpzLd0/+3uCreqQ== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + "@smithy/protocol-http@^4.1.8": version "4.1.8" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.8.tgz#0461758671335f65e8ff3fc0885ab7ed253819c9" @@ -897,6 +2249,86 @@ "@smithy/types" "^3.7.2" tslib "^2.6.2" +"@smithy/protocol-http@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.2.1.tgz#33f2b8e4e1082c3ae0372d1322577e6fa71d7824" + integrity sha512-T8SlkLYCwfT/6m33SIU/JOVGNwoelkrvGjFKDSDtVvAXj/9gOT78JVJEas5a+ETjOu4SVvpCstKgd0PxSu/aHw== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/protocol-http@^5.3.3": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.3.3.tgz#55b35c18bdc0f6d86e78f63961e50ba4ff1c5d73" + integrity sha512-Mn7f/1aN2/jecywDcRDvWWWJF4uwg/A0XjFMJtj72DsgHTByfjRltSqcT9NyE9RTdBSN6X1RSXrhn/YWQl8xlw== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/querystring-builder@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.1.1.tgz#4d35c1735de8214055424045a117fa5d1d5cdec1" + integrity sha512-J9b55bfimP4z/Jg1gNo+AT84hr90p716/nvxDkPGCD4W70MPms0h8KF50RDRgBGZeL83/u59DWNqJv6tEP/DHA== + dependencies: + "@smithy/types" "^4.5.0" + "@smithy/util-uri-escape" "^4.1.0" + tslib "^2.6.2" + +"@smithy/querystring-builder@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.2.3.tgz#ca273ae8c21fce01a52632202679c0f9e2acf41a" + integrity sha512-LOVCGCmwMahYUM/P0YnU/AlDQFjcu+gWbFJooC417QRB/lDJlWSn8qmPSDp+s4YVAHOgtgbNG4sR+SxF/VOcJQ== + dependencies: + "@smithy/types" "^4.8.0" + "@smithy/util-uri-escape" "^4.2.0" + tslib "^2.6.2" + +"@smithy/querystring-parser@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.1.1.tgz#21b861439b2db16abeb0a6789b126705fa25eea1" + integrity sha512-63TEp92YFz0oQ7Pj9IuI3IgnprP92LrZtRAkE3c6wLWJxfy/yOPRt39IOKerVr0JS770olzl0kGafXlAXZ1vng== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/querystring-parser@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.2.3.tgz#b6d7d5cd300b4083c62d9bd30915f782d01f503e" + integrity sha512-cYlSNHcTAX/wc1rpblli3aUlLMGgKZ/Oqn8hhjFASXMCXjIqeuQBei0cnq2JR8t4RtU9FpG6uyl6PxyArTiwKA== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/service-error-classification@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.1.2.tgz#06839c332f4620a4b80c78a0c32377732dc6697a" + integrity sha512-Kqd8wyfmBWHZNppZSMfrQFpc3M9Y/kjyN8n8P4DqJJtuwgK1H914R471HTw7+RL+T7+kI1f1gOnL7Vb5z9+NgQ== + dependencies: + "@smithy/types" "^4.5.0" + +"@smithy/service-error-classification@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.2.3.tgz#ecb41dd514841eebb93e91012ae5e343040f6828" + integrity sha512-NkxsAxFWwsPsQiwFG2MzJ/T7uIR6AQNh1SzcxSUnmmIqIQMlLRQDKhc17M7IYjiuBXhrQRjQTo3CxX+DobS93g== + dependencies: + "@smithy/types" "^4.8.0" + +"@smithy/shared-ini-file-loader@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.2.0.tgz#e4717242686bf611bd1a5d6f79870abe480c1c99" + integrity sha512-OQTfmIEp2LLuWdxa8nEEPhZmiOREO6bcB6pjs0AySf4yiZhl6kMOfqmcwcY8BaBPX+0Tb+tG7/Ia/6mwpoZ7Pw== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/shared-ini-file-loader@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.3.3.tgz#1d5162cd3a14f57e4fde56f65aa188e8138c1248" + integrity sha512-9f9Ixej0hFhroOK2TxZfUUDR13WVa8tQzhSzPDgXe5jGL3KmaM9s8XN7RQwqtEypI82q9KHnKS71CJ+q/1xLtQ== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + "@smithy/signature-v4@^2.1.1": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.3.0.tgz#c30dd4028ae50c607db99459981cce8cdab7a3fd" @@ -924,6 +2356,60 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" +"@smithy/signature-v4@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.2.1.tgz#0048489d2f1b3c888382595a085edd31967498f8" + integrity sha512-M9rZhWQLjlQVCCR37cSjHfhriGRN+FQ8UfgrYNufv66TJgk+acaggShl3KS5U/ssxivvZLlnj7QH2CUOKlxPyA== + dependencies: + "@smithy/is-array-buffer" "^4.1.0" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-hex-encoding" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-uri-escape" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/signature-v4@^5.3.3": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.3.3.tgz#5ff13cfaa29cb531061c2582cb599b39e040e52e" + integrity sha512-CmSlUy+eEYbIEYN5N3vvQTRfqt0lJlQkaQUIf+oizu7BbDut0pozfDjBGecfcfWf7c62Yis4JIEgqQ/TCfodaA== + dependencies: + "@smithy/is-array-buffer" "^4.2.0" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + "@smithy/util-hex-encoding" "^4.2.0" + "@smithy/util-middleware" "^4.2.3" + "@smithy/util-uri-escape" "^4.2.0" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@smithy/smithy-client@^4.6.3", "@smithy/smithy-client@^4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.6.4.tgz#3a66bb71c91dadf1806adab664ba2e164a1139ab" + integrity sha512-qL7O3VDyfzCSN9r+sdbQXGhaHtrfSJL30En6Jboj0I3bobf2g1/T0eP2L4qxqrEW26gWhJ4THI4ElVVLjYyBHg== + dependencies: + "@smithy/core" "^3.12.0" + "@smithy/middleware-endpoint" "^4.2.4" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-stream" "^4.3.2" + tslib "^2.6.2" + +"@smithy/smithy-client@^4.9.1": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.9.1.tgz#a36e456e837121b2ded6f7d5f1f30b205c446e20" + integrity sha512-Ngb95ryR5A9xqvQFT5mAmYkCwbXvoLavLFwmi7zVg/IowFPCfiqRfkOKnbc/ZRL8ZKJ4f+Tp6kSu6wjDQb8L/g== + dependencies: + "@smithy/core" "^3.17.1" + "@smithy/middleware-endpoint" "^4.3.5" + "@smithy/middleware-stack" "^4.2.3" + "@smithy/protocol-http" "^5.3.3" + "@smithy/types" "^4.8.0" + "@smithy/util-stream" "^4.5.4" + tslib "^2.6.2" + "@smithy/types@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-1.2.0.tgz#9dc65767b0ee3d6681704fcc67665d6fc9b6a34e" @@ -952,6 +2438,84 @@ dependencies: tslib "^2.6.2" +"@smithy/types@^4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.5.0.tgz#850e334662a1ef1286c35814940c80880400a370" + integrity sha512-RkUpIOsVlAwUIZXO1dsz8Zm+N72LClFfsNqf173catVlvRZiwPy0x2u0JLEA4byreOPKDZPGjmPDylMoP8ZJRg== + dependencies: + tslib "^2.6.2" + +"@smithy/types@^4.8.0": + version "4.8.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.8.0.tgz#e6f65e712478910b74747081e6046e68159f767d" + integrity sha512-QpELEHLO8SsQVtqP+MkEgCYTFW0pleGozfs3cZ183ZBj9z3VC1CX1/wtFMK64p+5bhtZo41SeLK1rBRtd25nHQ== + dependencies: + tslib "^2.6.2" + +"@smithy/url-parser@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.1.1.tgz#0e9a5e72b3cf9d7ab7305f9093af5528d9debaf6" + integrity sha512-bx32FUpkhcaKlEoOMbScvc93isaSiRM75pQ5IgIBaMkT7qMlIibpPRONyx/0CvrXHzJLpOn/u6YiDX2hcvs7Dg== + dependencies: + "@smithy/querystring-parser" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/url-parser@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.2.3.tgz#82508f273a3f074d47d0919f7ce08028c6575c2f" + integrity sha512-I066AigYvY3d9VlU3zG9XzZg1yT10aNqvCaBTw9EPgu5GrsEl1aUkcMvhkIXascYH1A8W0LQo3B1Kr1cJNcQEw== + dependencies: + "@smithy/querystring-parser" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/util-base64@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.1.0.tgz#5965026081d9aef4a8246f5702807570abe538b2" + integrity sha512-RUGd4wNb8GeW7xk+AY5ghGnIwM96V0l2uzvs/uVHf+tIuVX2WSvynk5CxNoBCsM2rQRSZElAo9rt3G5mJ/gktQ== + dependencies: + "@smithy/util-buffer-from" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/util-base64@^4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.3.0.tgz#5e287b528793aa7363877c1a02cd880d2e76241d" + integrity sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ== + dependencies: + "@smithy/util-buffer-from" "^4.2.0" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + +"@smithy/util-body-length-browser@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.1.0.tgz#636bdf4bc878c546627dab4b9b0e4db31b475be7" + integrity sha512-V2E2Iez+bo6bUMOTENPr6eEmepdY8Hbs+Uc1vkDKgKNA/brTJqOW/ai3JO1BGj9GbCeLqw90pbbH7HFQyFotGQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-body-length-browser@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.0.tgz#04e9fc51ee7a3e7f648a4b4bcdf96c350cfa4d61" + integrity sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg== + dependencies: + tslib "^2.6.2" + +"@smithy/util-body-length-node@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.1.0.tgz#646750e4af58f97254a5d5cfeaba7d992f0152ec" + integrity sha512-BOI5dYjheZdgR9XiEM3HJcEMCXSoqbzu7CzIgYrx0UtmvtC3tC2iDGpJLsSRFffUpy8ymsg2ARMP5fR8mtuUQQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-body-length-node@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.2.1.tgz#79c8a5d18e010cce6c42d5cbaf6c1958523e6fec" + integrity sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA== + dependencies: + tslib "^2.6.2" + "@smithy/util-buffer-from@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-1.1.0.tgz#a000bd9f95c0e8d5b0edb0112f2a586daa5bed49" @@ -976,6 +2540,101 @@ "@smithy/is-array-buffer" "^3.0.0" tslib "^2.6.2" +"@smithy/util-buffer-from@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.1.0.tgz#21f9e644a0eb41226d92e4eff763f76a7db7e9cc" + integrity sha512-N6yXcjfe/E+xKEccWEKzK6M+crMrlwaCepKja0pNnlSkm6SjAeLKKA++er5Ba0I17gvKfN/ThV+ZOx/CntKTVw== + dependencies: + "@smithy/is-array-buffer" "^4.1.0" + tslib "^2.6.2" + +"@smithy/util-buffer-from@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz#7abd12c4991b546e7cee24d1e8b4bfaa35c68a9d" + integrity sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew== + dependencies: + "@smithy/is-array-buffer" "^4.2.0" + tslib "^2.6.2" + +"@smithy/util-config-provider@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.1.0.tgz#6a07d73446c1e9a46d7a3c125f2a9301060bc957" + integrity sha512-swXz2vMjrP1ZusZWVTB/ai5gK+J8U0BWvP10v9fpcFvg+Xi/87LHvHfst2IgCs1i0v4qFZfGwCmeD/KNCdJZbQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-config-provider@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.2.0.tgz#2e4722937f8feda4dcb09672c59925a4e6286cfc" + integrity sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q== + dependencies: + tslib "^2.6.2" + +"@smithy/util-defaults-mode-browser@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.1.4.tgz#a967e994d4581682891f7252c7a42a2d6c1841e4" + integrity sha512-mLDJ1s4eA3vwOGaQOEPlg5LB4LdZUUMpB5UMOMofeGhWqiS7WR7dTpLiNi9zVn+YziKUd3Af5NLfxDs7NJqmIw== + dependencies: + "@smithy/property-provider" "^4.1.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + bowser "^2.11.0" + tslib "^2.6.2" + +"@smithy/util-defaults-mode-browser@^4.3.4": + version "4.3.4" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.4.tgz#ed96651c32ac0de55b066fcb07a296837373212f" + integrity sha512-qI5PJSW52rnutos8Bln8nwQZRpyoSRN6k2ajyoUHNMUzmWqHnOJCnDELJuV6m5PML0VkHI+XcXzdB+6awiqYUw== + dependencies: + "@smithy/property-provider" "^4.2.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/util-defaults-mode-node@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.1.4.tgz#ce6b88431db4c5b42933904fd0051c91415c41ab" + integrity sha512-pjX2iMTcOASaSanAd7bu6i3fcMMezr3NTr8Rh64etB0uHRZi+Aw86DoCxPESjY4UTIuA06hhqtTtw95o//imYA== + dependencies: + "@smithy/config-resolver" "^4.2.2" + "@smithy/credential-provider-imds" "^4.1.2" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-defaults-mode-node@^4.2.6": + version "4.2.6" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.6.tgz#01b7ff4605f6f981972083fee22d036e5dc4be38" + integrity sha512-c6M/ceBTm31YdcFpgfgQAJaw3KbaLuRKnAz91iMWFLSrgxRpYm03c3bu5cpYojNMfkV9arCUelelKA7XQT36SQ== + dependencies: + "@smithy/config-resolver" "^4.4.0" + "@smithy/credential-provider-imds" "^4.2.3" + "@smithy/node-config-provider" "^4.3.3" + "@smithy/property-provider" "^4.2.3" + "@smithy/smithy-client" "^4.9.1" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/util-endpoints@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.1.2.tgz#be4005c8616923d453347048ef26a439267b2782" + integrity sha512-+AJsaaEGb5ySvf1SKMRrPZdYHRYSzMkCoK16jWnIMpREAnflVspMIDeCVSZJuj+5muZfgGpNpijE3mUNtjv01Q== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-endpoints@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.2.3.tgz#8bbb80f1ad5769d9f73992c5979eea3b74d7baa9" + integrity sha512-aCfxUOVv0CzBIkU10TubdgKSx5uRvzH064kaiPEWfNIvKOtNpu642P4FP1hgOFkjQIkDObrfIDnKMKkeyrejvQ== + dependencies: + "@smithy/node-config-provider" "^4.3.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + "@smithy/util-hex-encoding@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz#87edb7c88c2f422cfca4bb21f1394ae9602c5085" @@ -990,6 +2649,20 @@ dependencies: tslib "^2.6.2" +"@smithy/util-hex-encoding@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.1.0.tgz#9b27cf0c25d0de2c8ebfe75cc20df84e5014ccc9" + integrity sha512-1LcueNN5GYC4tr8mo14yVYbh/Ur8jHhWOxniZXii+1+ePiIbsLZ5fEI0QQGtbRRP5mOhmooos+rLmVASGGoq5w== + dependencies: + tslib "^2.6.2" + +"@smithy/util-hex-encoding@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.0.tgz#1c22ea3d1e2c3a81ff81c0a4f9c056a175068a7b" + integrity sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw== + dependencies: + tslib "^2.6.2" + "@smithy/util-middleware@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.2.0.tgz#80cfad40f6cca9ffe42a5899b5cb6abd53a50006" @@ -1006,6 +2679,68 @@ "@smithy/types" "^3.7.2" tslib "^2.6.2" +"@smithy/util-middleware@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.1.1.tgz#e19749a127499c9bdada713a8afd807d92d846e2" + integrity sha512-CGmZ72mL29VMfESz7S6dekqzCh8ZISj3B+w0g1hZFXaOjGTVaSqfAEFAq8EGp8fUL+Q2l8aqNmt8U1tglTikeg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-middleware@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.2.3.tgz#7c73416a6e3d3207a2d34a1eadd9f2b6a9811bd6" + integrity sha512-v5ObKlSe8PWUHCqEiX2fy1gNv6goiw6E5I/PN2aXg3Fb/hse0xeaAnSpXDiWl7x6LamVKq7senB+m5LOYHUAHw== + dependencies: + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/util-retry@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.1.2.tgz#8d28c27cf69643e173c75cc18ff0186deb7cefed" + integrity sha512-NCgr1d0/EdeP6U5PSZ9Uv5SMR5XRRYoVr1kRVtKZxWL3tixEL3UatrPIMFZSKwHlCcp2zPLDvMubVDULRqeunA== + dependencies: + "@smithy/service-error-classification" "^4.1.2" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-retry@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.2.3.tgz#b1e5c96d96aaf971b68323ff8ba8754f914f22a0" + integrity sha512-lLPWnakjC0q9z+OtiXk+9RPQiYPNAovt2IXD3CP4LkOnd9NpUsxOjMx1SnoUVB7Orb7fZp67cQMtTBKMFDvOGg== + dependencies: + "@smithy/service-error-classification" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/util-stream@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.3.2.tgz#7ce40c266b1e828d73c27e545959cda4f42fd61f" + integrity sha512-Ka+FA2UCC/Q1dEqUanCdpqwxOFdf5Dg2VXtPtB1qxLcSGh5C1HdzklIt18xL504Wiy9nNUKwDMRTVCbKGoK69g== + dependencies: + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-buffer-from" "^4.1.0" + "@smithy/util-hex-encoding" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/util-stream@^4.5.4": + version "4.5.4" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.5.4.tgz#bfc60e2714c2065b8e7e91ca921cc31c73efdbd4" + integrity sha512-+qDxSkiErejw1BAIXUFBSfM5xh3arbz1MmxlbMCKanDDZtVEQ7PSKW9FQS0Vud1eI/kYn0oCTVKyNzRlq+9MUw== + dependencies: + "@smithy/fetch-http-handler" "^5.3.4" + "@smithy/node-http-handler" "^4.4.3" + "@smithy/types" "^4.8.0" + "@smithy/util-base64" "^4.3.0" + "@smithy/util-buffer-from" "^4.2.0" + "@smithy/util-hex-encoding" "^4.2.0" + "@smithy/util-utf8" "^4.2.0" + tslib "^2.6.2" + "@smithy/util-uri-escape@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.2.0.tgz#56f5764051a33b67bc93fdd2a869f971b0635406" @@ -1020,6 +2755,20 @@ dependencies: tslib "^2.6.2" +"@smithy/util-uri-escape@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.1.0.tgz#ed4a5c498f1da07122ca1e3df4ca3e2c67c6c18a" + integrity sha512-b0EFQkq35K5NHUYxU72JuoheM6+pytEVUGlTwiFxWFpmddA+Bpz3LgsPRIpBk8lnPE47yT7AF2Egc3jVnKLuPg== + dependencies: + tslib "^2.6.2" + +"@smithy/util-uri-escape@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.2.0.tgz#096a4cec537d108ac24a68a9c60bee73fc7e3a9e" + integrity sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA== + dependencies: + tslib "^2.6.2" + "@smithy/util-utf8@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-1.1.0.tgz#b791ab1e3f694374edfe22811e39dd8424a1be69" @@ -1044,6 +2793,45 @@ "@smithy/util-buffer-from" "^3.0.0" tslib "^2.6.2" +"@smithy/util-utf8@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.1.0.tgz#912c33c1a06913f39daa53da79cb8f7ab740d97b" + integrity sha512-mEu1/UIXAdNYuBcyEPbjScKi/+MQVXNIuY/7Cm5XLIWe319kDrT5SizBE95jqtmEXoDbGoZxKLCMttdZdqTZKQ== + dependencies: + "@smithy/util-buffer-from" "^4.1.0" + tslib "^2.6.2" + +"@smithy/util-utf8@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.2.0.tgz#8b19d1514f621c44a3a68151f3d43e51087fed9d" + integrity sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw== + dependencies: + "@smithy/util-buffer-from" "^4.2.0" + tslib "^2.6.2" + +"@smithy/util-waiter@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-4.2.3.tgz#4c662009db101bc60aed07815d359e90904caef2" + integrity sha512-5+nU///E5sAdD7t3hs4uwvCTWQtTR8JwKwOCSJtBRx0bY1isDo1QwH87vRK86vlFLBTISqoDA2V6xvP6nF1isQ== + dependencies: + "@smithy/abort-controller" "^4.2.3" + "@smithy/types" "^4.8.0" + tslib "^2.6.2" + +"@smithy/uuid@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.0.0.tgz#a0fd3aa879d57e2f2fd6a7308deee864a412e1cf" + integrity sha512-OlA/yZHh0ekYFnbUkmYBDQPE6fGfdrvgz39ktp8Xf+FA6BfxLejPTMDOG0Nfk5/rDySAz1dRbFf24zaAFYVXlQ== + dependencies: + tslib "^2.6.2" + +"@smithy/uuid@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.1.0.tgz#9fd09d3f91375eab94f478858123387df1cda987" + integrity sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw== + dependencies: + tslib "^2.6.2" + "@socket.io/component-emitter@~3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" @@ -1580,7 +3368,7 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -aws-sdk@^2.1005.0, aws-sdk@^2.1691.0, aws-sdk@^2.1692.0: +aws-sdk@^2.1005.0, aws-sdk@^2.1691.0: version "2.1692.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1692.0.tgz#9dac5f7bfcc5ab45825cc8591b12753aa7d2902c" integrity sha512-x511uiJ/57FIsbgUe5csJ13k3uzu25uWQE+XqfBis/sB0SFoiElJWXRkgEAUh0U6n40eT3ay5Ue4oPkRMu1LYw== @@ -1704,6 +3492,11 @@ body-parser@1.20.3, body-parser@^1.18.3, body-parser@^1.20.3: type-is "~1.6.18" unpipe "1.0.0" +bowser@^2.11.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.12.1.tgz#f9ad78d7aebc472feb63dd9635e3ce2337e0e2c1" + integrity sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2988,6 +4781,13 @@ fast-safe-stringify@^2.1.1: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fast-xml-parser@5.2.5: + version "5.2.5" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz#4809fdfb1310494e341098c25cb1341a01a9144a" + integrity sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ== + dependencies: + strnum "^2.1.0" + fast-xml-parser@^5.0.7: version "5.0.9" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.0.9.tgz#5b64c810e70941a9c07b07ead8299841fbb8dd76" @@ -6645,6 +8445,11 @@ strnum@^2.0.5: resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.0.5.tgz#40700b1b5bf956acdc755e98e90005d7657aaaea" integrity sha512-YAT3K/sgpCUxhxNMrrdhtod3jckkpYwH6JAuwmUdXZsmzH1wUyzTMrrK2wYCEEqlKwrWDd35NeuUkbBy/1iK+Q== +strnum@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.1.1.tgz#cf2a6e0cf903728b8b2c4b971b7e36b4e82d46ab" + integrity sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw== + supports-color@^3.1.0: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"