@aws/amazon-location-utilities-auth-helper 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,456 @@
1
+ (function(global,factory){if(typeof define==="function"&&define.amd){define("amazonLocationAuthHelper",["exports"],factory)}else if(typeof exports!=="undefined"){factory(exports)}else{var mod={exports:{}};factory(mod.exports);global.amazonLocationAuthHelper=mod.exports}})(typeof globalThis!=="undefined"?globalThis:typeof self!=="undefined"?self:this,function(_exports){"use strict";Object.defineProperty(_exports,"__esModule",{value:true});_exports.withAPIKey=withAPIKey;_exports.withIdentityPoolId=withIdentityPoolId;// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // Third party license at https://github.com/aws-geospatial/amazon-location-utilities-auth-helper-js/blob/main/LICENSE-THIRD-PARTY.txt
4
+ var SelectorType;(function(SelectorType){SelectorType["ENV"]="env";SelectorType["CONFIG"]="shared config entry"})(SelectorType||(SelectorType={}));const DEFAULT_USE_DUALSTACK_ENDPOINT=false;const DEFAULT_USE_FIPS_ENDPOINT=false;const normalizeProvider=input=>{if(typeof input==="function")return input;const promisified=Promise.resolve(input);return()=>promisified};const isFipsRegion=region=>typeof region==="string"&&(region.startsWith("fips-")||region.endsWith("-fips"));const getRealRegion=region=>isFipsRegion(region)?["fips-aws-global","aws-fips"].includes(region)?"us-east-1":region.replace(/fips-(dkr-|prod-)?|-fips/,""):region;const resolveRegionConfig=input=>{const{region,useFipsEndpoint}=input;if(!region){throw new Error("Region is missing")}return{...input,region:async()=>{if(typeof region==="string"){return getRealRegion(region)}const providedRegion=await region();return getRealRegion(providedRegion)},useFipsEndpoint:async()=>{const providedRegion=typeof region==="string"?region:await region();if(isFipsRegion(providedRegion)){return true}return typeof useFipsEndpoint!=="function"?Promise.resolve(!!useFipsEndpoint):useFipsEndpoint()}}};var FieldPosition$1;(function(FieldPosition){FieldPosition[FieldPosition["HEADER"]=0]="HEADER";FieldPosition[FieldPosition["TRAILER"]=1]="TRAILER"})(FieldPosition$1||(FieldPosition$1={}));let HttpRequest$1=class HttpRequest{constructor(options){this.method=options.method||"GET";this.hostname=options.hostname||"localhost";this.port=options.port;this.query=options.query||{};this.headers=options.headers||{};this.body=options.body;this.protocol=options.protocol?options.protocol.slice(-1)!==":"?"".concat(options.protocol,":"):options.protocol:"https:";this.path=options.path?options.path.charAt(0)!=="/"?"/".concat(options.path):options.path:"/";this.username=options.username;this.password=options.password;this.fragment=options.fragment}static isInstance(request){if(!request)return false;const req=request;return"method"in req&&"protocol"in req&&"hostname"in req&&"path"in req&&typeof req["query"]==="object"&&typeof req["headers"]==="object"}clone(){const cloned=new HttpRequest({...this,headers:{...this.headers}});if(cloned.query)cloned.query=cloneQuery$2(cloned.query);return cloned}};function cloneQuery$2(query){return Object.keys(query).reduce((carry,paramName)=>{const param=query[paramName];return{...carry,[paramName]:Array.isArray(param)?[...param]:param}},{})}class HttpResponse{constructor(options){this.statusCode=options.statusCode;this.reason=options.reason;this.headers=options.headers||{};this.body=options.body}static isInstance(response){if(!response)return false;const resp=response;return typeof resp.statusCode==="number"&&typeof resp.headers==="object"}}const CONTENT_LENGTH_HEADER="content-length";function contentLengthMiddleware(bodyLengthChecker){return next=>async args=>{const request=args.request;if(HttpRequest$1.isInstance(request)){const{body,headers}=request;if(body&&Object.keys(headers).map(str=>str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER)===-1){try{const length=bodyLengthChecker(body);request.headers={...request.headers,[CONTENT_LENGTH_HEADER]:String(length)}}catch(error){}}}return next({...args,request})}}const contentLengthMiddlewareOptions={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:true};const getContentLengthPlugin=options=>({applyToStack:clientStack=>{clientStack.add(contentLengthMiddleware(options.bodyLengthChecker),contentLengthMiddlewareOptions)}});const resolveParamsForS3=async endpointParams=>{const bucket=(endpointParams===null||endpointParams===void 0?void 0:endpointParams.Bucket)||"";if(typeof endpointParams.Bucket==="string"){endpointParams.Bucket=bucket.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))}if(isArnBucketName(bucket)){if(endpointParams.ForcePathStyle===true){throw new Error("Path-style addressing cannot be used with ARN buckets")}}else if(!isDnsCompatibleBucketName(bucket)||bucket.indexOf(".")!==-1&&!String(endpointParams.Endpoint).startsWith("http:")||bucket.toLowerCase()!==bucket||bucket.length<3){endpointParams.ForcePathStyle=true}if(endpointParams.DisableMultiRegionAccessPoints){endpointParams.disableMultiRegionAccessPoints=true;endpointParams.DisableMRAP=true}return endpointParams};const DOMAIN_PATTERN=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;const IP_ADDRESS_PATTERN=/(\d+\.){3}\d+/;const DOTS_PATTERN=/\.\./;const isDnsCompatibleBucketName=bucketName=>DOMAIN_PATTERN.test(bucketName)&&!IP_ADDRESS_PATTERN.test(bucketName)&&!DOTS_PATTERN.test(bucketName);const isArnBucketName=bucketName=>{const[arn,partition,service,region,account,typeOrId]=bucketName.split(":");const isArn=arn==="arn"&&bucketName.split(":").length>=6;const isValidArn=[arn,partition,service,account,typeOrId].filter(Boolean).length===5;if(isArn&&!isValidArn){throw new Error("Invalid ARN: ".concat(bucketName," was an invalid ARN."))}return arn==="arn"&&!!partition&&!!service&&!!account&&!!typeOrId};const createConfigValueProvider=(configKey,canonicalEndpointParamKey,config)=>{const configProvider=async()=>{var _config$configKey;const configValue=(_config$configKey=config[configKey])!==null&&_config$configKey!==void 0?_config$configKey:config[canonicalEndpointParamKey];if(typeof configValue==="function"){return configValue()}return configValue};if(configKey==="endpoint"||canonicalEndpointParamKey==="endpoint"){return async()=>{const endpoint=await configProvider();if(endpoint&&typeof endpoint==="object"){if("url"in endpoint){return endpoint.url.href}if("hostname"in endpoint){const{protocol,hostname,port,path}=endpoint;return"".concat(protocol,"//").concat(hostname).concat(port?":"+port:"").concat(path)}}return endpoint}}return configProvider};const getEndpointFromInstructions=async(commandInput,instructionsSupplier,clientConfig,context)=>{const endpointParams=await resolveParams(commandInput,instructionsSupplier,clientConfig);if(typeof clientConfig.endpointProvider!=="function"){throw new Error("config.endpointProvider is not set.")}const endpoint=clientConfig.endpointProvider(endpointParams,context);return endpoint};const resolveParams=async(commandInput,instructionsSupplier,clientConfig)=>{var _instructionsSupplier;const endpointParams={};const instructions=(instructionsSupplier===null||instructionsSupplier===void 0?void 0:(_instructionsSupplier=instructionsSupplier.getEndpointParameterInstructions)===null||_instructionsSupplier===void 0?void 0:_instructionsSupplier.call(instructionsSupplier))||{};for(const[name,instruction]of Object.entries(instructions)){switch(instruction.type){case"staticContextParams":endpointParams[name]=instruction.value;break;case"contextParams":endpointParams[name]=commandInput[instruction.name];break;case"clientContextParams":case"builtInParams":endpointParams[name]=await createConfigValueProvider(instruction.name,name,clientConfig)();break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(instruction))}}if(Object.keys(instructions).length===0){Object.assign(endpointParams,clientConfig)}if(String(clientConfig.serviceId).toLowerCase()==="s3"){await resolveParamsForS3(endpointParams)}return endpointParams};function parseQueryString(querystring){const query={};querystring=querystring.replace(/^\?/,"");if(querystring){for(const pair of querystring.split("&")){let[key,value=null]=pair.split("=");key=decodeURIComponent(key);if(value){value=decodeURIComponent(value)}if(!(key in query)){query[key]=value}else if(Array.isArray(query[key])){query[key].push(value)}else{query[key]=[query[key],value]}}}return query}const parseUrl=url=>{if(typeof url==="string"){return parseUrl(new URL(url))}const{hostname,pathname,port,protocol,search}=url;let query;if(search){query=parseQueryString(search)}return{hostname,port:port?parseInt(port):undefined,protocol,path:pathname,query}};const toEndpointV1=endpoint=>{if(typeof endpoint==="object"){if("url"in endpoint){return parseUrl(endpoint.url)}return endpoint}return parseUrl(endpoint)};const endpointMiddleware=_ref=>{let{config,instructions}=_ref;return(next,context)=>async args=>{var _endpoint$properties,_context$authSchemes;const endpoint=await getEndpointFromInstructions(args.input,{getEndpointParameterInstructions(){return instructions}},{...config},context);context.endpointV2=endpoint;context.authSchemes=(_endpoint$properties=endpoint.properties)===null||_endpoint$properties===void 0?void 0:_endpoint$properties.authSchemes;const authScheme=(_context$authSchemes=context.authSchemes)===null||_context$authSchemes===void 0?void 0:_context$authSchemes[0];if(authScheme){context["signing_region"]=authScheme.signingRegion;context["signing_service"]=authScheme.signingName}return next({...args})}};const deserializerMiddleware=(options,deserializer)=>(next,context)=>async args=>{const{response}=await next(args);try{const parsed=await deserializer(response,options);return{response,output:parsed}}catch(error){Object.defineProperty(error,"$response",{value:response});if(!("$metadata"in error)){const hint="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";error.message+="\n "+hint}throw error}};const serializerMiddleware=(options,serializer)=>(next,context)=>async args=>{var _context$endpointV;const endpoint=(_context$endpointV=context.endpointV2)!==null&&_context$endpointV!==void 0&&_context$endpointV.url&&options.urlParser?async()=>options.urlParser(context.endpointV2.url):options.endpoint;if(!endpoint){throw new Error("No valid endpoint provider available.")}const request=await serializer(args.input,{...options,endpoint});return next({...args,request})};const deserializerMiddlewareOption={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:true};const serializerMiddlewareOption={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:true};function getSerdePlugin(config,serializer,deserializer){return{applyToStack:commandStack=>{commandStack.add(deserializerMiddleware(config,deserializer),deserializerMiddlewareOption);commandStack.add(serializerMiddleware(config,serializer),serializerMiddlewareOption)}}}const endpointMiddlewareOptions={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:true,relation:"before",toMiddleware:serializerMiddlewareOption.name};const getEndpointPlugin=(config,instructions)=>({applyToStack:clientStack=>{clientStack.addRelativeTo(endpointMiddleware({config,instructions}),endpointMiddlewareOptions)}});const resolveEndpointConfig=input=>{var _input$tls,_input$useDualstackEn,_input$useFipsEndpoin;const tls=(_input$tls=input.tls)!==null&&_input$tls!==void 0?_input$tls:true;const{endpoint}=input;const customEndpointProvider=endpoint!=null?async()=>toEndpointV1(await normalizeProvider(endpoint)()):undefined;const isCustomEndpoint=!!endpoint;return{...input,endpoint:customEndpointProvider,tls,isCustomEndpoint,useDualstackEndpoint:normalizeProvider((_input$useDualstackEn=input.useDualstackEndpoint)!==null&&_input$useDualstackEn!==void 0?_input$useDualstackEn:false),useFipsEndpoint:normalizeProvider((_input$useFipsEndpoin=input.useFipsEndpoint)!==null&&_input$useFipsEndpoin!==void 0?_input$useFipsEndpoin:false)}};function resolveHostHeaderConfig(input){return input}const hostHeaderMiddleware=options=>next=>async args=>{if(!HttpRequest$1.isInstance(args.request))return next(args);const{request}=args;const{handlerProtocol=""}=options.requestHandler.metadata||{};if(handlerProtocol.indexOf("h2")>=0&&!request.headers[":authority"]){delete request.headers["host"];request.headers[":authority"]=""}else if(!request.headers["host"]){let host=request.hostname;if(request.port!=null)host+=":".concat(request.port);request.headers["host"]=host}return next(args)};const hostHeaderMiddlewareOptions={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:true};const getHostHeaderPlugin=options=>({applyToStack:clientStack=>{clientStack.add(hostHeaderMiddleware(options),hostHeaderMiddlewareOptions)}});const loggerMiddleware=()=>(next,context)=>async args=>{try{var _logger$info;const response=await next(args);const{clientName,commandName,logger,dynamoDbDocumentClientOptions={}}=context;const{overrideInputFilterSensitiveLog,overrideOutputFilterSensitiveLog}=dynamoDbDocumentClientOptions;const inputFilterSensitiveLog=overrideInputFilterSensitiveLog!==null&&overrideInputFilterSensitiveLog!==void 0?overrideInputFilterSensitiveLog:context.inputFilterSensitiveLog;const outputFilterSensitiveLog=overrideOutputFilterSensitiveLog!==null&&overrideOutputFilterSensitiveLog!==void 0?overrideOutputFilterSensitiveLog:context.outputFilterSensitiveLog;const{$metadata,...outputWithoutMetadata}=response.output;logger===null||logger===void 0?void 0:(_logger$info=logger.info)===null||_logger$info===void 0?void 0:_logger$info.call(logger,{clientName,commandName,input:inputFilterSensitiveLog(args.input),output:outputFilterSensitiveLog(outputWithoutMetadata),metadata:$metadata});return response}catch(error){var _logger$error;const{clientName,commandName,logger,dynamoDbDocumentClientOptions={}}=context;const{overrideInputFilterSensitiveLog}=dynamoDbDocumentClientOptions;const inputFilterSensitiveLog=overrideInputFilterSensitiveLog!==null&&overrideInputFilterSensitiveLog!==void 0?overrideInputFilterSensitiveLog:context.inputFilterSensitiveLog;logger===null||logger===void 0?void 0:(_logger$error=logger.error)===null||_logger$error===void 0?void 0:_logger$error.call(logger,{clientName,commandName,input:inputFilterSensitiveLog(args.input),error,metadata:error.$metadata});throw error}};const loggerMiddlewareOptions={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:true};const getLoggerPlugin=options=>({applyToStack:clientStack=>{clientStack.add(loggerMiddleware(),loggerMiddlewareOptions)}});const TRACE_ID_HEADER_NAME="X-Amzn-Trace-Id";const ENV_LAMBDA_FUNCTION_NAME="AWS_LAMBDA_FUNCTION_NAME";const ENV_TRACE_ID="_X_AMZN_TRACE_ID";const recursionDetectionMiddleware=options=>next=>async args=>{const{request}=args;if(!HttpRequest$1.isInstance(request)||options.runtime!=="node"||request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)){return next(args)}const functionName=process.env[ENV_LAMBDA_FUNCTION_NAME];const traceId=process.env[ENV_TRACE_ID];const nonEmptyString=str=>typeof str==="string"&&str.length>0;if(nonEmptyString(functionName)&&nonEmptyString(traceId)){request.headers[TRACE_ID_HEADER_NAME]=traceId}return next({...args,request})};const addRecursionDetectionMiddlewareOptions={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:true,priority:"low"};const getRecursionDetectionPlugin=options=>({applyToStack:clientStack=>{clientStack.add(recursionDetectionMiddleware(options),addRecursionDetectionMiddlewareOptions)}});var RETRY_MODES;(function(RETRY_MODES){RETRY_MODES["STANDARD"]="standard";RETRY_MODES["ADAPTIVE"]="adaptive"})(RETRY_MODES||(RETRY_MODES={}));const DEFAULT_MAX_ATTEMPTS=3;const DEFAULT_RETRY_MODE=RETRY_MODES.STANDARD;const THROTTLING_ERROR_CODES=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"];const TRANSIENT_ERROR_CODES=["AbortError","TimeoutError","RequestTimeout","RequestTimeoutException"];const TRANSIENT_ERROR_STATUS_CODES=[500,502,503,504];const NODEJS_TIMEOUT_ERROR_CODES=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"];const isThrottlingError=error=>{var _error$$metadata,_error$$retryable;return((_error$$metadata=error.$metadata)===null||_error$$metadata===void 0?void 0:_error$$metadata.httpStatusCode)===429||THROTTLING_ERROR_CODES.includes(error.name)||((_error$$retryable=error.$retryable)===null||_error$$retryable===void 0?void 0:_error$$retryable.throttling)==true};const isTransientError=error=>{var _error$$metadata2;return TRANSIENT_ERROR_CODES.includes(error.name)||NODEJS_TIMEOUT_ERROR_CODES.includes((error===null||error===void 0?void 0:error.code)||"")||TRANSIENT_ERROR_STATUS_CODES.includes(((_error$$metadata2=error.$metadata)===null||_error$$metadata2===void 0?void 0:_error$$metadata2.httpStatusCode)||0)};const isServerError=error=>{var _error$$metadata3;if(((_error$$metadata3=error.$metadata)===null||_error$$metadata3===void 0?void 0:_error$$metadata3.httpStatusCode)!==undefined){const statusCode=error.$metadata.httpStatusCode;if(500<=statusCode&&statusCode<=599&&!isTransientError(error)){return true}return false}return false};class DefaultRateLimiter{constructor(options){var _options$beta,_options$minCapacity,_options$minFillRate,_options$scaleConstan,_options$smooth;this.currentCapacity=0;this.enabled=false;this.lastMaxRate=0;this.measuredTxRate=0;this.requestCount=0;this.lastTimestamp=0;this.timeWindow=0;this.beta=(_options$beta=options===null||options===void 0?void 0:options.beta)!==null&&_options$beta!==void 0?_options$beta:0.7;this.minCapacity=(_options$minCapacity=options===null||options===void 0?void 0:options.minCapacity)!==null&&_options$minCapacity!==void 0?_options$minCapacity:1;this.minFillRate=(_options$minFillRate=options===null||options===void 0?void 0:options.minFillRate)!==null&&_options$minFillRate!==void 0?_options$minFillRate:0.5;this.scaleConstant=(_options$scaleConstan=options===null||options===void 0?void 0:options.scaleConstant)!==null&&_options$scaleConstan!==void 0?_options$scaleConstan:0.4;this.smooth=(_options$smooth=options===null||options===void 0?void 0:options.smooth)!==null&&_options$smooth!==void 0?_options$smooth:0.8;const currentTimeInSeconds=this.getCurrentTimeInSeconds();this.lastThrottleTime=currentTimeInSeconds;this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds());this.fillRate=this.minFillRate;this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1000}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(amount){if(!this.enabled){return}this.refillTokenBucket();if(amount>this.currentCapacity){const delay=(amount-this.currentCapacity)/this.fillRate*1000;await new Promise(resolve=>setTimeout(resolve,delay))}this.currentCapacity=this.currentCapacity-amount}refillTokenBucket(){const timestamp=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=timestamp;return}const fillAmount=(timestamp-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+fillAmount);this.lastTimestamp=timestamp}updateClientSendingRate(response){let calculatedRate;this.updateMeasuredRate();if(isThrottlingError(response)){const rateToUse=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=rateToUse;this.calculateTimeWindow();this.lastThrottleTime=this.getCurrentTimeInSeconds();calculatedRate=this.cubicThrottle(rateToUse);this.enableTokenBucket()}else{this.calculateTimeWindow();calculatedRate=this.cubicSuccess(this.getCurrentTimeInSeconds())}const newRate=Math.min(calculatedRate,2*this.measuredTxRate);this.updateTokenBucketRate(newRate)}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(rateToUse){return this.getPrecise(rateToUse*this.beta)}cubicSuccess(timestamp){return this.getPrecise(this.scaleConstant*Math.pow(timestamp-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=true}updateTokenBucketRate(newRate){this.refillTokenBucket();this.fillRate=Math.max(newRate,this.minFillRate);this.maxCapacity=Math.max(newRate,this.minCapacity);this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){const t=this.getCurrentTimeInSeconds();const timeBucket=Math.floor(t*2)/2;this.requestCount++;if(timeBucket>this.lastTxRateBucket){const currentRate=this.requestCount/(timeBucket-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(currentRate*this.smooth+this.measuredTxRate*(1-this.smooth));this.requestCount=0;this.lastTxRateBucket=timeBucket}}getPrecise(num){return parseFloat(num.toFixed(8))}}const DEFAULT_RETRY_DELAY_BASE=100;const MAXIMUM_RETRY_DELAY=20*1000;const THROTTLING_RETRY_DELAY_BASE=500;const INITIAL_RETRY_TOKENS=500;const RETRY_COST=5;const TIMEOUT_RETRY_COST=10;const NO_RETRY_INCREMENT=1;const INVOCATION_ID_HEADER="amz-sdk-invocation-id";const REQUEST_HEADER="amz-sdk-request";const getDefaultRetryBackoffStrategy=()=>{let delayBase=DEFAULT_RETRY_DELAY_BASE;const computeNextBackoffDelay=attempts=>{return Math.floor(Math.min(MAXIMUM_RETRY_DELAY,Math.random()*2**attempts*delayBase))};const setDelayBase=delay=>{delayBase=delay};return{computeNextBackoffDelay,setDelayBase}};const createDefaultRetryToken=_ref2=>{let{retryDelay,retryCount,retryCost}=_ref2;const getRetryCount=()=>retryCount;const getRetryDelay=()=>Math.min(MAXIMUM_RETRY_DELAY,retryDelay);const getRetryCost=()=>retryCost;return{getRetryCount,getRetryDelay,getRetryCost}};class StandardRetryStrategy{constructor(maxAttempts){this.maxAttempts=maxAttempts;this.mode=RETRY_MODES.STANDARD;this.capacity=INITIAL_RETRY_TOKENS;this.retryBackoffStrategy=getDefaultRetryBackoffStrategy();this.maxAttemptsProvider=typeof maxAttempts==="function"?maxAttempts:async()=>maxAttempts}async acquireInitialRetryToken(retryTokenScope){return createDefaultRetryToken({retryDelay:DEFAULT_RETRY_DELAY_BASE,retryCount:0})}async refreshRetryTokenForRetry(token,errorInfo){const maxAttempts=await this.getMaxAttempts();if(this.shouldRetry(token,errorInfo,maxAttempts)){const errorType=errorInfo.errorType;this.retryBackoffStrategy.setDelayBase(errorType==="THROTTLING"?THROTTLING_RETRY_DELAY_BASE:DEFAULT_RETRY_DELAY_BASE);const delayFromErrorType=this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());const retryDelay=errorInfo.retryAfterHint?Math.max(errorInfo.retryAfterHint.getTime()-Date.now()||0,delayFromErrorType):delayFromErrorType;const capacityCost=this.getCapacityCost(errorType);this.capacity-=capacityCost;return createDefaultRetryToken({retryDelay,retryCount:token.getRetryCount()+1,retryCost:capacityCost})}throw new Error("No retry token available")}recordSuccess(token){var _token$getRetryCost;this.capacity=Math.max(INITIAL_RETRY_TOKENS,this.capacity+((_token$getRetryCost=token.getRetryCost())!==null&&_token$getRetryCost!==void 0?_token$getRetryCost:NO_RETRY_INCREMENT))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(error){console.warn("Max attempts provider could not resolve. Using default of ".concat(DEFAULT_MAX_ATTEMPTS));return DEFAULT_MAX_ATTEMPTS}}shouldRetry(tokenToRenew,errorInfo,maxAttempts){const attempts=tokenToRenew.getRetryCount();return attempts<maxAttempts&&this.capacity>=this.getCapacityCost(errorInfo.errorType)&&this.isRetryableError(errorInfo.errorType)}getCapacityCost(errorType){return errorType==="TRANSIENT"?TIMEOUT_RETRY_COST:RETRY_COST}isRetryableError(errorType){return errorType==="THROTTLING"||errorType==="TRANSIENT"}}class AdaptiveRetryStrategy{constructor(maxAttemptsProvider,options){this.maxAttemptsProvider=maxAttemptsProvider;this.mode=RETRY_MODES.ADAPTIVE;const{rateLimiter}=options!==null&&options!==void 0?options:{};this.rateLimiter=rateLimiter!==null&&rateLimiter!==void 0?rateLimiter:new DefaultRateLimiter;this.standardRetryStrategy=new StandardRetryStrategy(maxAttemptsProvider)}async acquireInitialRetryToken(retryTokenScope){await this.rateLimiter.getSendToken();return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope)}async refreshRetryTokenForRetry(tokenToRenew,errorInfo){this.rateLimiter.updateClientSendingRate(errorInfo);return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew,errorInfo)}recordSuccess(token){this.rateLimiter.updateClientSendingRate({});this.standardRetryStrategy.recordSuccess(token)}}// Unique ID creation requires a high quality random # generator. In the browser we therefore
5
+ // require the crypto API and do not support built-in fallback to lower quality random number
6
+ // generators (like Math.random()).
7
+ var getRandomValues;var rnds8=new Uint8Array(16);function rng(){// lazy load so that environments that need to polyfill have a chance to do so
8
+ if(!getRandomValues){// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
9
+ // find the complete implementation of crypto (msCrypto) on IE11.
10
+ getRandomValues=typeof crypto!=="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!=="undefined"&&typeof msCrypto.getRandomValues==="function"&&msCrypto.getRandomValues.bind(msCrypto);if(!getRandomValues){throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}}return getRandomValues(rnds8)}var REGEX=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function validate(uuid){return typeof uuid==="string"&&REGEX.test(uuid)}/**
11
+ * Convert array of 16 byte values to UUID string format of the form:
12
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
13
+ */var byteToHex=[];for(var i$2=0;i$2<256;++i$2){byteToHex.push((i$2+256).toString(16).substr(1))}function stringify(arr){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;// Note: Be careful editing this code! It's been tuned for performance
14
+ // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
15
+ var uuid=(byteToHex[arr[offset+0]]+byteToHex[arr[offset+1]]+byteToHex[arr[offset+2]]+byteToHex[arr[offset+3]]+"-"+byteToHex[arr[offset+4]]+byteToHex[arr[offset+5]]+"-"+byteToHex[arr[offset+6]]+byteToHex[arr[offset+7]]+"-"+byteToHex[arr[offset+8]]+byteToHex[arr[offset+9]]+"-"+byteToHex[arr[offset+10]]+byteToHex[arr[offset+11]]+byteToHex[arr[offset+12]]+byteToHex[arr[offset+13]]+byteToHex[arr[offset+14]]+byteToHex[arr[offset+15]]).toLowerCase();// Consistency check for valid UUID. If this throws, it's likely due to one
16
+ // of the following:
17
+ // - One or more input array values don't map to a hex octet (leading to
18
+ // "undefined" in the uuid)
19
+ // - Invalid input values for the RFC `version` or `variant` fields
20
+ if(!validate(uuid)){throw TypeError("Stringified UUID is invalid")}return uuid}function v4(options,buf,offset){options=options||{};var rnds=options.random||(options.rng||rng)();// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
21
+ rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;// Copy bytes to buffer, if provided
22
+ if(buf){offset=offset||0;for(var i=0;i<16;++i){buf[offset+i]=rnds[i]}return buf}return stringify(rnds)}const asSdkError=error=>{if(error instanceof Error)return error;if(error instanceof Object)return Object.assign(new Error,error);if(typeof error==="string")return new Error(error);return new Error("AWS SDK error wrapper for ".concat(error))};const resolveRetryConfig=input=>{var _input$maxAttempts;const{retryStrategy}=input;const maxAttempts=normalizeProvider((_input$maxAttempts=input.maxAttempts)!==null&&_input$maxAttempts!==void 0?_input$maxAttempts:DEFAULT_MAX_ATTEMPTS);return{...input,maxAttempts,retryStrategy:async()=>{if(retryStrategy){return retryStrategy}const retryMode=await normalizeProvider(input.retryMode)();if(retryMode===RETRY_MODES.ADAPTIVE){return new AdaptiveRetryStrategy(maxAttempts)}return new StandardRetryStrategy(maxAttempts)}}};const retryMiddleware=options=>(next,context)=>async args=>{let retryStrategy=await options.retryStrategy();const maxAttempts=await options.maxAttempts();if(isRetryStrategyV2(retryStrategy)){retryStrategy=retryStrategy;let retryToken=await retryStrategy.acquireInitialRetryToken(context["partition_id"]);let lastError=new Error;let attempts=0;let totalRetryDelay=0;const{request}=args;if(HttpRequest$1.isInstance(request)){request.headers[INVOCATION_ID_HEADER]=v4()}while(true){try{if(HttpRequest$1.isInstance(request)){request.headers[REQUEST_HEADER]="attempt=".concat(attempts+1,"; max=").concat(maxAttempts)}const{response,output}=await next(args);retryStrategy.recordSuccess(retryToken);output.$metadata.attempts=attempts+1;output.$metadata.totalRetryDelay=totalRetryDelay;return{response,output}}catch(e){const retryErrorInfo=getRetryErrorInfo(e);lastError=asSdkError(e);try{retryToken=await retryStrategy.refreshRetryTokenForRetry(retryToken,retryErrorInfo)}catch(refreshError){if(!lastError.$metadata){lastError.$metadata={}}lastError.$metadata.attempts=attempts+1;lastError.$metadata.totalRetryDelay=totalRetryDelay;throw lastError}attempts=retryToken.getRetryCount();const delay=retryToken.getRetryDelay();totalRetryDelay+=delay;await new Promise(resolve=>setTimeout(resolve,delay))}}}else{var _retryStrategy;retryStrategy=retryStrategy;if((_retryStrategy=retryStrategy)!==null&&_retryStrategy!==void 0&&_retryStrategy.mode)context.userAgent=[...(context.userAgent||[]),["cfg/retry-mode",retryStrategy.mode]];return retryStrategy.retry(next,args)}};const isRetryStrategyV2=retryStrategy=>typeof retryStrategy.acquireInitialRetryToken!=="undefined"&&typeof retryStrategy.refreshRetryTokenForRetry!=="undefined"&&typeof retryStrategy.recordSuccess!=="undefined";const getRetryErrorInfo=error=>{const errorInfo={errorType:getRetryErrorType(error)};const retryAfterHint=getRetryAfterHint(error.$response);if(retryAfterHint){errorInfo.retryAfterHint=retryAfterHint}return errorInfo};const getRetryErrorType=error=>{if(isThrottlingError(error))return"THROTTLING";if(isTransientError(error))return"TRANSIENT";if(isServerError(error))return"SERVER_ERROR";return"CLIENT_ERROR"};const retryMiddlewareOptions={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:true};const getRetryPlugin=options=>({applyToStack:clientStack=>{clientStack.add(retryMiddleware(options),retryMiddlewareOptions)}});const getRetryAfterHint=response=>{if(!HttpResponse.isInstance(response))return;const retryAfterHeaderName=Object.keys(response.headers).find(key=>key.toLowerCase()==="retry-after");if(!retryAfterHeaderName)return;const retryAfter=response.headers[retryAfterHeaderName];const retryAfterSeconds=Number(retryAfter);if(!Number.isNaN(retryAfterSeconds))return new Date(retryAfterSeconds*1000);const retryAfterDate=new Date(retryAfter);return retryAfterDate};class ProviderError extends Error{constructor(message){let tryNextLink=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;super(message);this.tryNextLink=tryNextLink;this.name="ProviderError";Object.setPrototypeOf(this,ProviderError.prototype)}static from(error){let tryNextLink=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return Object.assign(new this(error.message,tryNextLink),error)}}class CredentialsProviderError extends ProviderError{constructor(message){let tryNextLink=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;super(message,tryNextLink);this.tryNextLink=tryNextLink;this.name="CredentialsProviderError";Object.setPrototypeOf(this,CredentialsProviderError.prototype)}}const memoize=(provider,isExpired,requiresRefresh)=>{let resolved;let pending;let hasResult;let isConstant=false;const coalesceProvider=async()=>{if(!pending){pending=provider()}try{resolved=await pending;hasResult=true;isConstant=false}finally{pending=undefined}return resolved};if(isExpired===undefined){return async options=>{if(!hasResult||options!==null&&options!==void 0&&options.forceRefresh){resolved=await coalesceProvider()}return resolved}}return async options=>{if(!hasResult||options!==null&&options!==void 0&&options.forceRefresh){resolved=await coalesceProvider()}if(isConstant){return resolved}if(requiresRefresh&&!requiresRefresh(resolved)){isConstant=true;return resolved}if(isExpired(resolved)){await coalesceProvider();return resolved}return resolved}};var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x["default"]:x}function getAugmentedNamespace(n){if(n.__esModule)return n;var f=n.default;if(typeof f=="function"){var a=function a(){if(this instanceof a){var args=[null];args.push.apply(args,arguments);var Ctor=Function.bind.apply(f,args);return new Ctor}return f.apply(this,arguments)};a.prototype=f.prototype}else a={};Object.defineProperty(a,"__esModule",{value:true});Object.keys(n).forEach(function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:true,get:function(){return n[k]}})});return a}var build$7={};/*! *****************************************************************************
23
+ Copyright (c) Microsoft Corporation.
24
+
25
+ Permission to use, copy, modify, and/or distribute this software for any
26
+ purpose with or without fee is hereby granted.
27
+
28
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
29
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
30
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
31
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
32
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
33
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
34
+ PERFORMANCE OF THIS SOFTWARE.
35
+ ***************************************************************************** */ /* global Reflect, Promise */var extendStatics$5=function(d,b){extendStatics$5=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics$5(d,b)};function __extends$5(d,b){extendStatics$5(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}var __assign$8=function(){__assign$8=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$8.apply(this,arguments)};function __rest$6(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t}function __decorate$5(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __param$5(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __metadata$5(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)}function __awaiter$5(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __generator$5(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}function __createBinding$5(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]}function __exportStar$5(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))exports[p]=m[p]}function __values$5(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$9(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar}function __spread$5(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read$9(arguments[i]));return ar}function __spreadArrays$5(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r}function __await$5(v){return this instanceof __await$5?(this.v=v,this):new __await$5(v)}function __asyncGenerator$5(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await$5?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}}function __asyncDelegator$5(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await$5(o[n](v)),done:n==="return"}:f?f(v):v}:f}}function __asyncValues$5(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values$5==="function"?__values$5(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}}function __makeTemplateObject$5(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked}function __importStar$5(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result.default=mod;return result}function __importDefault$5(mod){return mod&&mod.__esModule?mod:{default:mod}}function __classPrivateFieldGet$5(receiver,privateMap){if(!privateMap.has(receiver)){throw new TypeError("attempted to get private field on non-instance")}return privateMap.get(receiver)}function __classPrivateFieldSet$5(receiver,privateMap,value){if(!privateMap.has(receiver)){throw new TypeError("attempted to set private field on non-instance")}privateMap.set(receiver,value);return value}var tslib_es6$5=/*#__PURE__*/Object.freeze({__proto__:null,get __assign(){return __assign$8},__asyncDelegator:__asyncDelegator$5,__asyncGenerator:__asyncGenerator$5,__asyncValues:__asyncValues$5,__await:__await$5,__awaiter:__awaiter$5,__classPrivateFieldGet:__classPrivateFieldGet$5,__classPrivateFieldSet:__classPrivateFieldSet$5,__createBinding:__createBinding$5,__decorate:__decorate$5,__exportStar:__exportStar$5,__extends:__extends$5,__generator:__generator$5,__importDefault:__importDefault$5,__importStar:__importStar$5,__makeTemplateObject:__makeTemplateObject$5,__metadata:__metadata$5,__param:__param$5,__read:__read$9,__rest:__rest$6,__spread:__spread$5,__spreadArrays:__spreadArrays$5,__values:__values$5});var require$$0$6=/*@__PURE__*/getAugmentedNamespace(tslib_es6$5);var build$6={};var convertToBuffer$2={};const fromUtf8$4=input=>{const bytes=[];for(let i=0,len=input.length;i<len;i++){const value=input.charCodeAt(i);if(value<128){bytes.push(value)}else if(value<2048){bytes.push(value>>6|192,value&63|128)}else if(i+1<input.length&&(value&64512)===55296&&(input.charCodeAt(i+1)&64512)===56320){const surrogatePair=65536+((value&1023)<<10)+(input.charCodeAt(++i)&1023);bytes.push(surrogatePair>>18|240,surrogatePair>>12&63|128,surrogatePair>>6&63|128,surrogatePair&63|128)}else{bytes.push(value>>12|224,value>>6&63|128,value&63|128)}}return Uint8Array.from(bytes)};const toUtf8$3=input=>{let decoded="";for(let i=0,len=input.length;i<len;i++){const byte=input[i];if(byte<128){decoded+=String.fromCharCode(byte)}else if(192<=byte&&byte<224){const nextByte=input[++i];decoded+=String.fromCharCode((byte&31)<<6|nextByte&63)}else if(240<=byte&&byte<365){const surrogatePair=[byte,input[++i],input[++i],input[++i]];const encoded="%"+surrogatePair.map(byteValue=>byteValue.toString(16)).join("%");decoded+=decodeURIComponent(encoded)}else{decoded+=String.fromCharCode((byte&15)<<12|(input[++i]&63)<<6|input[++i]&63)}}return decoded};function fromUtf8$3(input){return new TextEncoder().encode(input)}function toUtf8$2(input){return new TextDecoder("utf-8").decode(input)}const fromUtf8$2=input=>typeof TextEncoder==="function"?fromUtf8$3(input):fromUtf8$4(input);const toUtf8$1=input=>typeof TextDecoder==="function"?toUtf8$2(input):toUtf8$3(input);var distEs$1=/*#__PURE__*/Object.freeze({__proto__:null,fromUtf8:fromUtf8$2,toUtf8:toUtf8$1});var require$$0$5=/*@__PURE__*/getAugmentedNamespace(distEs$1);var hasRequiredConvertToBuffer;function requireConvertToBuffer(){if(hasRequiredConvertToBuffer)return convertToBuffer$2;hasRequiredConvertToBuffer=1;// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
36
+ // SPDX-License-Identifier: Apache-2.0
37
+ Object.defineProperty(convertToBuffer$2,"__esModule",{value:true});convertToBuffer$2.convertToBuffer=void 0;var util_utf8_browser_1=require$$0$5;// Quick polyfill
38
+ var fromUtf8=typeof Buffer!=="undefined"&&Buffer.from?function(input){return Buffer.from(input,"utf8")}:util_utf8_browser_1.fromUtf8;function convertToBuffer(data){// Already a Uint8, do nothing
39
+ if(data instanceof Uint8Array)return data;if(typeof data==="string"){return fromUtf8(data)}if(ArrayBuffer.isView(data)){return new Uint8Array(data.buffer,data.byteOffset,data.byteLength/Uint8Array.BYTES_PER_ELEMENT)}return new Uint8Array(data)}convertToBuffer$2.convertToBuffer=convertToBuffer;return convertToBuffer$2}var isEmptyData$3={};var hasRequiredIsEmptyData$1;function requireIsEmptyData$1(){if(hasRequiredIsEmptyData$1)return isEmptyData$3;hasRequiredIsEmptyData$1=1;// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
40
+ // SPDX-License-Identifier: Apache-2.0
41
+ Object.defineProperty(isEmptyData$3,"__esModule",{value:true});isEmptyData$3.isEmptyData=void 0;function isEmptyData(data){if(typeof data==="string"){return data.length===0}return data.byteLength===0}isEmptyData$3.isEmptyData=isEmptyData;return isEmptyData$3}var numToUint8$2={};var hasRequiredNumToUint8;function requireNumToUint8(){if(hasRequiredNumToUint8)return numToUint8$2;hasRequiredNumToUint8=1;// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
42
+ // SPDX-License-Identifier: Apache-2.0
43
+ Object.defineProperty(numToUint8$2,"__esModule",{value:true});numToUint8$2.numToUint8=void 0;function numToUint8(num){return new Uint8Array([(num&4278190080)>>24,(num&16711680)>>16,(num&65280)>>8,num&255])}numToUint8$2.numToUint8=numToUint8;return numToUint8$2}var uint32ArrayFrom$2={};var hasRequiredUint32ArrayFrom;function requireUint32ArrayFrom(){if(hasRequiredUint32ArrayFrom)return uint32ArrayFrom$2;hasRequiredUint32ArrayFrom=1;// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
44
+ // SPDX-License-Identifier: Apache-2.0
45
+ Object.defineProperty(uint32ArrayFrom$2,"__esModule",{value:true});uint32ArrayFrom$2.uint32ArrayFrom=void 0;// IE 11 does not support Array.from, so we do it manually
46
+ function uint32ArrayFrom(a_lookUpTable){if(!Uint32Array.from){var return_array=new Uint32Array(a_lookUpTable.length);var a_index=0;while(a_index<a_lookUpTable.length){return_array[a_index]=a_lookUpTable[a_index];a_index+=1}return return_array}return Uint32Array.from(a_lookUpTable)}uint32ArrayFrom$2.uint32ArrayFrom=uint32ArrayFrom;return uint32ArrayFrom$2}var hasRequiredBuild$4;function requireBuild$4(){if(hasRequiredBuild$4)return build$6;hasRequiredBuild$4=1;(function(exports){// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
47
+ // SPDX-License-Identifier: Apache-2.0
48
+ Object.defineProperty(exports,"__esModule",{value:true});exports.uint32ArrayFrom=exports.numToUint8=exports.isEmptyData=exports.convertToBuffer=void 0;var convertToBuffer_1=requireConvertToBuffer();Object.defineProperty(exports,"convertToBuffer",{enumerable:true,get:function(){return convertToBuffer_1.convertToBuffer}});var isEmptyData_1=requireIsEmptyData$1();Object.defineProperty(exports,"isEmptyData",{enumerable:true,get:function(){return isEmptyData_1.isEmptyData}});var numToUint8_1=requireNumToUint8();Object.defineProperty(exports,"numToUint8",{enumerable:true,get:function(){return numToUint8_1.numToUint8}});var uint32ArrayFrom_1=requireUint32ArrayFrom();Object.defineProperty(exports,"uint32ArrayFrom",{enumerable:true,get:function(){return uint32ArrayFrom_1.uint32ArrayFrom}})})(build$6);return build$6}var aws_crc32={};var hasRequiredAws_crc32;function requireAws_crc32(){if(hasRequiredAws_crc32)return aws_crc32;hasRequiredAws_crc32=1;// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
49
+ // SPDX-License-Identifier: Apache-2.0
50
+ Object.defineProperty(aws_crc32,"__esModule",{value:true});aws_crc32.AwsCrc32=void 0;var tslib_1=require$$0$6;var util_1=requireBuild$4();var index_1=requireBuild$3();var AwsCrc32=/** @class */function(){function AwsCrc32(){this.crc32=new index_1.Crc32}AwsCrc32.prototype.update=function(toHash){if((0,util_1.isEmptyData)(toHash))return;this.crc32.update((0,util_1.convertToBuffer)(toHash))};AwsCrc32.prototype.digest=function(){return tslib_1.__awaiter(this,void 0,void 0,function(){return tslib_1.__generator(this,function(_a){return[2/*return*/,(0,util_1.numToUint8)(this.crc32.digest())]})})};AwsCrc32.prototype.reset=function(){this.crc32=new index_1.Crc32};return AwsCrc32}();aws_crc32.AwsCrc32=AwsCrc32;return aws_crc32}var hasRequiredBuild$3;function requireBuild$3(){if(hasRequiredBuild$3)return build$7;hasRequiredBuild$3=1;(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.AwsCrc32=exports.Crc32=exports.crc32=void 0;var tslib_1=require$$0$6;var util_1=requireBuild$4();function crc32(data){return new Crc32().update(data).digest()}exports.crc32=crc32;var Crc32=/** @class */function(){function Crc32(){this.checksum=4294967295}Crc32.prototype.update=function(data){var e_1,_a;try{for(var data_1=tslib_1.__values(data),data_1_1=data_1.next();!data_1_1.done;data_1_1=data_1.next()){var byte=data_1_1.value;this.checksum=this.checksum>>>8^lookupTable[(this.checksum^byte)&255]}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(data_1_1&&!data_1_1.done&&(_a=data_1.return))_a.call(data_1)}finally{if(e_1)throw e_1.error}}return this};Crc32.prototype.digest=function(){return(this.checksum^4294967295)>>>0};return Crc32}();exports.Crc32=Crc32;// prettier-ignore
51
+ var a_lookUpTable=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];var lookupTable=(0,util_1.uint32ArrayFrom)(a_lookUpTable);var aws_crc32_1=requireAws_crc32();Object.defineProperty(exports,"AwsCrc32",{enumerable:true,get:function(){return aws_crc32_1.AwsCrc32}})})(build$7);return build$7}requireBuild$3();const SHORT_TO_HEX$1={};const HEX_TO_SHORT={};for(let i=0;i<256;i++){let encodedByte=i.toString(16).toLowerCase();if(encodedByte.length===1){encodedByte="0".concat(encodedByte)}SHORT_TO_HEX$1[i]=encodedByte;HEX_TO_SHORT[encodedByte]=i}function fromHex(encoded){if(encoded.length%2!==0){throw new Error("Hex encoded strings must have an even number length")}const out=new Uint8Array(encoded.length/2);for(let i=0;i<encoded.length;i+=2){const encodedByte=encoded.slice(i,i+2).toLowerCase();if(encodedByte in HEX_TO_SHORT){out[i/2]=HEX_TO_SHORT[encodedByte]}else{throw new Error("Cannot decode unrecognized sequence ".concat(encodedByte," as hexadecimal"))}}return out}function toHex$1(bytes){let out="";for(let i=0;i<bytes.byteLength;i++){out+=SHORT_TO_HEX$1[bytes[i]]}return out}class Int64{constructor(bytes){this.bytes=bytes;if(bytes.byteLength!==8){throw new Error("Int64 buffers must be exactly 8 bytes")}}static fromNumber(number){if(number>9223372036854776000||number<-9223372036854776000){throw new Error("".concat(number," is too large (or, if negative, too small) to represent as an Int64"))}const bytes=new Uint8Array(8);for(let i=7,remaining=Math.abs(Math.round(number));i>-1&&remaining>0;i--,remaining/=256){bytes[i]=remaining}if(number<0){negate(bytes)}return new Int64(bytes)}valueOf(){const bytes=this.bytes.slice(0);const negative=bytes[0]&128;if(negative){negate(bytes)}return parseInt(toHex$1(bytes),16)*(negative?-1:1)}toString(){return String(this.valueOf())}}function negate(bytes){for(let i=0;i<8;i++){bytes[i]^=255}for(let i=7;i>-1;i--){bytes[i]++;if(bytes[i]!==0)break}}class HeaderMarshaller{constructor(toUtf8,fromUtf8){this.toUtf8=toUtf8;this.fromUtf8=fromUtf8}format(headers){const chunks=[];for(const headerName of Object.keys(headers)){const bytes=this.fromUtf8(headerName);chunks.push(Uint8Array.from([bytes.byteLength]),bytes,this.formatHeaderValue(headers[headerName]))}const out=new Uint8Array(chunks.reduce((carry,bytes)=>carry+bytes.byteLength,0));let position=0;for(const chunk of chunks){out.set(chunk,position);position+=chunk.byteLength}return out}formatHeaderValue(header){switch(header.type){case"boolean":return Uint8Array.from([header.value?0:1]);case"byte":return Uint8Array.from([2,header.value]);case"short":const shortView=new DataView(new ArrayBuffer(3));shortView.setUint8(0,3);shortView.setInt16(1,header.value,false);return new Uint8Array(shortView.buffer);case"integer":const intView=new DataView(new ArrayBuffer(5));intView.setUint8(0,4);intView.setInt32(1,header.value,false);return new Uint8Array(intView.buffer);case"long":const longBytes=new Uint8Array(9);longBytes[0]=5;longBytes.set(header.value.bytes,1);return longBytes;case"binary":const binView=new DataView(new ArrayBuffer(3+header.value.byteLength));binView.setUint8(0,6);binView.setUint16(1,header.value.byteLength,false);const binBytes=new Uint8Array(binView.buffer);binBytes.set(header.value,3);return binBytes;case"string":const utf8Bytes=this.fromUtf8(header.value);const strView=new DataView(new ArrayBuffer(3+utf8Bytes.byteLength));strView.setUint8(0,7);strView.setUint16(1,utf8Bytes.byteLength,false);const strBytes=new Uint8Array(strView.buffer);strBytes.set(utf8Bytes,3);return strBytes;case"timestamp":const tsBytes=new Uint8Array(9);tsBytes[0]=8;tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes,1);return tsBytes;case"uuid":if(!UUID_PATTERN.test(header.value)){throw new Error("Invalid UUID received: ".concat(header.value))}const uuidBytes=new Uint8Array(17);uuidBytes[0]=9;uuidBytes.set(fromHex(header.value.replace(/\-/g,"")),1);return uuidBytes}}parse(headers){const out={};let position=0;while(position<headers.byteLength){const nameLength=headers.getUint8(position++);const name=this.toUtf8(new Uint8Array(headers.buffer,headers.byteOffset+position,nameLength));position+=nameLength;switch(headers.getUint8(position++)){case 0:out[name]={type:BOOLEAN_TAG,value:true};break;case 1:out[name]={type:BOOLEAN_TAG,value:false};break;case 2:out[name]={type:BYTE_TAG,value:headers.getInt8(position++)};break;case 3:out[name]={type:SHORT_TAG,value:headers.getInt16(position,false)};position+=2;break;case 4:out[name]={type:INT_TAG,value:headers.getInt32(position,false)};position+=4;break;case 5:out[name]={type:LONG_TAG,value:new Int64(new Uint8Array(headers.buffer,headers.byteOffset+position,8))};position+=8;break;case 6:const binaryLength=headers.getUint16(position,false);position+=2;out[name]={type:BINARY_TAG,value:new Uint8Array(headers.buffer,headers.byteOffset+position,binaryLength)};position+=binaryLength;break;case 7:const stringLength=headers.getUint16(position,false);position+=2;out[name]={type:STRING_TAG,value:this.toUtf8(new Uint8Array(headers.buffer,headers.byteOffset+position,stringLength))};position+=stringLength;break;case 8:out[name]={type:TIMESTAMP_TAG,value:new Date(new Int64(new Uint8Array(headers.buffer,headers.byteOffset+position,8)).valueOf())};position+=8;break;case 9:const uuidBytes=new Uint8Array(headers.buffer,headers.byteOffset+position,16);position+=16;out[name]={type:UUID_TAG,value:"".concat(toHex$1(uuidBytes.subarray(0,4)),"-").concat(toHex$1(uuidBytes.subarray(4,6)),"-").concat(toHex$1(uuidBytes.subarray(6,8)),"-").concat(toHex$1(uuidBytes.subarray(8,10)),"-").concat(toHex$1(uuidBytes.subarray(10)))};break;default:throw new Error("Unrecognized header type tag")}}return out}}var HEADER_VALUE_TYPE;(function(HEADER_VALUE_TYPE){HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["boolTrue"]=0]="boolTrue";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["boolFalse"]=1]="boolFalse";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["byte"]=2]="byte";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["short"]=3]="short";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["integer"]=4]="integer";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["long"]=5]="long";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["byteArray"]=6]="byteArray";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["string"]=7]="string";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["timestamp"]=8]="timestamp";HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["uuid"]=9]="uuid"})(HEADER_VALUE_TYPE||(HEADER_VALUE_TYPE={}));const BOOLEAN_TAG="boolean";const BYTE_TAG="byte";const SHORT_TAG="short";const INT_TAG="integer";const LONG_TAG="long";const BINARY_TAG="binary";const STRING_TAG="string";const TIMESTAMP_TAG="timestamp";const UUID_TAG="uuid";const UUID_PATTERN=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;const fromUtf8$1=input=>new TextEncoder().encode(input);const toUint8Array=data=>{if(typeof data==="string"){return fromUtf8$1(data)}if(ArrayBuffer.isView(data)){return new Uint8Array(data.buffer,data.byteOffset,data.byteLength/Uint8Array.BYTES_PER_ELEMENT)}return new Uint8Array(data)};const toUtf8=input=>new TextDecoder("utf-8").decode(input);const ALGORITHM_QUERY_PARAM$1="X-Amz-Algorithm";const CREDENTIAL_QUERY_PARAM$1="X-Amz-Credential";const AMZ_DATE_QUERY_PARAM$1="X-Amz-Date";const SIGNED_HEADERS_QUERY_PARAM$1="X-Amz-SignedHeaders";const EXPIRES_QUERY_PARAM$1="X-Amz-Expires";const SIGNATURE_QUERY_PARAM$1="X-Amz-Signature";const TOKEN_QUERY_PARAM$1="X-Amz-Security-Token";const AUTH_HEADER$1="authorization";const AMZ_DATE_HEADER$1=AMZ_DATE_QUERY_PARAM$1.toLowerCase();const DATE_HEADER="date";const GENERATED_HEADERS=[AUTH_HEADER$1,AMZ_DATE_HEADER$1,DATE_HEADER];const SIGNATURE_HEADER=SIGNATURE_QUERY_PARAM$1.toLowerCase();const SHA256_HEADER="x-amz-content-sha256";const TOKEN_HEADER$1=TOKEN_QUERY_PARAM$1.toLowerCase();const ALWAYS_UNSIGNABLE_HEADERS={authorization:true,"cache-control":true,connection:true,expect:true,from:true,"keep-alive":true,"max-forwards":true,pragma:true,referer:true,te:true,trailer:true,"transfer-encoding":true,upgrade:true,"user-agent":true,"x-amzn-trace-id":true};const PROXY_HEADER_PATTERN=/^proxy-/;const SEC_HEADER_PATTERN=/^sec-/;const ALGORITHM_IDENTIFIER="AWS4-HMAC-SHA256";const EVENT_ALGORITHM_IDENTIFIER="AWS4-HMAC-SHA256-PAYLOAD";const UNSIGNED_PAYLOAD$1="UNSIGNED-PAYLOAD";const MAX_CACHE_SIZE=50;const KEY_TYPE_IDENTIFIER$1="aws4_request";const MAX_PRESIGNED_TTL=60*60*24*7;const signingKeyCache={};const cacheQueue=[];const createScope=(shortDate,region,service)=>"".concat(shortDate,"/").concat(region,"/").concat(service,"/").concat(KEY_TYPE_IDENTIFIER$1);const getSigningKey$1=async(sha256Constructor,credentials,shortDate,region,service)=>{const credsHash=await hmac(sha256Constructor,credentials.secretAccessKey,credentials.accessKeyId);const cacheKey="".concat(shortDate,":").concat(region,":").concat(service,":").concat(toHex$1(credsHash),":").concat(credentials.sessionToken);if(cacheKey in signingKeyCache){return signingKeyCache[cacheKey]}cacheQueue.push(cacheKey);while(cacheQueue.length>MAX_CACHE_SIZE){delete signingKeyCache[cacheQueue.shift()]}let key="AWS4".concat(credentials.secretAccessKey);for(const signable of[shortDate,region,service,KEY_TYPE_IDENTIFIER$1]){key=await hmac(sha256Constructor,key,signable)}return signingKeyCache[cacheKey]=key};const hmac=(ctor,secret,data)=>{const hash=new ctor(secret);hash.update(toUint8Array(data));return hash.digest()};const getCanonicalHeaders$1=(_ref3,unsignableHeaders,signableHeaders)=>{let{headers}=_ref3;const canonical={};for(const headerName of Object.keys(headers).sort()){if(headers[headerName]==undefined){continue}const canonicalHeaderName=headerName.toLowerCase();if(canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS||unsignableHeaders!==null&&unsignableHeaders!==void 0&&unsignableHeaders.has(canonicalHeaderName)||PROXY_HEADER_PATTERN.test(canonicalHeaderName)||SEC_HEADER_PATTERN.test(canonicalHeaderName)){if(!signableHeaders||signableHeaders&&!signableHeaders.has(canonicalHeaderName)){continue}}canonical[canonicalHeaderName]=headers[headerName].trim().replace(/\s+/g," ")}return canonical};const escapeUri$1=uri=>encodeURIComponent(uri).replace(/[!'()*]/g,hexEncode$1);const hexEncode$1=c=>"%".concat(c.charCodeAt(0).toString(16).toUpperCase());const getCanonicalQuery=_ref4=>{let{query={}}=_ref4;const keys=[];const serialized={};for(const key of Object.keys(query).sort()){if(key.toLowerCase()===SIGNATURE_HEADER){continue}keys.push(key);const value=query[key];if(typeof value==="string"){serialized[key]="".concat(escapeUri$1(key),"=").concat(escapeUri$1(value))}else if(Array.isArray(value)){serialized[key]=value.slice(0).sort().reduce((encoded,value)=>encoded.concat(["".concat(escapeUri$1(key),"=").concat(escapeUri$1(value))]),[]).join("&")}}return keys.map(key=>serialized[key]).filter(serialized=>serialized).join("&")};const isArrayBuffer$1=arg=>typeof ArrayBuffer==="function"&&arg instanceof ArrayBuffer||Object.prototype.toString.call(arg)==="[object ArrayBuffer]";const getPayloadHash=async(_ref5,hashConstructor)=>{let{headers,body}=_ref5;for(const headerName of Object.keys(headers)){if(headerName.toLowerCase()===SHA256_HEADER){return headers[headerName]}}if(body==undefined){return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}else if(typeof body==="string"||ArrayBuffer.isView(body)||isArrayBuffer$1(body)){const hashCtor=new hashConstructor;hashCtor.update(toUint8Array(body));return toHex$1(await hashCtor.digest())}return UNSIGNED_PAYLOAD$1};const hasHeader=(soughtHeader,headers)=>{soughtHeader=soughtHeader.toLowerCase();for(const headerName of Object.keys(headers)){if(soughtHeader===headerName.toLowerCase()){return true}}return false};const cloneRequest=_ref6=>{let{headers,query,...rest}=_ref6;return{...rest,headers:{...headers},query:query?cloneQuery$1(query):undefined}};const cloneQuery$1=query=>Object.keys(query).reduce((carry,paramName)=>{const param=query[paramName];return{...carry,[paramName]:Array.isArray(param)?[...param]:param}},{});const moveHeadersToQuery=function(request){let options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const{headers,query={}}=typeof request.clone==="function"?request.clone():cloneRequest(request);for(const name of Object.keys(headers)){var _options$unhoistableH;const lname=name.toLowerCase();if(lname.slice(0,6)==="x-amz-"&&!((_options$unhoistableH=options.unhoistableHeaders)!==null&&_options$unhoistableH!==void 0&&_options$unhoistableH.has(lname))){query[name]=headers[name];delete headers[name]}}return{...request,headers,query}};const prepareRequest=request=>{request=typeof request.clone==="function"?request.clone():cloneRequest(request);for(const headerName of Object.keys(request.headers)){if(GENERATED_HEADERS.indexOf(headerName.toLowerCase())>-1){delete request.headers[headerName]}}return request};const iso8601=time=>toDate(time).toISOString().replace(/\.\d{3}Z$/,"Z");const toDate=time=>{if(typeof time==="number"){return new Date(time*1000)}if(typeof time==="string"){if(Number(time)){return new Date(Number(time)*1000)}return new Date(time)}return time};class SignatureV4{constructor(_ref7){let{applyChecksum,credentials,region,service,sha256,uriEscapePath=true}=_ref7;this.headerMarshaller=new HeaderMarshaller(toUtf8,fromUtf8$1);this.service=service;this.sha256=sha256;this.uriEscapePath=uriEscapePath;this.applyChecksum=typeof applyChecksum==="boolean"?applyChecksum:true;this.regionProvider=normalizeProvider(region);this.credentialProvider=normalizeProvider(credentials)}async presign(originalRequest){let options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const{signingDate=new Date,expiresIn=3600,unsignableHeaders,unhoistableHeaders,signableHeaders,signingRegion,signingService}=options;const credentials=await this.credentialProvider();this.validateResolvedCredentials(credentials);const region=signingRegion!==null&&signingRegion!==void 0?signingRegion:await this.regionProvider();const{longDate,shortDate}=formatDate(signingDate);if(expiresIn>MAX_PRESIGNED_TTL){return Promise.reject("Signature version 4 presigned URLs"+" must have an expiration date less than one week in"+" the future")}const scope=createScope(shortDate,region,signingService!==null&&signingService!==void 0?signingService:this.service);const request=moveHeadersToQuery(prepareRequest(originalRequest),{unhoistableHeaders});if(credentials.sessionToken){request.query[TOKEN_QUERY_PARAM$1]=credentials.sessionToken}request.query[ALGORITHM_QUERY_PARAM$1]=ALGORITHM_IDENTIFIER;request.query[CREDENTIAL_QUERY_PARAM$1]="".concat(credentials.accessKeyId,"/").concat(scope);request.query[AMZ_DATE_QUERY_PARAM$1]=longDate;request.query[EXPIRES_QUERY_PARAM$1]=expiresIn.toString(10);const canonicalHeaders=getCanonicalHeaders$1(request,unsignableHeaders,signableHeaders);request.query[SIGNED_HEADERS_QUERY_PARAM$1]=getCanonicalHeaderList(canonicalHeaders);request.query[SIGNATURE_QUERY_PARAM$1]=await this.getSignature(longDate,scope,this.getSigningKey(credentials,region,shortDate,signingService),this.createCanonicalRequest(request,canonicalHeaders,await getPayloadHash(originalRequest,this.sha256)));return request}async sign(toSign,options){if(typeof toSign==="string"){return this.signString(toSign,options)}else if(toSign.headers&&toSign.payload){return this.signEvent(toSign,options)}else if(toSign.message){return this.signMessage(toSign,options)}else{return this.signRequest(toSign,options)}}async signEvent(_ref8,_ref9){let{headers,payload}=_ref8;let{signingDate=new Date,priorSignature,signingRegion,signingService}=_ref9;const region=signingRegion!==null&&signingRegion!==void 0?signingRegion:await this.regionProvider();const{shortDate,longDate}=formatDate(signingDate);const scope=createScope(shortDate,region,signingService!==null&&signingService!==void 0?signingService:this.service);const hashedPayload=await getPayloadHash({headers:{},body:payload},this.sha256);const hash=new this.sha256;hash.update(headers);const hashedHeaders=toHex$1(await hash.digest());const stringToSign=[EVENT_ALGORITHM_IDENTIFIER,longDate,scope,priorSignature,hashedHeaders,hashedPayload].join("\n");return this.signString(stringToSign,{signingDate,signingRegion:region,signingService})}async signMessage(signableMessage,_ref10){let{signingDate=new Date,signingRegion,signingService}=_ref10;const promise=this.signEvent({headers:this.headerMarshaller.format(signableMessage.message.headers),payload:signableMessage.message.body},{signingDate,signingRegion,signingService,priorSignature:signableMessage.priorSignature});return promise.then(signature=>{return{message:signableMessage.message,signature}})}async signString(stringToSign){let{signingDate=new Date,signingRegion,signingService}=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const credentials=await this.credentialProvider();this.validateResolvedCredentials(credentials);const region=signingRegion!==null&&signingRegion!==void 0?signingRegion:await this.regionProvider();const{shortDate}=formatDate(signingDate);const hash=new this.sha256(await this.getSigningKey(credentials,region,shortDate,signingService));hash.update(toUint8Array(stringToSign));return toHex$1(await hash.digest())}async signRequest(requestToSign){let{signingDate=new Date,signableHeaders,unsignableHeaders,signingRegion,signingService}=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const credentials=await this.credentialProvider();this.validateResolvedCredentials(credentials);const region=signingRegion!==null&&signingRegion!==void 0?signingRegion:await this.regionProvider();const request=prepareRequest(requestToSign);const{longDate,shortDate}=formatDate(signingDate);const scope=createScope(shortDate,region,signingService!==null&&signingService!==void 0?signingService:this.service);request.headers[AMZ_DATE_HEADER$1]=longDate;if(credentials.sessionToken){request.headers[TOKEN_HEADER$1]=credentials.sessionToken}const payloadHash=await getPayloadHash(request,this.sha256);if(!hasHeader(SHA256_HEADER,request.headers)&&this.applyChecksum){request.headers[SHA256_HEADER]=payloadHash}const canonicalHeaders=getCanonicalHeaders$1(request,unsignableHeaders,signableHeaders);const signature=await this.getSignature(longDate,scope,this.getSigningKey(credentials,region,shortDate,signingService),this.createCanonicalRequest(request,canonicalHeaders,payloadHash));request.headers[AUTH_HEADER$1]="".concat(ALGORITHM_IDENTIFIER," ")+"Credential=".concat(credentials.accessKeyId,"/").concat(scope,", ")+"SignedHeaders=".concat(getCanonicalHeaderList(canonicalHeaders),", ")+"Signature=".concat(signature);return request}createCanonicalRequest(request,canonicalHeaders,payloadHash){const sortedHeaders=Object.keys(canonicalHeaders).sort();return"".concat(request.method,"\n").concat(this.getCanonicalPath(request),"\n").concat(getCanonicalQuery(request),"\n").concat(sortedHeaders.map(name=>"".concat(name,":").concat(canonicalHeaders[name])).join("\n"),"\n\n").concat(sortedHeaders.join(";"),"\n").concat(payloadHash)}async createStringToSign(longDate,credentialScope,canonicalRequest){const hash=new this.sha256;hash.update(toUint8Array(canonicalRequest));const hashedRequest=await hash.digest();return"".concat(ALGORITHM_IDENTIFIER,"\n").concat(longDate,"\n").concat(credentialScope,"\n").concat(toHex$1(hashedRequest))}getCanonicalPath(_ref11){let{path}=_ref11;if(this.uriEscapePath){const normalizedPathSegments=[];for(const pathSegment of path.split("/")){if((pathSegment===null||pathSegment===void 0?void 0:pathSegment.length)===0)continue;if(pathSegment===".")continue;if(pathSegment===".."){normalizedPathSegments.pop()}else{normalizedPathSegments.push(pathSegment)}}const normalizedPath="".concat(path!==null&&path!==void 0&&path.startsWith("/")?"/":"").concat(normalizedPathSegments.join("/")).concat(normalizedPathSegments.length>0&&path!==null&&path!==void 0&&path.endsWith("/")?"/":"");const doubleEncoded=encodeURIComponent(normalizedPath);return doubleEncoded.replace(/%2F/g,"/")}return path}async getSignature(longDate,credentialScope,keyPromise,canonicalRequest){const stringToSign=await this.createStringToSign(longDate,credentialScope,canonicalRequest);const hash=new this.sha256(await keyPromise);hash.update(toUint8Array(stringToSign));return toHex$1(await hash.digest())}getSigningKey(credentials,region,shortDate,service){return getSigningKey$1(this.sha256,credentials,shortDate,region,service||this.service)}validateResolvedCredentials(credentials){if(typeof credentials!=="object"||typeof credentials.accessKeyId!=="string"||typeof credentials.secretAccessKey!=="string"){throw new Error("Resolved credential object is not valid")}}}const formatDate=now=>{const longDate=iso8601(now).replace(/[\-:]/g,"");return{longDate,shortDate:longDate.slice(0,8)}};const getCanonicalHeaderList=headers=>Object.keys(headers).sort().join(";");const CREDENTIAL_EXPIRE_WINDOW=300000;const resolveAwsAuthConfig=input=>{const normalizedCreds=input.credentials?normalizeCredentialProvider(input.credentials):input.credentialDefaultProvider(input);const{signingEscapePath=true,systemClockOffset=input.systemClockOffset||0,sha256}=input;let signer;if(input.signer){signer=normalizeProvider(input.signer)}else if(input.regionInfoProvider){signer=()=>normalizeProvider(input.region)().then(async region=>[(await input.regionInfoProvider(region,{useFipsEndpoint:await input.useFipsEndpoint(),useDualstackEndpoint:await input.useDualstackEndpoint()}))||{},region]).then(_ref12=>{let[regionInfo,region]=_ref12;const{signingRegion,signingService}=regionInfo;input.signingRegion=input.signingRegion||signingRegion||region;input.signingName=input.signingName||signingService||input.serviceId;const params={...input,credentials:normalizedCreds,region:input.signingRegion,service:input.signingName,sha256,uriEscapePath:signingEscapePath};const SignerCtor=input.signerConstructor||SignatureV4;return new SignerCtor(params)})}else{signer=async authScheme=>{authScheme=Object.assign({},{name:"sigv4",signingName:input.signingName||input.defaultSigningName,signingRegion:await normalizeProvider(input.region)(),properties:{}},authScheme);const signingRegion=authScheme.signingRegion;const signingService=authScheme.signingName;input.signingRegion=input.signingRegion||signingRegion;input.signingName=input.signingName||signingService||input.serviceId;const params={...input,credentials:normalizedCreds,region:input.signingRegion,service:input.signingName,sha256,uriEscapePath:signingEscapePath};const SignerCtor=input.signerConstructor||SignatureV4;return new SignerCtor(params)}}return{...input,systemClockOffset,signingEscapePath,credentials:normalizedCreds,signer}};const normalizeCredentialProvider=credentials=>{if(typeof credentials==="function"){return memoize(credentials,credentials=>credentials.expiration!==undefined&&credentials.expiration.getTime()-Date.now()<CREDENTIAL_EXPIRE_WINDOW,credentials=>credentials.expiration!==undefined)}return normalizeProvider(credentials)};function resolveUserAgentConfig(input){return{...input,customUserAgent:typeof input.customUserAgent==="string"?[[input.customUserAgent]]:input.customUserAgent}}var partitions=[{id:"aws",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",name:"aws",supportsDualStack:true,supportsFIPS:true},regionRegex:"^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$",regions:{"af-south-1":{description:"Africa (Cape Town)"},"ap-east-1":{description:"Asia Pacific (Hong Kong)"},"ap-northeast-1":{description:"Asia Pacific (Tokyo)"},"ap-northeast-2":{description:"Asia Pacific (Seoul)"},"ap-northeast-3":{description:"Asia Pacific (Osaka)"},"ap-south-1":{description:"Asia Pacific (Mumbai)"},"ap-south-2":{description:"Asia Pacific (Hyderabad)"},"ap-southeast-1":{description:"Asia Pacific (Singapore)"},"ap-southeast-2":{description:"Asia Pacific (Sydney)"},"ap-southeast-3":{description:"Asia Pacific (Jakarta)"},"ap-southeast-4":{description:"Asia Pacific (Melbourne)"},"aws-global":{description:"AWS Standard global region"},"ca-central-1":{description:"Canada (Central)"},"eu-central-1":{description:"Europe (Frankfurt)"},"eu-central-2":{description:"Europe (Zurich)"},"eu-north-1":{description:"Europe (Stockholm)"},"eu-south-1":{description:"Europe (Milan)"},"eu-south-2":{description:"Europe (Spain)"},"eu-west-1":{description:"Europe (Ireland)"},"eu-west-2":{description:"Europe (London)"},"eu-west-3":{description:"Europe (Paris)"},"me-central-1":{description:"Middle East (UAE)"},"me-south-1":{description:"Middle East (Bahrain)"},"sa-east-1":{description:"South America (Sao Paulo)"},"us-east-1":{description:"US East (N. Virginia)"},"us-east-2":{description:"US East (Ohio)"},"us-west-1":{description:"US West (N. California)"},"us-west-2":{description:"US West (Oregon)"}}},{id:"aws-cn",outputs:{dnsSuffix:"amazonaws.com.cn",dualStackDnsSuffix:"api.amazonwebservices.com.cn",name:"aws-cn",supportsDualStack:true,supportsFIPS:true},regionRegex:"^cn\\-\\w+\\-\\d+$",regions:{"aws-cn-global":{description:"AWS China global region"},"cn-north-1":{description:"China (Beijing)"},"cn-northwest-1":{description:"China (Ningxia)"}}},{id:"aws-us-gov",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",name:"aws-us-gov",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-gov\\-\\w+\\-\\d+$",regions:{"aws-us-gov-global":{description:"AWS GovCloud (US) global region"},"us-gov-east-1":{description:"AWS GovCloud (US-East)"},"us-gov-west-1":{description:"AWS GovCloud (US-West)"}}},{id:"aws-iso",outputs:{dnsSuffix:"c2s.ic.gov",dualStackDnsSuffix:"c2s.ic.gov",name:"aws-iso",supportsDualStack:false,supportsFIPS:true},regionRegex:"^us\\-iso\\-\\w+\\-\\d+$",regions:{"aws-iso-global":{description:"AWS ISO (US) global region"},"us-iso-east-1":{description:"US ISO East"},"us-iso-west-1":{description:"US ISO WEST"}}},{id:"aws-iso-b",outputs:{dnsSuffix:"sc2s.sgov.gov",dualStackDnsSuffix:"sc2s.sgov.gov",name:"aws-iso-b",supportsDualStack:false,supportsFIPS:true},regionRegex:"^us\\-isob\\-\\w+\\-\\d+$",regions:{"aws-iso-b-global":{description:"AWS ISOB (US) global region"},"us-isob-east-1":{description:"US ISOB East (Ohio)"}}},{id:"aws-iso-e",outputs:{dnsSuffix:"cloud.adc-e.uk",dualStackDnsSuffix:"cloud.adc-e.uk",name:"aws-iso-e",supportsDualStack:false,supportsFIPS:true},regionRegex:"^eu\\-isoe\\-\\w+\\-\\d+$",regions:{}},{id:"aws-iso-f",outputs:{dnsSuffix:"csp.hci.ic.gov",dualStackDnsSuffix:"csp.hci.ic.gov",name:"aws-iso-f",supportsDualStack:false,supportsFIPS:true},regionRegex:"^us\\-isof\\-\\w+\\-\\d+$",regions:{}}];var version$1="1.1";var partitionsInfo={partitions:partitions,version:version$1};let selectedPartitionsInfo=partitionsInfo;let selectedUserAgentPrefix="";const partition=value=>{const{partitions}=selectedPartitionsInfo;for(const partition of partitions){const{regions,outputs}=partition;for(const[region,regionData]of Object.entries(regions)){if(region===value){return{...outputs,...regionData}}}}for(const partition of partitions){const{regionRegex,outputs}=partition;if(new RegExp(regionRegex).test(value)){return{...outputs}}}const DEFAULT_PARTITION=partitions.find(partition=>partition.id==="aws");if(!DEFAULT_PARTITION){throw new Error("Provided region was not found in the partition array or regex,"+" and default partition with id 'aws' doesn't exist.")}return{...DEFAULT_PARTITION.outputs}};const setPartitionInfo=function(partitionsInfo){let userAgentPrefix=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";selectedPartitionsInfo=partitionsInfo;selectedUserAgentPrefix=userAgentPrefix};const useDefaultPartitionInfo=()=>{setPartitionInfo(partitionsInfo,"")};const getUserAgentPrefix=()=>selectedUserAgentPrefix;const debugId="endpoints";function toDebugString(input){if(typeof input!=="object"||input==null){return input}if("ref"in input){return"$".concat(toDebugString(input.ref))}if("fn"in input){return"".concat(input.fn,"(").concat((input.argv||[]).map(toDebugString).join(", "),")")}return JSON.stringify(input,null,2)}class EndpointError extends Error{constructor(message){super(message);this.name="EndpointError"}}const IP_V4_REGEX=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$");const isIpAddress=value=>IP_V4_REGEX.test(value)||value.startsWith("[")&&value.endsWith("]");const VALID_HOST_LABEL_REGEX=new RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$");const isValidHostLabel=function(value){let allowSubDomains=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!allowSubDomains){return VALID_HOST_LABEL_REGEX.test(value)}const labels=value.split(".");for(const label of labels){if(!isValidHostLabel(label)){return false}}return true};const isVirtualHostableS3Bucket=function(value){let allowSubDomains=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(allowSubDomains){for(const label of value.split(".")){if(!isVirtualHostableS3Bucket(label)){return false}}return true}if(!isValidHostLabel(value)){return false}if(value.length<3||value.length>63){return false}if(value!==value.toLowerCase()){return false}if(isIpAddress(value)){return false}return true};const parseArn=value=>{const segments=value.split(":");if(segments.length<6)return null;const[arn,partition,service,region,accountId,...resourceId]=segments;if(arn!=="arn"||partition===""||service===""||resourceId[0]==="")return null;return{partition,service,region,accountId,resourceId:resourceId[0].includes("/")?resourceId[0].split("/"):resourceId}};var index=/*#__PURE__*/Object.freeze({__proto__:null,getUserAgentPrefix:getUserAgentPrefix,isVirtualHostableS3Bucket:isVirtualHostableS3Bucket,parseArn:parseArn,partition:partition,setPartitionInfo:setPartitionInfo,useDefaultPartitionInfo:useDefaultPartitionInfo});const booleanEquals=(value1,value2)=>value1===value2;const getAttrPathList=path=>{const parts=path.split(".");const pathList=[];for(const part of parts){const squareBracketIndex=part.indexOf("[");if(squareBracketIndex!==-1){if(part.indexOf("]")!==part.length-1){throw new EndpointError("Path: '".concat(path,"' does not end with ']'"))}const arrayIndex=part.slice(squareBracketIndex+1,-1);if(Number.isNaN(parseInt(arrayIndex))){throw new EndpointError("Invalid array index: '".concat(arrayIndex,"' in path: '").concat(path,"'"))}if(squareBracketIndex!==0){pathList.push(part.slice(0,squareBracketIndex))}pathList.push(arrayIndex)}else{pathList.push(part)}}return pathList};const getAttr=(value,path)=>getAttrPathList(path).reduce((acc,index)=>{if(typeof acc!=="object"){throw new EndpointError("Index '".concat(index,"' in '").concat(path,"' not found in '").concat(JSON.stringify(value),"'"))}else if(Array.isArray(acc)){return acc[parseInt(index)]}return acc[index]},value);const isSet=value=>value!=null;const not=value=>!value;var HttpAuthLocation;(function(HttpAuthLocation){HttpAuthLocation["HEADER"]="header";HttpAuthLocation["QUERY"]="query"})(HttpAuthLocation||(HttpAuthLocation={}));var HostAddressType;(function(HostAddressType){HostAddressType["AAAA"]="AAAA";HostAddressType["A"]="A"})(HostAddressType||(HostAddressType={}));var EndpointURLScheme;(function(EndpointURLScheme){EndpointURLScheme["HTTP"]="http";EndpointURLScheme["HTTPS"]="https"})(EndpointURLScheme||(EndpointURLScheme={}));var RequestHandlerProtocol;(function(RequestHandlerProtocol){RequestHandlerProtocol["HTTP_0_9"]="http/0.9";RequestHandlerProtocol["HTTP_1_0"]="http/1.0";RequestHandlerProtocol["TDS_8_0"]="tds/8.0"})(RequestHandlerProtocol||(RequestHandlerProtocol={}));const DEFAULT_PORTS={[EndpointURLScheme.HTTP]:80,[EndpointURLScheme.HTTPS]:443};const parseURL=value=>{const whatwgURL=(()=>{try{if(value instanceof URL){return value}if(typeof value==="object"&&"hostname"in value){const{hostname,port,protocol="",path="",query={}}=value;const url=new URL("".concat(protocol,"//").concat(hostname).concat(port?":".concat(port):"").concat(path));url.search=Object.entries(query).map(_ref13=>{let[k,v]=_ref13;return"".concat(k,"=").concat(v)}).join("&");return url}return new URL(value)}catch(error){return null}})();if(!whatwgURL){console.error("Unable to parse ".concat(JSON.stringify(value)," as a whatwg URL."));return null}const urlString=whatwgURL.href;const{host,hostname,pathname,protocol,search}=whatwgURL;if(search){return null}const scheme=protocol.slice(0,-1);if(!Object.values(EndpointURLScheme).includes(scheme)){return null}const isIp=isIpAddress(hostname);const inputContainsDefaultPort=urlString.includes("".concat(host,":").concat(DEFAULT_PORTS[scheme]))||typeof value==="string"&&value.includes("".concat(host,":").concat(DEFAULT_PORTS[scheme]));const authority="".concat(host).concat(inputContainsDefaultPort?":".concat(DEFAULT_PORTS[scheme]):"");return{scheme,authority,path:pathname,normalizedPath:pathname.endsWith("/")?pathname:"".concat(pathname,"/"),isIp}};const stringEquals=(value1,value2)=>value1===value2;const substring=(input,start,stop,reverse)=>{if(start>=stop||input.length<stop){return null}if(!reverse){return input.substring(start,stop)}return input.substring(input.length-stop,input.length-start)};const uriEncode=value=>encodeURIComponent(value).replace(/[!*'()]/g,c=>"%".concat(c.charCodeAt(0).toString(16).toUpperCase()));var lib=/*#__PURE__*/Object.freeze({__proto__:null,aws:index,booleanEquals:booleanEquals,getAttr:getAttr,isSet:isSet,isValidHostLabel:isValidHostLabel,not:not,parseURL:parseURL,stringEquals:stringEquals,substring:substring,uriEncode:uriEncode});const evaluateTemplate=(template,options)=>{const evaluatedTemplateArr=[];const templateContext={...options.endpointParams,...options.referenceRecord};let currentIndex=0;while(currentIndex<template.length){const openingBraceIndex=template.indexOf("{",currentIndex);if(openingBraceIndex===-1){evaluatedTemplateArr.push(template.slice(currentIndex));break}evaluatedTemplateArr.push(template.slice(currentIndex,openingBraceIndex));const closingBraceIndex=template.indexOf("}",openingBraceIndex);if(closingBraceIndex===-1){evaluatedTemplateArr.push(template.slice(openingBraceIndex));break}if(template[openingBraceIndex+1]==="{"&&template[closingBraceIndex+1]==="}"){evaluatedTemplateArr.push(template.slice(openingBraceIndex+1,closingBraceIndex));currentIndex=closingBraceIndex+2}const parameterName=template.substring(openingBraceIndex+1,closingBraceIndex);if(parameterName.includes("#")){const[refName,attrName]=parameterName.split("#");evaluatedTemplateArr.push(getAttr(templateContext[refName],attrName))}else{evaluatedTemplateArr.push(templateContext[parameterName])}currentIndex=closingBraceIndex+1}return evaluatedTemplateArr.join("")};const getReferenceValue=(_ref14,options)=>{let{ref}=_ref14;const referenceRecord={...options.endpointParams,...options.referenceRecord};return referenceRecord[ref]};const evaluateExpression=(obj,keyName,options)=>{if(typeof obj==="string"){return evaluateTemplate(obj,options)}else if(obj["fn"]){return callFunction(obj,options)}else if(obj["ref"]){return getReferenceValue(obj,options)}throw new EndpointError("'".concat(keyName,"': ").concat(String(obj)," is not a string, function or reference."))};const callFunction=(_ref15,options)=>{let{fn,argv}=_ref15;const evaluatedArgs=argv.map(arg=>["boolean","number"].includes(typeof arg)?arg:evaluateExpression(arg,"arg",options));return fn.split(".").reduce((acc,key)=>acc[key],lib)(...evaluatedArgs)};const evaluateCondition=(_ref16,options)=>{var _options$logger,_options$logger$debug;let{assign,...fnArgs}=_ref16;if(assign&&assign in options.referenceRecord){throw new EndpointError("'".concat(assign,"' is already defined in Reference Record."))}const value=callFunction(fnArgs,options);(_options$logger=options.logger)===null||_options$logger===void 0?void 0:(_options$logger$debug=_options$logger.debug)===null||_options$logger$debug===void 0?void 0:_options$logger$debug.call(_options$logger,debugId,"evaluateCondition: ".concat(toDebugString(fnArgs)," = ").concat(toDebugString(value)));return{result:value===""?true:!!value,...(assign!=null&&{toAssign:{name:assign,value}})}};const evaluateConditions=function(){let conditions=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];let options=arguments.length>1?arguments[1]:undefined;const conditionsReferenceRecord={};for(const condition of conditions){const{result,toAssign}=evaluateCondition(condition,{...options,referenceRecord:{...options.referenceRecord,...conditionsReferenceRecord}});if(!result){return{result}}if(toAssign){var _options$logger2,_options$logger2$debu,_options$logger3;conditionsReferenceRecord[toAssign.name]=toAssign.value;(_options$logger2=options.logger)===null||_options$logger2===void 0?void 0:(_options$logger2$debu=(_options$logger3=_options$logger2).debug)===null||_options$logger2$debu===void 0?void 0:_options$logger2$debu.call(_options$logger3,debugId,"assign: ".concat(toAssign.name," := ").concat(toDebugString(toAssign.value)))}}return{result:true,referenceRecord:conditionsReferenceRecord}};const getEndpointHeaders=(headers,options)=>Object.entries(headers).reduce((acc,_ref17)=>{let[headerKey,headerVal]=_ref17;return{...acc,[headerKey]:headerVal.map(headerValEntry=>{const processedExpr=evaluateExpression(headerValEntry,"Header value entry",options);if(typeof processedExpr!=="string"){throw new EndpointError("Header '".concat(headerKey,"' value '").concat(processedExpr,"' is not a string"))}return processedExpr})}},{});const getEndpointProperty=(property,options)=>{if(Array.isArray(property)){return property.map(propertyEntry=>getEndpointProperty(propertyEntry,options))}switch(typeof property){case"string":return evaluateTemplate(property,options);case"object":if(property===null){throw new EndpointError("Unexpected endpoint property: ".concat(property))}return getEndpointProperties(property,options);case"boolean":return property;default:throw new EndpointError("Unexpected endpoint property type: ".concat(typeof property))}};const getEndpointProperties=(properties,options)=>Object.entries(properties).reduce((acc,_ref18)=>{let[propertyKey,propertyVal]=_ref18;return{...acc,[propertyKey]:getEndpointProperty(propertyVal,options)}},{});const getEndpointUrl=(endpointUrl,options)=>{const expression=evaluateExpression(endpointUrl,"Endpoint URL",options);if(typeof expression==="string"){try{return new URL(expression)}catch(error){console.error("Failed to construct URL with ".concat(expression),error);throw error}}throw new EndpointError("Endpoint URL must be a string, got ".concat(typeof expression))};const evaluateEndpointRule=(endpointRule,options)=>{var _options$logger4,_options$logger4$debu;const{conditions,endpoint}=endpointRule;const{result,referenceRecord}=evaluateConditions(conditions,options);if(!result){return}const endpointRuleOptions={...options,referenceRecord:{...options.referenceRecord,...referenceRecord}};const{url,properties,headers}=endpoint;(_options$logger4=options.logger)===null||_options$logger4===void 0?void 0:(_options$logger4$debu=_options$logger4.debug)===null||_options$logger4$debu===void 0?void 0:_options$logger4$debu.call(_options$logger4,debugId,"Resolving endpoint from template: ".concat(toDebugString(endpoint)));return{...(headers!=undefined&&{headers:getEndpointHeaders(headers,endpointRuleOptions)}),...(properties!=undefined&&{properties:getEndpointProperties(properties,endpointRuleOptions)}),url:getEndpointUrl(url,endpointRuleOptions)}};const evaluateErrorRule=(errorRule,options)=>{const{conditions,error}=errorRule;const{result,referenceRecord}=evaluateConditions(conditions,options);if(!result){return}throw new EndpointError(evaluateExpression(error,"Error",{...options,referenceRecord:{...options.referenceRecord,...referenceRecord}}))};const evaluateTreeRule=(treeRule,options)=>{const{conditions,rules}=treeRule;const{result,referenceRecord}=evaluateConditions(conditions,options);if(!result){return}return evaluateRules(rules,{...options,referenceRecord:{...options.referenceRecord,...referenceRecord}})};const evaluateRules=(rules,options)=>{for(const rule of rules){if(rule.type==="endpoint"){const endpointOrUndefined=evaluateEndpointRule(rule,options);if(endpointOrUndefined){return endpointOrUndefined}}else if(rule.type==="error"){evaluateErrorRule(rule,options)}else if(rule.type==="tree"){const endpointOrUndefined=evaluateTreeRule(rule,options);if(endpointOrUndefined){return endpointOrUndefined}}else{throw new EndpointError("Unknown endpoint rule: ".concat(rule))}}throw new EndpointError("Rules evaluation failed")};const resolveEndpoint=(ruleSetObject,options)=>{var _options$logger5,_options$logger5$debu,_options$endpointPara,_options$logger6,_options$logger6$debu;const{endpointParams,logger}=options;const{parameters,rules}=ruleSetObject;(_options$logger5=options.logger)===null||_options$logger5===void 0?void 0:(_options$logger5$debu=_options$logger5.debug)===null||_options$logger5$debu===void 0?void 0:_options$logger5$debu.call(_options$logger5,"".concat(debugId," Initial EndpointParams: ").concat(toDebugString(endpointParams)));const paramsWithDefault=Object.entries(parameters).filter(_ref19=>{let[,v]=_ref19;return v.default!=null}).map(_ref20=>{let[k,v]=_ref20;return[k,v.default]});if(paramsWithDefault.length>0){for(const[paramKey,paramDefaultValue]of paramsWithDefault){var _endpointParams$param;endpointParams[paramKey]=(_endpointParams$param=endpointParams[paramKey])!==null&&_endpointParams$param!==void 0?_endpointParams$param:paramDefaultValue}}const requiredParams=Object.entries(parameters).filter(_ref21=>{let[,v]=_ref21;return v.required}).map(_ref22=>{let[k]=_ref22;return k});for(const requiredParam of requiredParams){if(endpointParams[requiredParam]==null){throw new EndpointError("Missing required parameter: '".concat(requiredParam,"'"))}}const endpoint=evaluateRules(rules,{endpointParams,logger,referenceRecord:{}});if((_options$endpointPara=options.endpointParams)!==null&&_options$endpointPara!==void 0&&_options$endpointPara.Endpoint){try{const givenEndpoint=new URL(options.endpointParams.Endpoint);const{protocol,port}=givenEndpoint;endpoint.url.protocol=protocol;endpoint.url.port=port}catch(e){}}(_options$logger6=options.logger)===null||_options$logger6===void 0?void 0:(_options$logger6$debu=_options$logger6.debug)===null||_options$logger6$debu===void 0?void 0:_options$logger6$debu.call(_options$logger6,"".concat(debugId," Resolved endpoint: ").concat(toDebugString(endpoint)));return endpoint};const USER_AGENT="user-agent";const X_AMZ_USER_AGENT="x-amz-user-agent";const SPACE=" ";const UA_NAME_SEPARATOR="/";const UA_NAME_ESCAPE_REGEX=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g;const UA_VALUE_ESCAPE_REGEX=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g;const UA_ESCAPE_CHAR="-";const userAgentMiddleware=options=>(next,context)=>async args=>{var _context$userAgent,_options$customUserAg;const{request}=args;if(!HttpRequest$1.isInstance(request))return next(args);const{headers}=request;const userAgent=(context===null||context===void 0?void 0:(_context$userAgent=context.userAgent)===null||_context$userAgent===void 0?void 0:_context$userAgent.map(escapeUserAgent))||[];const defaultUserAgent=(await options.defaultUserAgentProvider()).map(escapeUserAgent);const customUserAgent=(options===null||options===void 0?void 0:(_options$customUserAg=options.customUserAgent)===null||_options$customUserAg===void 0?void 0:_options$customUserAg.map(escapeUserAgent))||[];const prefix=getUserAgentPrefix();const sdkUserAgentValue=(prefix?[prefix]:[]).concat([...defaultUserAgent,...userAgent,...customUserAgent]).join(SPACE);const normalUAValue=[...defaultUserAgent.filter(section=>section.startsWith("aws-sdk-")),...customUserAgent].join(SPACE);if(options.runtime!=="browser"){if(normalUAValue){headers[X_AMZ_USER_AGENT]=headers[X_AMZ_USER_AGENT]?"".concat(headers[USER_AGENT]," ").concat(normalUAValue):normalUAValue}headers[USER_AGENT]=sdkUserAgentValue}else{headers[X_AMZ_USER_AGENT]=sdkUserAgentValue}return next({...args,request})};const escapeUserAgent=userAgentPair=>{var _userAgentPair$;const name=userAgentPair[0].split(UA_NAME_SEPARATOR).map(part=>part.replace(UA_NAME_ESCAPE_REGEX,UA_ESCAPE_CHAR)).join(UA_NAME_SEPARATOR);const version=(_userAgentPair$=userAgentPair[1])===null||_userAgentPair$===void 0?void 0:_userAgentPair$.replace(UA_VALUE_ESCAPE_REGEX,UA_ESCAPE_CHAR);const prefixSeparatorIndex=name.indexOf(UA_NAME_SEPARATOR);const prefix=name.substring(0,prefixSeparatorIndex);let uaName=name.substring(prefixSeparatorIndex+1);if(prefix==="api"){uaName=uaName.toLowerCase()}return[prefix,uaName,version].filter(item=>item&&item.length>0).reduce((acc,item,index)=>{switch(index){case 0:return item;case 1:return"".concat(acc,"/").concat(item);default:return"".concat(acc,"#").concat(item)}},"")};const getUserAgentMiddlewareOptions={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:true};const getUserAgentPlugin=config=>({applyToStack:clientStack=>{clientStack.add(userAgentMiddleware(config),getUserAgentMiddlewareOptions)}});class NoOpLogger{trace(){}debug(){}info(){}warn(){}error(){}}const constructStack=()=>{let absoluteEntries=[];let relativeEntries=[];const entriesNameSet=new Set;const sort=entries=>entries.sort((a,b)=>stepWeights[b.step]-stepWeights[a.step]||priorityWeights[b.priority||"normal"]-priorityWeights[a.priority||"normal"]);const removeByName=toRemove=>{let isRemoved=false;const filterCb=entry=>{if(entry.name&&entry.name===toRemove){isRemoved=true;entriesNameSet.delete(toRemove);return false}return true};absoluteEntries=absoluteEntries.filter(filterCb);relativeEntries=relativeEntries.filter(filterCb);return isRemoved};const removeByReference=toRemove=>{let isRemoved=false;const filterCb=entry=>{if(entry.middleware===toRemove){isRemoved=true;if(entry.name)entriesNameSet.delete(entry.name);return false}return true};absoluteEntries=absoluteEntries.filter(filterCb);relativeEntries=relativeEntries.filter(filterCb);return isRemoved};const cloneTo=toStack=>{absoluteEntries.forEach(entry=>{toStack.add(entry.middleware,{...entry})});relativeEntries.forEach(entry=>{toStack.addRelativeTo(entry.middleware,{...entry})});return toStack};const expandRelativeMiddlewareList=from=>{const expandedMiddlewareList=[];from.before.forEach(entry=>{if(entry.before.length===0&&entry.after.length===0){expandedMiddlewareList.push(entry)}else{expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry))}});expandedMiddlewareList.push(from);from.after.reverse().forEach(entry=>{if(entry.before.length===0&&entry.after.length===0){expandedMiddlewareList.push(entry)}else{expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry))}});return expandedMiddlewareList};const getMiddlewareList=function(){let debug=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;const normalizedAbsoluteEntries=[];const normalizedRelativeEntries=[];const normalizedEntriesNameMap={};absoluteEntries.forEach(entry=>{const normalizedEntry={...entry,before:[],after:[]};if(normalizedEntry.name)normalizedEntriesNameMap[normalizedEntry.name]=normalizedEntry;normalizedAbsoluteEntries.push(normalizedEntry)});relativeEntries.forEach(entry=>{const normalizedEntry={...entry,before:[],after:[]};if(normalizedEntry.name)normalizedEntriesNameMap[normalizedEntry.name]=normalizedEntry;normalizedRelativeEntries.push(normalizedEntry)});normalizedRelativeEntries.forEach(entry=>{if(entry.toMiddleware){const toMiddleware=normalizedEntriesNameMap[entry.toMiddleware];if(toMiddleware===undefined){if(debug){return}throw new Error("".concat(entry.toMiddleware," is not found when adding ").concat(entry.name||"anonymous"," middleware ").concat(entry.relation," ").concat(entry.toMiddleware))}if(entry.relation==="after"){toMiddleware.after.push(entry)}if(entry.relation==="before"){toMiddleware.before.push(entry)}}});const mainChain=sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList,expendedMiddlewareList)=>{wholeList.push(...expendedMiddlewareList);return wholeList},[]);return mainChain};const stack={add:function(middleware){let options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const{name,override}=options;const entry={step:"initialize",priority:"normal",middleware,...options};if(name){if(entriesNameSet.has(name)){if(!override)throw new Error("Duplicate middleware name '".concat(name,"'"));const toOverrideIndex=absoluteEntries.findIndex(entry=>entry.name===name);const toOverride=absoluteEntries[toOverrideIndex];if(toOverride.step!==entry.step||toOverride.priority!==entry.priority){throw new Error("\"".concat(name,"\" middleware with ").concat(toOverride.priority," priority in ").concat(toOverride.step," step cannot be ")+"overridden by same-name middleware with ".concat(entry.priority," priority in ").concat(entry.step," step."))}absoluteEntries.splice(toOverrideIndex,1)}entriesNameSet.add(name)}absoluteEntries.push(entry)},addRelativeTo:(middleware,options)=>{const{name,override}=options;const entry={middleware,...options};if(name){if(entriesNameSet.has(name)){if(!override)throw new Error("Duplicate middleware name '".concat(name,"'"));const toOverrideIndex=relativeEntries.findIndex(entry=>entry.name===name);const toOverride=relativeEntries[toOverrideIndex];if(toOverride.toMiddleware!==entry.toMiddleware||toOverride.relation!==entry.relation){throw new Error("\"".concat(name,"\" middleware ").concat(toOverride.relation," \"").concat(toOverride.toMiddleware,"\" middleware cannot be overridden ")+"by same-name middleware ".concat(entry.relation," \"").concat(entry.toMiddleware,"\" middleware."))}relativeEntries.splice(toOverrideIndex,1)}entriesNameSet.add(name)}relativeEntries.push(entry)},clone:()=>cloneTo(constructStack()),use:plugin=>{plugin.applyToStack(stack)},remove:toRemove=>{if(typeof toRemove==="string")return removeByName(toRemove);else return removeByReference(toRemove)},removeByTag:toRemove=>{let isRemoved=false;const filterCb=entry=>{const{tags,name}=entry;if(tags&&tags.includes(toRemove)){if(name)entriesNameSet.delete(name);isRemoved=true;return false}return true};absoluteEntries=absoluteEntries.filter(filterCb);relativeEntries=relativeEntries.filter(filterCb);return isRemoved},concat:from=>{const cloned=cloneTo(constructStack());cloned.use(from);return cloned},applyToStack:cloneTo,identify:()=>{return getMiddlewareList(true).map(mw=>{return mw.name+": "+(mw.tags||[]).join(",")})},resolve:(handler,context)=>{for(const middleware of getMiddlewareList().map(entry=>entry.middleware).reverse()){handler=middleware(handler,context)}return handler}};return stack};const stepWeights={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1};const priorityWeights={high:3,normal:2,low:1};class Client{constructor(config){this.middlewareStack=constructStack();this.config=config}send(command,optionsOrCb,cb){const options=typeof optionsOrCb!=="function"?optionsOrCb:undefined;const callback=typeof optionsOrCb==="function"?optionsOrCb:cb;const handler=command.resolveMiddleware(this.middlewareStack,this.config,options);if(callback){handler(command).then(result=>callback(null,result.output),err=>callback(err)).catch(()=>{})}else{return handler(command).then(result=>result.output)}}destroy(){if(this.config.requestHandler.destroy)this.config.requestHandler.destroy()}}const alphabetByEncoding={};const alphabetByValue=new Array(64);for(let i=0,start="A".charCodeAt(0),limit="Z".charCodeAt(0);i+start<=limit;i++){const char=String.fromCharCode(i+start);alphabetByEncoding[char]=i;alphabetByValue[i]=char}for(let i=0,start="a".charCodeAt(0),limit="z".charCodeAt(0);i+start<=limit;i++){const char=String.fromCharCode(i+start);const index=i+26;alphabetByEncoding[char]=index;alphabetByValue[index]=char}for(let i=0;i<10;i++){alphabetByEncoding[i.toString(10)]=i+52;const char=i.toString(10);const index=i+52;alphabetByEncoding[char]=index;alphabetByValue[index]=char}alphabetByEncoding["+"]=62;alphabetByValue[62]="+";alphabetByEncoding["/"]=63;alphabetByValue[63]="/";const bitsPerLetter=6;const bitsPerByte=8;const maxLetterValue=63;const fromBase64=input=>{let totalByteLength=input.length/4*3;if(input.slice(-2)==="=="){totalByteLength-=2}else if(input.slice(-1)==="="){totalByteLength--}const out=new ArrayBuffer(totalByteLength);const dataView=new DataView(out);for(let i=0;i<input.length;i+=4){let bits=0;let bitLength=0;for(let j=i,limit=i+3;j<=limit;j++){if(input[j]!=="="){if(!(input[j]in alphabetByEncoding)){throw new TypeError("Invalid character ".concat(input[j]," in base64 string."))}bits|=alphabetByEncoding[input[j]]<<(limit-j)*bitsPerLetter;bitLength+=bitsPerLetter}else{bits>>=bitsPerLetter}}const chunkOffset=i/4*3;bits>>=bitLength%bitsPerByte;const byteLength=Math.floor(bitLength/bitsPerByte);for(let k=0;k<byteLength;k++){const offset=(byteLength-k-1)*bitsPerByte;dataView.setUint8(chunkOffset+k,(bits&255<<offset)>>offset)}}return new Uint8Array(out)};function toBase64(input){let str="";for(let i=0;i<input.length;i+=3){let bits=0;let bitLength=0;for(let j=i,limit=Math.min(i+3,input.length);j<limit;j++){bits|=input[j]<<(limit-j-1)*bitsPerByte;bitLength+=bitsPerByte}const bitClusterCount=Math.ceil(bitLength/bitsPerLetter);bits<<=bitClusterCount*bitsPerLetter-bitLength;for(let k=1;k<=bitClusterCount;k++){const offset=(bitClusterCount-k)*bitsPerLetter;str+=alphabetByValue[(bits&maxLetterValue<<offset)>>offset]}str+="==".slice(0,4-bitClusterCount)}return str}function transformToString(payload){let encoding=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"utf-8";if(encoding==="base64"){return toBase64(payload)}return toUtf8(payload)}function transformFromString(str,encoding){if(encoding==="base64"){return Uint8ArrayBlobAdapter.mutate(fromBase64(str))}return Uint8ArrayBlobAdapter.mutate(fromUtf8$1(str))}class Uint8ArrayBlobAdapter extends Uint8Array{static fromString(source){let encoding=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"utf-8";switch(typeof source){case"string":return transformFromString(source,encoding);default:throw new Error("Unsupported conversion from ".concat(typeof source," to Uint8ArrayBlobAdapter."))}}static mutate(source){Object.setPrototypeOf(source,Uint8ArrayBlobAdapter.prototype);return source}transformToString(){let encoding=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"utf-8";return transformToString(this,encoding)}}function buildQueryString(query){const parts=[];for(let key of Object.keys(query).sort()){const value=query[key];key=escapeUri$1(key);if(Array.isArray(value)){for(let i=0,iLen=value.length;i<iLen;i++){parts.push("".concat(key,"=").concat(escapeUri$1(value[i])))}}else{let qsEntry=key;if(value||typeof value==="string"){qsEntry+="=".concat(escapeUri$1(value))}parts.push(qsEntry)}}return parts.join("&")}function requestTimeout(){let timeoutInMs=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;return new Promise((resolve,reject)=>{if(timeoutInMs){setTimeout(()=>{const timeoutError=new Error("Request did not complete within ".concat(timeoutInMs," ms"));timeoutError.name="TimeoutError";reject(timeoutError)},timeoutInMs)}})}class FetchHttpHandler{constructor(options){if(typeof options==="function"){this.configProvider=options().then(opts=>opts||{})}else{this.config=options!==null&&options!==void 0?options:{};this.configProvider=Promise.resolve(this.config)}}destroy(){}async handle(request){let{abortSignal}=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!this.config){this.config=await this.configProvider}const requestTimeoutInMs=this.config.requestTimeout;if(abortSignal!==null&&abortSignal!==void 0&&abortSignal.aborted){const abortError=new Error("Request aborted");abortError.name="AbortError";return Promise.reject(abortError)}let path=request.path;const queryString=buildQueryString(request.query||{});if(queryString){path+="?".concat(queryString)}if(request.fragment){path+="#".concat(request.fragment)}let auth="";if(request.username!=null||request.password!=null){var _request$username,_request$password;const username=(_request$username=request.username)!==null&&_request$username!==void 0?_request$username:"";const password=(_request$password=request.password)!==null&&_request$password!==void 0?_request$password:"";auth="".concat(username,":").concat(password,"@")}const{port,method}=request;const url="".concat(request.protocol,"//").concat(auth).concat(request.hostname).concat(port?":".concat(port):"").concat(path);const body=method==="GET"||method==="HEAD"?undefined:request.body;const requestOptions={body,headers:new Headers(request.headers),method:method};if(typeof AbortController!=="undefined"){requestOptions["signal"]=abortSignal}const fetchRequest=new Request(url,requestOptions);const raceOfPromises=[fetch(fetchRequest).then(response=>{const fetchHeaders=response.headers;const transformedHeaders={};for(const pair of fetchHeaders.entries()){transformedHeaders[pair[0]]=pair[1]}const hasReadableStream=response.body!=undefined;if(!hasReadableStream){return response.blob().then(body=>({response:new HttpResponse({headers:transformedHeaders,reason:response.statusText,statusCode:response.status,body})}))}return{response:new HttpResponse({headers:transformedHeaders,reason:response.statusText,statusCode:response.status,body:response.body})}}),requestTimeout(requestTimeoutInMs)];if(abortSignal){raceOfPromises.push(new Promise((resolve,reject)=>{abortSignal.onabort=()=>{const abortError=new Error("Request aborted");abortError.name="AbortError";reject(abortError)}}))}return Promise.race(raceOfPromises)}}const streamCollector=stream=>{if(typeof Blob==="function"&&stream instanceof Blob){return collectBlob(stream)}return collectStream(stream)};async function collectBlob(blob){const base64=await readToBase64(blob);const arrayBuffer=fromBase64(base64);return new Uint8Array(arrayBuffer)}async function collectStream(stream){let res=new Uint8Array(0);const reader=stream.getReader();let isDone=false;while(!isDone){const{done,value}=await reader.read();if(value){const prior=res;res=new Uint8Array(prior.length+value.length);res.set(prior);res.set(value,prior.length)}isDone=done}return res}function readToBase64(blob){return new Promise((resolve,reject)=>{const reader=new FileReader;reader.onloadend=()=>{var _reader$result;if(reader.readyState!==2){return reject(new Error("Reader aborted too early"))}const result=(_reader$result=reader.result)!==null&&_reader$result!==void 0?_reader$result:"";const commaIndex=result.indexOf(",");const dataOffset=commaIndex>-1?commaIndex+1:result.length;resolve(result.substring(dataOffset))};reader.onabort=()=>reject(new Error("Read aborted"));reader.onerror=()=>reject(reader.error);reader.readAsDataURL(blob)})}const collectBody=async function(){let streamBody=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new Uint8Array;let context=arguments.length>1?arguments[1]:undefined;if(streamBody instanceof Uint8Array){return Uint8ArrayBlobAdapter.mutate(streamBody)}if(!streamBody){return Uint8ArrayBlobAdapter.mutate(new Uint8Array)}const fromContext=context.streamCollector(streamBody);return Uint8ArrayBlobAdapter.mutate(await fromContext)};class Command{constructor(){this.middlewareStack=constructStack()}}const expectNumber=value=>{if(value===null||value===undefined){return undefined}if(typeof value==="string"){const parsed=parseFloat(value);if(!Number.isNaN(parsed)){if(String(parsed)!==String(value)){logger.warn(stackTraceWarning("Expected number but observed string: ".concat(value)))}return parsed}}if(typeof value==="number"){return value}throw new TypeError("Expected number, got ".concat(typeof value,": ").concat(value))};const expectNonNull=(value,location)=>{if(value===null||value===undefined){if(location){throw new TypeError("Expected a non-null value for ".concat(location))}throw new TypeError("Expected a non-null value")}return value};const expectString=value=>{if(value===null||value===undefined){return undefined}if(typeof value==="string"){return value}if(["boolean","number","bigint"].includes(typeof value)){logger.warn(stackTraceWarning("Expected string, got ".concat(typeof value,": ").concat(value)));return String(value)}throw new TypeError("Expected string, got ".concat(typeof value,": ").concat(value))};const strictParseDouble=value=>{if(typeof value=="string"){return expectNumber(parseNumber(value))}return expectNumber(value)};const NUMBER_REGEX=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g;const parseNumber=value=>{const matches=value.match(NUMBER_REGEX);if(matches===null||matches[0].length!==value.length){throw new TypeError("Expected real number, got implicit NaN")}return parseFloat(value)};const stackTraceWarning=message=>{return String(new TypeError(message).stack||message).split("\n").slice(0,5).filter(s=>!s.includes("stackTraceWarning")).join("\n")};const logger={warn:console.warn};const parseEpochTimestamp=value=>{if(value===null||value===undefined){return undefined}let valueAsDouble;if(typeof value==="number"){valueAsDouble=value}else if(typeof value==="string"){valueAsDouble=strictParseDouble(value)}else{throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation")}if(Number.isNaN(valueAsDouble)||valueAsDouble===Infinity||valueAsDouble===-Infinity){throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics")}return new Date(Math.round(valueAsDouble*1000))};class ServiceException extends Error{constructor(options){super(options.message);Object.setPrototypeOf(this,ServiceException.prototype);this.name=options.name;this.$fault=options.$fault;this.$metadata=options.$metadata}}const decorateServiceException=function(exception){let additions=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Object.entries(additions).filter(_ref23=>{let[,v]=_ref23;return v!==undefined}).forEach(_ref24=>{let[k,v]=_ref24;if(exception[k]==undefined||exception[k]===""){exception[k]=v}});const message=exception.message||exception.Message||"UnknownError";exception.message=message;delete exception.Message;return exception};const throwDefaultError$1=_ref25=>{let{output,parsedBody,exceptionCtor,errorCode}=_ref25;const $metadata=deserializeMetadata$1(output);const statusCode=$metadata.httpStatusCode?$metadata.httpStatusCode+"":undefined;const response=new exceptionCtor({name:(parsedBody===null||parsedBody===void 0?void 0:parsedBody.code)||(parsedBody===null||parsedBody===void 0?void 0:parsedBody.Code)||errorCode||statusCode||"UnknownError",$fault:"client",$metadata});throw decorateServiceException(response,parsedBody)};const withBaseException=ExceptionCtor=>{return _ref26=>{let{output,parsedBody,errorCode}=_ref26;throwDefaultError$1({output,parsedBody,exceptionCtor:ExceptionCtor,errorCode})}};const deserializeMetadata$1=output=>{var _ref27,_output$headers$xAmz;return{httpStatusCode:output.statusCode,requestId:(_ref27=(_output$headers$xAmz=output.headers["x-amzn-requestid"])!==null&&_output$headers$xAmz!==void 0?_output$headers$xAmz:output.headers["x-amzn-request-id"])!==null&&_ref27!==void 0?_ref27:output.headers["x-amz-request-id"],extendedRequestId:output.headers["x-amz-id-2"],cfId:output.headers["x-amz-cf-id"]}};const loadConfigsForDefaultMode=mode=>{switch(mode){case"standard":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"mobile":return{retryMode:"standard",connectionTimeout:30000};default:return{}}};const StringWrapper=function(){const Class=Object.getPrototypeOf(this).constructor;const Constructor=Function.bind.apply(String,[null,...arguments]);const instance=new Constructor;Object.setPrototypeOf(instance,Class.prototype);return instance};StringWrapper.prototype=Object.create(String.prototype,{constructor:{value:StringWrapper,enumerable:false,writable:true,configurable:true}});Object.setPrototypeOf(StringWrapper,String);const take=(source,instructions)=>{const out={};for(const key in instructions){applyInstruction(out,source,instructions,key)}return out};const applyInstruction=(target,source,instructions,targetKey)=>{if(source!==null){let instruction=instructions[targetKey];if(typeof instruction==="function"){instruction=[,instruction]}const[filter=nonNullish,valueFn=pass,sourceKey=targetKey]=instruction;if(typeof filter==="function"&&filter(source[sourceKey])||typeof filter!=="function"&&!!filter){target[targetKey]=valueFn(source[sourceKey])}return}let[filter,value]=instructions[targetKey];if(typeof value==="function"){let _value;const defaultFilterPassed=filter===undefined&&(_value=value())!=null;const customFilterPassed=typeof filter==="function"&&!!filter(void 0)||typeof filter!=="function"&&!!filter;if(defaultFilterPassed){target[targetKey]=_value}else if(customFilterPassed){target[targetKey]=value()}}else{const defaultFilterPassed=filter===undefined&&value!=null;const customFilterPassed=typeof filter==="function"&&!!filter(value)||typeof filter!=="function"&&!!filter;if(defaultFilterPassed||customFilterPassed){target[targetKey]=value}}};const nonNullish=_=>_!=null;const pass=_=>_;const _json=obj=>{if(obj==null){return{}}if(Array.isArray(obj)){return obj.filter(_=>_!=null)}if(typeof obj==="object"){const target={};for(const key of Object.keys(obj)){if(obj[key]==null){continue}target[key]=_json(obj[key])}return target}return obj};const resolveClientEndpointParameters=options=>{var _options$useDualstack,_options$useFipsEndpo;return{...options,useDualstackEndpoint:(_options$useDualstack=options.useDualstackEndpoint)!==null&&_options$useDualstack!==void 0?_options$useDualstack:false,useFipsEndpoint:(_options$useFipsEndpo=options.useFipsEndpoint)!==null&&_options$useFipsEndpo!==void 0?_options$useFipsEndpo:false,defaultSigningName:"cognito-identity"}};var name="@aws-sdk/client-cognito-identity";var description="AWS SDK for JavaScript Cognito Identity Client for Node.js, Browser and React Native";var version="3.359.0";var scripts={build:"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"tsc -p tsconfig.cjs.json","build:docs":"typedoc","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4",clean:"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo cognito-identity","test:e2e":"ts-mocha test/**/*.ispec.ts && karma start karma.conf.js"};var main="./dist-cjs/index.js";var types="./dist-types/index.d.ts";var module="./dist-es/index.js";var sideEffects=false;var dependencies={"@aws-crypto/sha256-browser":"3.0.0","@aws-crypto/sha256-js":"3.0.0","@aws-sdk/client-sts":"3.359.0","@aws-sdk/config-resolver":"3.357.0","@aws-sdk/credential-provider-node":"3.358.0","@aws-sdk/fetch-http-handler":"3.357.0","@aws-sdk/hash-node":"3.357.0","@aws-sdk/invalid-dependency":"3.357.0","@aws-sdk/middleware-content-length":"3.357.0","@aws-sdk/middleware-endpoint":"3.357.0","@aws-sdk/middleware-host-header":"3.357.0","@aws-sdk/middleware-logger":"3.357.0","@aws-sdk/middleware-recursion-detection":"3.357.0","@aws-sdk/middleware-retry":"3.357.0","@aws-sdk/middleware-serde":"3.357.0","@aws-sdk/middleware-signing":"3.357.0","@aws-sdk/middleware-stack":"3.357.0","@aws-sdk/middleware-user-agent":"3.357.0","@aws-sdk/node-config-provider":"3.357.0","@aws-sdk/node-http-handler":"3.357.0","@aws-sdk/smithy-client":"3.358.0","@aws-sdk/types":"3.357.0","@aws-sdk/url-parser":"3.357.0","@aws-sdk/util-base64":"3.310.0","@aws-sdk/util-body-length-browser":"3.310.0","@aws-sdk/util-body-length-node":"3.310.0","@aws-sdk/util-defaults-mode-browser":"3.358.0","@aws-sdk/util-defaults-mode-node":"3.358.0","@aws-sdk/util-endpoints":"3.357.0","@aws-sdk/util-retry":"3.357.0","@aws-sdk/util-user-agent-browser":"3.357.0","@aws-sdk/util-user-agent-node":"3.357.0","@aws-sdk/util-utf8":"3.310.0","@smithy/protocol-http":"^1.0.1","@smithy/types":"^1.0.0",tslib:"^2.5.0"};var devDependencies={"@aws-sdk/client-iam":"3.359.0","@aws-sdk/service-client-documentation-generator":"3.310.0","@tsconfig/node14":"1.0.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^14.14.31",concurrently:"7.0.0","downlevel-dts":"0.10.1",rimraf:"3.0.2",typedoc:"0.23.23",typescript:"~4.9.5"};var engines={node:">=14.0.0"};var typesVersions={"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}};var files=["dist-*/**"];var author={name:"AWS SDK for JavaScript Team",url:"https://aws.amazon.com/javascript/"};var license="Apache-2.0";var browser={"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"};var homepage="https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-cognito-identity";var repository={type:"git",url:"https://github.com/aws/aws-sdk-js-v3.git",directory:"clients/client-cognito-identity"};var packageInfo={name:name,description:description,version:version,scripts:scripts,main:main,types:types,module:module,sideEffects:sideEffects,dependencies:dependencies,devDependencies:devDependencies,engines:engines,typesVersions:typesVersions,files:files,author:author,license:license,browser:browser,"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},homepage:homepage,repository:repository};var build$5={};/*! *****************************************************************************
52
+ Copyright (c) Microsoft Corporation.
53
+
54
+ Permission to use, copy, modify, and/or distribute this software for any
55
+ purpose with or without fee is hereby granted.
56
+
57
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
58
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
59
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
60
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
61
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
62
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
63
+ PERFORMANCE OF THIS SOFTWARE.
64
+ ***************************************************************************** */ /* global Reflect, Promise */var extendStatics$4=function(d,b){extendStatics$4=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics$4(d,b)};function __extends$4(d,b){extendStatics$4(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}var __assign$7=function(){__assign$7=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$7.apply(this,arguments)};function __rest$5(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t}function __decorate$4(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __param$4(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __metadata$4(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)}function __awaiter$4(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __generator$4(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}function __createBinding$4(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]}function __exportStar$4(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))exports[p]=m[p]}function __values$4(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$8(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar}function __spread$4(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read$8(arguments[i]));return ar}function __spreadArrays$4(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r}function __await$4(v){return this instanceof __await$4?(this.v=v,this):new __await$4(v)}function __asyncGenerator$4(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await$4?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}}function __asyncDelegator$4(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await$4(o[n](v)),done:n==="return"}:f?f(v):v}:f}}function __asyncValues$4(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values$4==="function"?__values$4(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}}function __makeTemplateObject$4(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked}function __importStar$4(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result.default=mod;return result}function __importDefault$4(mod){return mod&&mod.__esModule?mod:{default:mod}}function __classPrivateFieldGet$4(receiver,privateMap){if(!privateMap.has(receiver)){throw new TypeError("attempted to get private field on non-instance")}return privateMap.get(receiver)}function __classPrivateFieldSet$4(receiver,privateMap,value){if(!privateMap.has(receiver)){throw new TypeError("attempted to set private field on non-instance")}privateMap.set(receiver,value);return value}var tslib_es6$4=/*#__PURE__*/Object.freeze({__proto__:null,get __assign(){return __assign$7},__asyncDelegator:__asyncDelegator$4,__asyncGenerator:__asyncGenerator$4,__asyncValues:__asyncValues$4,__await:__await$4,__awaiter:__awaiter$4,__classPrivateFieldGet:__classPrivateFieldGet$4,__classPrivateFieldSet:__classPrivateFieldSet$4,__createBinding:__createBinding$4,__decorate:__decorate$4,__exportStar:__exportStar$4,__extends:__extends$4,__generator:__generator$4,__importDefault:__importDefault$4,__importStar:__importStar$4,__makeTemplateObject:__makeTemplateObject$4,__metadata:__metadata$4,__param:__param$4,__read:__read$8,__rest:__rest$5,__spread:__spread$4,__spreadArrays:__spreadArrays$4,__values:__values$4});var require$$0$4=/*@__PURE__*/getAugmentedNamespace(tslib_es6$4);var crossPlatformSha256={};var ie11Sha256={};var isEmptyData$2={};var hasRequiredIsEmptyData;function requireIsEmptyData(){if(hasRequiredIsEmptyData)return isEmptyData$2;hasRequiredIsEmptyData=1;Object.defineProperty(isEmptyData$2,"__esModule",{value:true});isEmptyData$2.isEmptyData=void 0;function isEmptyData(data){if(typeof data==="string"){return data.length===0}return data.byteLength===0}isEmptyData$2.isEmptyData=isEmptyData;return isEmptyData$2}var constants$2={};var hasRequiredConstants$1;function requireConstants$1(){if(hasRequiredConstants$1)return constants$2;hasRequiredConstants$1=1;(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.EMPTY_DATA_SHA_256=exports.SHA_256_HMAC_ALGO=exports.SHA_256_HASH=void 0;exports.SHA_256_HASH={name:"SHA-256"};exports.SHA_256_HMAC_ALGO={name:"HMAC",hash:exports.SHA_256_HASH};exports.EMPTY_DATA_SHA_256=new Uint8Array([227,176,196,66,152,252,28,20,154,251,244,200,153,111,185,36,39,174,65,228,100,155,147,76,164,149,153,27,120,82,184,85])})(constants$2);return constants$2}const fallbackWindow={};function locateWindow(){if(typeof window!=="undefined"){return window}else if(typeof self!=="undefined"){return self}return fallbackWindow}var distEs=/*#__PURE__*/Object.freeze({__proto__:null,locateWindow:locateWindow});var require$$5=/*@__PURE__*/getAugmentedNamespace(distEs);var hasRequiredIe11Sha256;function requireIe11Sha256(){if(hasRequiredIe11Sha256)return ie11Sha256;hasRequiredIe11Sha256=1;Object.defineProperty(ie11Sha256,"__esModule",{value:true});ie11Sha256.Sha256=void 0;var isEmptyData_1=requireIsEmptyData();var constants_1=requireConstants$1();var util_utf8_browser_1=require$$0$5;var util_locate_window_1=require$$5;var Sha256=/** @class */function(){function Sha256(secret){this.secret=secret;this.reset()}Sha256.prototype.update=function(toHash){var _this=this;if((0,isEmptyData_1.isEmptyData)(toHash)){return}this.operation=this.operation.then(function(operation){operation.onerror=function(){_this.operation=Promise.reject(new Error("Error encountered updating hash"))};operation.process(toArrayBufferView(toHash));return operation});this.operation.catch(function(){})};Sha256.prototype.digest=function(){return this.operation.then(function(operation){return new Promise(function(resolve,reject){operation.onerror=function(){reject(new Error("Error encountered finalizing hash"))};operation.oncomplete=function(){if(operation.result){resolve(new Uint8Array(operation.result))}reject(new Error("Error encountered finalizing hash"))};operation.finish()})})};Sha256.prototype.reset=function(){if(this.secret){this.operation=getKeyPromise(this.secret).then(function(keyData){return(0,util_locate_window_1.locateWindow)().msCrypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO,keyData)});this.operation.catch(function(){})}else{this.operation=Promise.resolve((0,util_locate_window_1.locateWindow)().msCrypto.subtle.digest("SHA-256"))}};return Sha256}();ie11Sha256.Sha256=Sha256;function getKeyPromise(secret){return new Promise(function(resolve,reject){var keyOperation=(0,util_locate_window_1.locateWindow)().msCrypto.subtle.importKey("raw",toArrayBufferView(secret),constants_1.SHA_256_HMAC_ALGO,false,["sign"]);keyOperation.oncomplete=function(){if(keyOperation.result){resolve(keyOperation.result)}reject(new Error("ImportKey completed without importing key."))};keyOperation.onerror=function(){reject(new Error("ImportKey failed to import key."))}})}function toArrayBufferView(data){if(typeof data==="string"){return(0,util_utf8_browser_1.fromUtf8)(data)}if(ArrayBuffer.isView(data)){return new Uint8Array(data.buffer,data.byteOffset,data.byteLength/Uint8Array.BYTES_PER_ELEMENT)}return new Uint8Array(data)}return ie11Sha256}var webCryptoSha256={};var hasRequiredWebCryptoSha256;function requireWebCryptoSha256(){if(hasRequiredWebCryptoSha256)return webCryptoSha256;hasRequiredWebCryptoSha256=1;Object.defineProperty(webCryptoSha256,"__esModule",{value:true});webCryptoSha256.Sha256=void 0;var util_1=requireBuild$4();var constants_1=requireConstants$1();var util_locate_window_1=require$$5;var Sha256=/** @class */function(){function Sha256(secret){this.toHash=new Uint8Array(0);this.secret=secret;this.reset()}Sha256.prototype.update=function(data){if((0,util_1.isEmptyData)(data)){return}var update=(0,util_1.convertToBuffer)(data);var typedArray=new Uint8Array(this.toHash.byteLength+update.byteLength);typedArray.set(this.toHash,0);typedArray.set(update,this.toHash.byteLength);this.toHash=typedArray};Sha256.prototype.digest=function(){var _this=this;if(this.key){return this.key.then(function(key){return(0,util_locate_window_1.locateWindow)().crypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO,key,_this.toHash).then(function(data){return new Uint8Array(data)})})}if((0,util_1.isEmptyData)(this.toHash)){return Promise.resolve(constants_1.EMPTY_DATA_SHA_256)}return Promise.resolve().then(function(){return(0,util_locate_window_1.locateWindow)().crypto.subtle.digest(constants_1.SHA_256_HASH,_this.toHash)}).then(function(data){return Promise.resolve(new Uint8Array(data))})};Sha256.prototype.reset=function(){var _this=this;this.toHash=new Uint8Array(0);if(this.secret&&this.secret!==void 0){this.key=new Promise(function(resolve,reject){(0,util_locate_window_1.locateWindow)().crypto.subtle.importKey("raw",(0,util_1.convertToBuffer)(_this.secret),constants_1.SHA_256_HMAC_ALGO,false,["sign"]).then(resolve,reject)});this.key.catch(function(){})}};return Sha256}();webCryptoSha256.Sha256=Sha256;return webCryptoSha256}var build$4={};/*! *****************************************************************************
65
+ Copyright (c) Microsoft Corporation.
66
+
67
+ Permission to use, copy, modify, and/or distribute this software for any
68
+ purpose with or without fee is hereby granted.
69
+
70
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
71
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
72
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
73
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
74
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
75
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
76
+ PERFORMANCE OF THIS SOFTWARE.
77
+ ***************************************************************************** */ /* global Reflect, Promise */var extendStatics$3=function(d,b){extendStatics$3=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics$3(d,b)};function __extends$3(d,b){extendStatics$3(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}var __assign$6=function(){__assign$6=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$6.apply(this,arguments)};function __rest$4(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t}function __decorate$3(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __param$3(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __metadata$3(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)}function __awaiter$3(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __generator$3(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}function __createBinding$3(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]}function __exportStar$3(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))exports[p]=m[p]}function __values$3(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$7(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar}function __spread$3(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read$7(arguments[i]));return ar}function __spreadArrays$3(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r}function __await$3(v){return this instanceof __await$3?(this.v=v,this):new __await$3(v)}function __asyncGenerator$3(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await$3?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}}function __asyncDelegator$3(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await$3(o[n](v)),done:n==="return"}:f?f(v):v}:f}}function __asyncValues$3(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values$3==="function"?__values$3(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}}function __makeTemplateObject$3(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked}function __importStar$3(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result.default=mod;return result}function __importDefault$3(mod){return mod&&mod.__esModule?mod:{default:mod}}function __classPrivateFieldGet$3(receiver,privateMap){if(!privateMap.has(receiver)){throw new TypeError("attempted to get private field on non-instance")}return privateMap.get(receiver)}function __classPrivateFieldSet$3(receiver,privateMap,value){if(!privateMap.has(receiver)){throw new TypeError("attempted to set private field on non-instance")}privateMap.set(receiver,value);return value}var tslib_es6$3=/*#__PURE__*/Object.freeze({__proto__:null,get __assign(){return __assign$6},__asyncDelegator:__asyncDelegator$3,__asyncGenerator:__asyncGenerator$3,__asyncValues:__asyncValues$3,__await:__await$3,__awaiter:__awaiter$3,__classPrivateFieldGet:__classPrivateFieldGet$3,__classPrivateFieldSet:__classPrivateFieldSet$3,__createBinding:__createBinding$3,__decorate:__decorate$3,__exportStar:__exportStar$3,__extends:__extends$3,__generator:__generator$3,__importDefault:__importDefault$3,__importStar:__importStar$3,__makeTemplateObject:__makeTemplateObject$3,__metadata:__metadata$3,__param:__param$3,__read:__read$7,__rest:__rest$4,__spread:__spread$3,__spreadArrays:__spreadArrays$3,__values:__values$3});var require$$0$3=/*@__PURE__*/getAugmentedNamespace(tslib_es6$3);var jsSha256$1={};var constants$1={};var hasRequiredConstants;function requireConstants(){if(hasRequiredConstants)return constants$1;hasRequiredConstants=1;Object.defineProperty(constants$1,"__esModule",{value:true});constants$1.MAX_HASHABLE_LENGTH=constants$1.INIT=constants$1.KEY=constants$1.DIGEST_LENGTH=constants$1.BLOCK_SIZE=void 0;/**
78
+ * @internal
79
+ */constants$1.BLOCK_SIZE=64;/**
80
+ * @internal
81
+ */constants$1.DIGEST_LENGTH=32;/**
82
+ * @internal
83
+ */constants$1.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);/**
84
+ * @internal
85
+ */constants$1.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];/**
86
+ * @internal
87
+ */constants$1.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1;return constants$1}var RawSha256$2={};var hasRequiredRawSha256;function requireRawSha256(){if(hasRequiredRawSha256)return RawSha256$2;hasRequiredRawSha256=1;Object.defineProperty(RawSha256$2,"__esModule",{value:true});RawSha256$2.RawSha256=void 0;var constants_1=requireConstants();/**
88
+ * @internal
89
+ */var RawSha256=/** @class */function(){function RawSha256(){this.state=Int32Array.from(constants_1.INIT);this.temp=new Int32Array(64);this.buffer=new Uint8Array(64);this.bufferLength=0;this.bytesHashed=0;/**
90
+ * @internal
91
+ */this.finished=false}RawSha256.prototype.update=function(data){if(this.finished){throw new Error("Attempted to update an already finished hash.")}var position=0;var byteLength=data.byteLength;this.bytesHashed+=byteLength;if(this.bytesHashed*8>constants_1.MAX_HASHABLE_LENGTH){throw new Error("Cannot hash more than 2^53 - 1 bits")}while(byteLength>0){this.buffer[this.bufferLength++]=data[position++];byteLength--;if(this.bufferLength===constants_1.BLOCK_SIZE){this.hashBuffer();this.bufferLength=0}}};RawSha256.prototype.digest=function(){if(!this.finished){var bitsHashed=this.bytesHashed*8;var bufferView=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength);var undecoratedLength=this.bufferLength;bufferView.setUint8(this.bufferLength++,128);// Ensure the final block has enough room for the hashed length
92
+ if(undecoratedLength%constants_1.BLOCK_SIZE>=constants_1.BLOCK_SIZE-8){for(var i=this.bufferLength;i<constants_1.BLOCK_SIZE;i++){bufferView.setUint8(i,0)}this.hashBuffer();this.bufferLength=0}for(var i=this.bufferLength;i<constants_1.BLOCK_SIZE-8;i++){bufferView.setUint8(i,0)}bufferView.setUint32(constants_1.BLOCK_SIZE-8,Math.floor(bitsHashed/4294967296),true);bufferView.setUint32(constants_1.BLOCK_SIZE-4,bitsHashed);this.hashBuffer();this.finished=true}// The value in state is little-endian rather than big-endian, so flip
93
+ // each word into a new Uint8Array
94
+ var out=new Uint8Array(constants_1.DIGEST_LENGTH);for(var i=0;i<8;i++){out[i*4]=this.state[i]>>>24&255;out[i*4+1]=this.state[i]>>>16&255;out[i*4+2]=this.state[i]>>>8&255;out[i*4+3]=this.state[i]>>>0&255}return out};RawSha256.prototype.hashBuffer=function(){var _a=this,buffer=_a.buffer,state=_a.state;var state0=state[0],state1=state[1],state2=state[2],state3=state[3],state4=state[4],state5=state[5],state6=state[6],state7=state[7];for(var i=0;i<constants_1.BLOCK_SIZE;i++){if(i<16){this.temp[i]=(buffer[i*4]&255)<<24|(buffer[i*4+1]&255)<<16|(buffer[i*4+2]&255)<<8|buffer[i*4+3]&255}else{var u=this.temp[i-2];var t1_1=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10;u=this.temp[i-15];var t2_1=(u>>>7|u<<25)^(u>>>18|u<<14)^u>>>3;this.temp[i]=(t1_1+this.temp[i-7]|0)+(t2_1+this.temp[i-16]|0)}var t1=(((state4>>>6|state4<<26)^(state4>>>11|state4<<21)^(state4>>>25|state4<<7))+(state4&state5^~state4&state6)|0)+(state7+(constants_1.KEY[i]+this.temp[i]|0)|0)|0;var t2=((state0>>>2|state0<<30)^(state0>>>13|state0<<19)^(state0>>>22|state0<<10))+(state0&state1^state0&state2^state1&state2)|0;state7=state6;state6=state5;state5=state4;state4=state3+t1|0;state3=state2;state2=state1;state1=state0;state0=t1+t2|0}state[0]+=state0;state[1]+=state1;state[2]+=state2;state[3]+=state3;state[4]+=state4;state[5]+=state5;state[6]+=state6;state[7]+=state7};return RawSha256}();RawSha256$2.RawSha256=RawSha256;return RawSha256$2}var hasRequiredJsSha256;function requireJsSha256(){if(hasRequiredJsSha256)return jsSha256$1;hasRequiredJsSha256=1;Object.defineProperty(jsSha256$1,"__esModule",{value:true});jsSha256$1.Sha256=void 0;var tslib_1=require$$0$3;var constants_1=requireConstants();var RawSha256_1=requireRawSha256();var util_1=requireBuild$4();var Sha256=/** @class */function(){function Sha256(secret){this.secret=secret;this.hash=new RawSha256_1.RawSha256;this.reset()}Sha256.prototype.update=function(toHash){if((0,util_1.isEmptyData)(toHash)||this.error){return}try{this.hash.update((0,util_1.convertToBuffer)(toHash))}catch(e){this.error=e}};/* This synchronous method keeps compatibility
95
+ * with the v2 aws-sdk.
96
+ */Sha256.prototype.digestSync=function(){if(this.error){throw this.error}if(this.outer){if(!this.outer.finished){this.outer.update(this.hash.digest())}return this.outer.digest()}return this.hash.digest()};/* The underlying digest method here is synchronous.
97
+ * To keep the same interface with the other hash functions
98
+ * the default is to expose this as an async method.
99
+ * However, it can sometimes be useful to have a sync method.
100
+ */Sha256.prototype.digest=function(){return tslib_1.__awaiter(this,void 0,void 0,function(){return tslib_1.__generator(this,function(_a){return[2/*return*/,this.digestSync()]})})};Sha256.prototype.reset=function(){this.hash=new RawSha256_1.RawSha256;if(this.secret){this.outer=new RawSha256_1.RawSha256;var inner=bufferFromSecret(this.secret);var outer=new Uint8Array(constants_1.BLOCK_SIZE);outer.set(inner);for(var i=0;i<constants_1.BLOCK_SIZE;i++){inner[i]^=54;outer[i]^=92}this.hash.update(inner);this.outer.update(outer);// overwrite the copied key in memory
101
+ for(var i=0;i<inner.byteLength;i++){inner[i]=0}}};return Sha256}();jsSha256$1.Sha256=Sha256;function bufferFromSecret(secret){var input=(0,util_1.convertToBuffer)(secret);if(input.byteLength>constants_1.BLOCK_SIZE){var bufferHash=new RawSha256_1.RawSha256;bufferHash.update(input);input=bufferHash.digest()}var buffer=new Uint8Array(constants_1.BLOCK_SIZE);buffer.set(input);return buffer}return jsSha256$1}var hasRequiredBuild$2;function requireBuild$2(){if(hasRequiredBuild$2)return build$4;hasRequiredBuild$2=1;(function(exports){Object.defineProperty(exports,"__esModule",{value:true});var tslib_1=require$$0$3;tslib_1.__exportStar(requireJsSha256(),exports)})(build$4);return build$4}var build$3={};/*! *****************************************************************************
102
+ Copyright (c) Microsoft Corporation.
103
+
104
+ Permission to use, copy, modify, and/or distribute this software for any
105
+ purpose with or without fee is hereby granted.
106
+
107
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
108
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
109
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
110
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
111
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
112
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
113
+ PERFORMANCE OF THIS SOFTWARE.
114
+ ***************************************************************************** */ /* global Reflect, Promise */var extendStatics$2=function(d,b){extendStatics$2=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics$2(d,b)};function __extends$2(d,b){extendStatics$2(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}var __assign$5=function(){__assign$5=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$5.apply(this,arguments)};function __rest$3(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t}function __decorate$2(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __param$2(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __metadata$2(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)}function __awaiter$2(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __generator$2(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}function __createBinding$2(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]}function __exportStar$2(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))exports[p]=m[p]}function __values$2(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$6(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar}function __spread$2(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read$6(arguments[i]));return ar}function __spreadArrays$2(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r}function __await$2(v){return this instanceof __await$2?(this.v=v,this):new __await$2(v)}function __asyncGenerator$2(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await$2?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}}function __asyncDelegator$2(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await$2(o[n](v)),done:n==="return"}:f?f(v):v}:f}}function __asyncValues$2(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values$2==="function"?__values$2(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}}function __makeTemplateObject$2(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked}function __importStar$2(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result.default=mod;return result}function __importDefault$2(mod){return mod&&mod.__esModule?mod:{default:mod}}function __classPrivateFieldGet$2(receiver,privateMap){if(!privateMap.has(receiver)){throw new TypeError("attempted to get private field on non-instance")}return privateMap.get(receiver)}function __classPrivateFieldSet$2(receiver,privateMap,value){if(!privateMap.has(receiver)){throw new TypeError("attempted to set private field on non-instance")}privateMap.set(receiver,value);return value}var tslib_es6$2=/*#__PURE__*/Object.freeze({__proto__:null,get __assign(){return __assign$5},__asyncDelegator:__asyncDelegator$2,__asyncGenerator:__asyncGenerator$2,__asyncValues:__asyncValues$2,__await:__await$2,__awaiter:__awaiter$2,__classPrivateFieldGet:__classPrivateFieldGet$2,__classPrivateFieldSet:__classPrivateFieldSet$2,__createBinding:__createBinding$2,__decorate:__decorate$2,__exportStar:__exportStar$2,__extends:__extends$2,__generator:__generator$2,__importDefault:__importDefault$2,__importStar:__importStar$2,__makeTemplateObject:__makeTemplateObject$2,__metadata:__metadata$2,__param:__param$2,__read:__read$6,__rest:__rest$3,__spread:__spread$2,__spreadArrays:__spreadArrays$2,__values:__values$2});var require$$0$2=/*@__PURE__*/getAugmentedNamespace(tslib_es6$2);var supportsWebCrypto={};var hasRequiredSupportsWebCrypto;function requireSupportsWebCrypto(){if(hasRequiredSupportsWebCrypto)return supportsWebCrypto;hasRequiredSupportsWebCrypto=1;Object.defineProperty(supportsWebCrypto,"__esModule",{value:true});supportsWebCrypto.supportsZeroByteGCM=supportsWebCrypto.supportsSubtleCrypto=supportsWebCrypto.supportsSecureRandom=supportsWebCrypto.supportsWebCrypto=void 0;var tslib_1=require$$0$2;var subtleCryptoMethods=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function supportsWebCrypto$1(window){if(supportsSecureRandom(window)&&typeof window.crypto.subtle==="object"){var subtle=window.crypto.subtle;return supportsSubtleCrypto(subtle)}return false}supportsWebCrypto.supportsWebCrypto=supportsWebCrypto$1;function supportsSecureRandom(window){if(typeof window==="object"&&typeof window.crypto==="object"){var getRandomValues=window.crypto.getRandomValues;return typeof getRandomValues==="function"}return false}supportsWebCrypto.supportsSecureRandom=supportsSecureRandom;function supportsSubtleCrypto(subtle){return subtle&&subtleCryptoMethods.every(function(methodName){return typeof subtle[methodName]==="function"})}supportsWebCrypto.supportsSubtleCrypto=supportsSubtleCrypto;function supportsZeroByteGCM(subtle){return tslib_1.__awaiter(this,void 0,void 0,function(){var key,zeroByteAuthTag;return tslib_1.__generator(this,function(_b){switch(_b.label){case 0:if(!supportsSubtleCrypto(subtle))return[2/*return*/,false];_b.label=1;case 1:_b.trys.push([1,4,,5]);return[4/*yield*/,subtle.generateKey({name:"AES-GCM",length:128},false,["encrypt"])];case 2:key=_b.sent();return[4/*yield*/,subtle.encrypt({name:"AES-GCM",iv:new Uint8Array(Array(12)),additionalData:new Uint8Array(Array(16)),tagLength:128},key,new Uint8Array(0))];case 3:zeroByteAuthTag=_b.sent();return[2/*return*/,zeroByteAuthTag.byteLength===16];case 4:_b.sent();return[2/*return*/,false];case 5:return[2/*return*/]}})})}supportsWebCrypto.supportsZeroByteGCM=supportsZeroByteGCM;return supportsWebCrypto}var hasRequiredBuild$1;function requireBuild$1(){if(hasRequiredBuild$1)return build$3;hasRequiredBuild$1=1;(function(exports){Object.defineProperty(exports,"__esModule",{value:true});var tslib_1=require$$0$2;tslib_1.__exportStar(requireSupportsWebCrypto(),exports)})(build$3);return build$3}var build$2={};/*! *****************************************************************************
115
+ Copyright (c) Microsoft Corporation.
116
+
117
+ Permission to use, copy, modify, and/or distribute this software for any
118
+ purpose with or without fee is hereby granted.
119
+
120
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
121
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
122
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
123
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
124
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
125
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
126
+ PERFORMANCE OF THIS SOFTWARE.
127
+ ***************************************************************************** */ /* global Reflect, Promise */var extendStatics$1=function(d,b){extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics$1(d,b)};function __extends$1(d,b){extendStatics$1(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}var __assign$4=function(){__assign$4=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$4.apply(this,arguments)};function __rest$2(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t}function __decorate$1(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __param$1(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __metadata$1(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)}function __awaiter$1(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __generator$1(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}function __createBinding$1(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]}function __exportStar$1(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))exports[p]=m[p]}function __values$1(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$5(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar}function __spread$1(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read$5(arguments[i]));return ar}function __spreadArrays$1(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r}function __await$1(v){return this instanceof __await$1?(this.v=v,this):new __await$1(v)}function __asyncGenerator$1(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await$1?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}}function __asyncDelegator$1(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await$1(o[n](v)),done:n==="return"}:f?f(v):v}:f}}function __asyncValues$1(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values$1==="function"?__values$1(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}}function __makeTemplateObject$1(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked}function __importStar$1(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result.default=mod;return result}function __importDefault$1(mod){return mod&&mod.__esModule?mod:{default:mod}}function __classPrivateFieldGet$1(receiver,privateMap){if(!privateMap.has(receiver)){throw new TypeError("attempted to get private field on non-instance")}return privateMap.get(receiver)}function __classPrivateFieldSet$1(receiver,privateMap,value){if(!privateMap.has(receiver)){throw new TypeError("attempted to set private field on non-instance")}privateMap.set(receiver,value);return value}var tslib_es6$1=/*#__PURE__*/Object.freeze({__proto__:null,get __assign(){return __assign$4},__asyncDelegator:__asyncDelegator$1,__asyncGenerator:__asyncGenerator$1,__asyncValues:__asyncValues$1,__await:__await$1,__awaiter:__awaiter$1,__classPrivateFieldGet:__classPrivateFieldGet$1,__classPrivateFieldSet:__classPrivateFieldSet$1,__createBinding:__createBinding$1,__decorate:__decorate$1,__exportStar:__exportStar$1,__extends:__extends$1,__generator:__generator$1,__importDefault:__importDefault$1,__importStar:__importStar$1,__makeTemplateObject:__makeTemplateObject$1,__metadata:__metadata$1,__param:__param$1,__read:__read$5,__rest:__rest$2,__spread:__spread$1,__spreadArrays:__spreadArrays$1,__values:__values$1});var require$$0$1=/*@__PURE__*/getAugmentedNamespace(tslib_es6$1);var CryptoOperation={};var hasRequiredCryptoOperation;function requireCryptoOperation(){if(hasRequiredCryptoOperation)return CryptoOperation;hasRequiredCryptoOperation=1;Object.defineProperty(CryptoOperation,"__esModule",{value:true});return CryptoOperation}var Key={};var hasRequiredKey;function requireKey(){if(hasRequiredKey)return Key;hasRequiredKey=1;Object.defineProperty(Key,"__esModule",{value:true});return Key}var KeyOperation={};var hasRequiredKeyOperation;function requireKeyOperation(){if(hasRequiredKeyOperation)return KeyOperation;hasRequiredKeyOperation=1;Object.defineProperty(KeyOperation,"__esModule",{value:true});return KeyOperation}var MsSubtleCrypto={};var hasRequiredMsSubtleCrypto;function requireMsSubtleCrypto(){if(hasRequiredMsSubtleCrypto)return MsSubtleCrypto;hasRequiredMsSubtleCrypto=1;Object.defineProperty(MsSubtleCrypto,"__esModule",{value:true});return MsSubtleCrypto}var MsWindow={};var hasRequiredMsWindow;function requireMsWindow(){if(hasRequiredMsWindow)return MsWindow;hasRequiredMsWindow=1;Object.defineProperty(MsWindow,"__esModule",{value:true});MsWindow.isMsWindow=void 0;var msSubtleCryptoMethods=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function quacksLikeAnMsWindow(window){return"MSInputMethodContext"in window&&"msCrypto"in window}/**
128
+ * Determines if the provided window is (or is like) the window object one would
129
+ * expect to encounter in Internet Explorer 11.
130
+ */function isMsWindow(window){if(quacksLikeAnMsWindow(window)&&window.msCrypto.subtle!==undefined){var _a=window.msCrypto,getRandomValues=_a.getRandomValues,subtle_1=_a.subtle;return msSubtleCryptoMethods.map(function(methodName){return subtle_1[methodName]}).concat(getRandomValues).every(function(method){return typeof method==="function"})}return false}MsWindow.isMsWindow=isMsWindow;return MsWindow}var hasRequiredBuild;function requireBuild(){if(hasRequiredBuild)return build$2;hasRequiredBuild=1;(function(exports){Object.defineProperty(exports,"__esModule",{value:true});var tslib_1=require$$0$1;tslib_1.__exportStar(requireCryptoOperation(),exports);tslib_1.__exportStar(requireKey(),exports);tslib_1.__exportStar(requireKeyOperation(),exports);tslib_1.__exportStar(requireMsSubtleCrypto(),exports);tslib_1.__exportStar(requireMsWindow(),exports)})(build$2);return build$2}var hasRequiredCrossPlatformSha256;function requireCrossPlatformSha256(){if(hasRequiredCrossPlatformSha256)return crossPlatformSha256;hasRequiredCrossPlatformSha256=1;Object.defineProperty(crossPlatformSha256,"__esModule",{value:true});crossPlatformSha256.Sha256=void 0;var ie11Sha256_1=requireIe11Sha256();var webCryptoSha256_1=requireWebCryptoSha256();var sha256_js_1=requireBuild$2();var supports_web_crypto_1=requireBuild$1();var ie11_detection_1=requireBuild();var util_locate_window_1=require$$5;var util_1=requireBuild$4();var Sha256=/** @class */function(){function Sha256(secret){if((0,supports_web_crypto_1.supportsWebCrypto)((0,util_locate_window_1.locateWindow)())){this.hash=new webCryptoSha256_1.Sha256(secret)}else if((0,ie11_detection_1.isMsWindow)((0,util_locate_window_1.locateWindow)())){this.hash=new ie11Sha256_1.Sha256(secret)}else{this.hash=new sha256_js_1.Sha256(secret)}}Sha256.prototype.update=function(data,encoding){this.hash.update((0,util_1.convertToBuffer)(data))};Sha256.prototype.digest=function(){return this.hash.digest()};Sha256.prototype.reset=function(){this.hash.reset()};return Sha256}();crossPlatformSha256.Sha256=Sha256;return crossPlatformSha256}(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.WebCryptoSha256=exports.Ie11Sha256=void 0;var tslib_1=require$$0$4;tslib_1.__exportStar(requireCrossPlatformSha256(),exports);var ie11Sha256_1=requireIe11Sha256();Object.defineProperty(exports,"Ie11Sha256",{enumerable:true,get:function(){return ie11Sha256_1.Sha256}});var webCryptoSha256_1=requireWebCryptoSha256();Object.defineProperty(exports,"WebCryptoSha256",{enumerable:true,get:function(){return webCryptoSha256_1.Sha256}})})(build$5);const invalidProvider=message=>()=>Promise.reject(message);const calculateBodyLength=body=>{if(typeof body==="string"){let len=body.length;for(let i=len-1;i>=0;i--){const code=body.charCodeAt(i);if(code>127&&code<=2047)len++;else if(code>2047&&code<=65535)len+=2;if(code>=56320&&code<=57343)i--}return len}else if(typeof body.byteLength==="number"){return body.byteLength}else if(typeof body.size==="number"){return body.size}throw new Error("Body Length computation failed for ".concat(body))};var es5={exports:{}};(function(module,exports){!function(e,t){module.exports=t()}(commonjsGlobal,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=90)}({17:function(e,t,r){t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||""},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||""},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(".0");return e.map(n.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){n[t]=e[t]})};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||""},e}();t.default=i,e.exports=t.default},18:function(e,t,r){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"};t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"};t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"};t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"};t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,r){t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:"BROWSER_MAP",get:function(){return s.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return s.ENGINE_MAP}},{key:"OS_MAP",get:function(){return s.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach(function(t){var a=e[t];"string"==typeof a?(i[t]=a,s+=1):"object"==typeof a&&(r[t]=a,n+=1)}),n>0){var a=Object.keys(r),u=o.default.find(a,function(e){return t.isOS(e)});if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,function(e){return t.isPlatform(e)});if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,function(e){return t.isBrowser(e,!0)});if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if("string"==typeof i)return">"===e[0]||"<"===e[0]?(r=e.substr(1),"="===e[1]?(n=!0,r=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?r=e.substr(1):"~"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=d,e.exports=t.default},92:function(e,t,r){t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\/(\d+(\.?_?\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},r=i.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},r=i.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},r=i.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},r=i.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},r=i.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},r=i.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},r=i.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},r=i.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},r=i.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},r=i.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},r=i.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},r=i.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},r=i.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},r=i.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},r=i.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},r=i.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},r=i.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},r=i.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},r=i.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},r=i.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},r=i.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},r=i.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},r=i.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:"Android Browser"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||i.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",r={type:s.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(r.model=t),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})})})(es5);var es5Exports=es5.exports;var bowser=/*@__PURE__*/getDefaultExportFromCjs(es5Exports);const defaultUserAgent=_ref28=>{let{serviceId,clientVersion}=_ref28;return async()=>{var _window,_window$navigator,_parsedUA$os,_parsedUA$os2,_parsedUA$browser$nam,_parsedUA$browser,_parsedUA$browser$ver,_parsedUA$browser2;const parsedUA=typeof window!=="undefined"&&(_window=window)!==null&&_window!==void 0&&(_window$navigator=_window.navigator)!==null&&_window$navigator!==void 0&&_window$navigator.userAgent?bowser.parse(window.navigator.userAgent):undefined;const sections=[["aws-sdk-js",clientVersion],["ua","2.0"],["os/".concat((parsedUA===null||parsedUA===void 0?void 0:(_parsedUA$os=parsedUA.os)===null||_parsedUA$os===void 0?void 0:_parsedUA$os.name)||"other"),parsedUA===null||parsedUA===void 0?void 0:(_parsedUA$os2=parsedUA.os)===null||_parsedUA$os2===void 0?void 0:_parsedUA$os2.version],["lang/js"],["md/browser","".concat((_parsedUA$browser$nam=parsedUA===null||parsedUA===void 0?void 0:(_parsedUA$browser=parsedUA.browser)===null||_parsedUA$browser===void 0?void 0:_parsedUA$browser.name)!==null&&_parsedUA$browser$nam!==void 0?_parsedUA$browser$nam:"unknown","_").concat((_parsedUA$browser$ver=parsedUA===null||parsedUA===void 0?void 0:(_parsedUA$browser2=parsedUA.browser)===null||_parsedUA$browser2===void 0?void 0:_parsedUA$browser2.version)!==null&&_parsedUA$browser$ver!==void 0?_parsedUA$browser$ver:"unknown")]];if(serviceId){sections.push(["api/".concat(serviceId),clientVersion])}return sections}};const p="required",q="fn",r="argv",s="ref";const a="PartitionResult",b="tree",c="error",d="endpoint",e={[p]:false,"type":"String"},f={[p]:true,"default":false,"type":"Boolean"},g={[s]:"Endpoint"},h={[q]:"booleanEquals",[r]:[{[s]:"UseFIPS"},true]},i$1={[q]:"booleanEquals",[r]:[{[s]:"UseDualStack"},true]},j={},k={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:a},"supportsFIPS"]}]},l={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:a},"supportsDualStack"]}]},m=[g],n=[h],o=[i$1];const _data={version:"1.0",parameters:{Region:e,UseDualStack:f,UseFIPS:f,Endpoint:e},rules:[{conditions:[{[q]:"aws.partition",[r]:[{[s]:"Region"}],assign:a}],type:b,rules:[{conditions:[{[q]:"isSet",[r]:m},{[q]:"parseURL",[r]:m,assign:"url"}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:g,properties:j,headers:j},type:d}]}]},{conditions:[h,i$1],type:b,rules:[{conditions:[k,l],type:b,rules:[{endpoint:{url:"https://cognito-identity-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:j,headers:j},type:d}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[k],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://cognito-identity-fips.{Region}.{PartitionResult#dnsSuffix}",properties:j,headers:j},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[l],type:b,rules:[{endpoint:{url:"https://cognito-identity.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:j,headers:j},type:d}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{endpoint:{url:"https://cognito-identity.{Region}.{PartitionResult#dnsSuffix}",properties:j,headers:j},type:d}]}]};const ruleSet=_data;const defaultEndpointResolver=function(endpointParams){let context=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return resolveEndpoint(ruleSet,{endpointParams:endpointParams,logger:context.logger})};const getRuntimeConfig$1=config=>{var _config$base64Decoder,_config$base64Encoder,_config$disableHostPr,_config$endpointProvi,_config$logger,_config$serviceId,_config$urlParser,_config$utf8Decoder,_config$utf8Encoder;return{apiVersion:"2014-06-30",base64Decoder:(_config$base64Decoder=config===null||config===void 0?void 0:config.base64Decoder)!==null&&_config$base64Decoder!==void 0?_config$base64Decoder:fromBase64,base64Encoder:(_config$base64Encoder=config===null||config===void 0?void 0:config.base64Encoder)!==null&&_config$base64Encoder!==void 0?_config$base64Encoder:toBase64,disableHostPrefix:(_config$disableHostPr=config===null||config===void 0?void 0:config.disableHostPrefix)!==null&&_config$disableHostPr!==void 0?_config$disableHostPr:false,endpointProvider:(_config$endpointProvi=config===null||config===void 0?void 0:config.endpointProvider)!==null&&_config$endpointProvi!==void 0?_config$endpointProvi:defaultEndpointResolver,logger:(_config$logger=config===null||config===void 0?void 0:config.logger)!==null&&_config$logger!==void 0?_config$logger:new NoOpLogger,serviceId:(_config$serviceId=config===null||config===void 0?void 0:config.serviceId)!==null&&_config$serviceId!==void 0?_config$serviceId:"Cognito Identity",urlParser:(_config$urlParser=config===null||config===void 0?void 0:config.urlParser)!==null&&_config$urlParser!==void 0?_config$urlParser:parseUrl,utf8Decoder:(_config$utf8Decoder=config===null||config===void 0?void 0:config.utf8Decoder)!==null&&_config$utf8Decoder!==void 0?_config$utf8Decoder:fromUtf8$1,utf8Encoder:(_config$utf8Encoder=config===null||config===void 0?void 0:config.utf8Encoder)!==null&&_config$utf8Encoder!==void 0?_config$utf8Encoder:toUtf8}};const DEFAULTS_MODE_OPTIONS=["in-region","cross-region","mobile","standard","legacy"];const resolveDefaultsModeConfig=function(){let{defaultsMode}=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return memoize(async()=>{const mode=typeof defaultsMode==="function"?await defaultsMode():defaultsMode;switch(mode===null||mode===void 0?void 0:mode.toLowerCase()){case"auto":return Promise.resolve(isMobileBrowser()?"mobile":"standard");case"mobile":case"in-region":case"cross-region":case"standard":case"legacy":return Promise.resolve(mode===null||mode===void 0?void 0:mode.toLocaleLowerCase());case undefined:return Promise.resolve("legacy");default:throw new Error("Invalid parameter for \"defaultsMode\", expect ".concat(DEFAULTS_MODE_OPTIONS.join(", "),", got ").concat(mode))}})};const isMobileBrowser=()=>{var _window2,_window2$navigator,_parsedUA$platform;const parsedUA=typeof window!=="undefined"&&(_window2=window)!==null&&_window2!==void 0&&(_window2$navigator=_window2.navigator)!==null&&_window2$navigator!==void 0&&_window2$navigator.userAgent?bowser.parse(window.navigator.userAgent):undefined;const platform=parsedUA===null||parsedUA===void 0?void 0:(_parsedUA$platform=parsedUA.platform)===null||_parsedUA$platform===void 0?void 0:_parsedUA$platform.type;return platform==="tablet"||platform==="mobile"};const getRuntimeConfig=config=>{var _config$bodyLengthChe,_config$credentialDef,_config$defaultUserAg,_config$maxAttempts,_config$region,_config$requestHandle,_config$retryMode,_config$sha,_config$streamCollect,_config$useDualstackE,_config$useFipsEndpoi;const defaultsMode=resolveDefaultsModeConfig(config);const defaultConfigProvider=()=>defaultsMode().then(loadConfigsForDefaultMode);const clientSharedValues=getRuntimeConfig$1(config);return{...clientSharedValues,...config,runtime:"browser",defaultsMode,bodyLengthChecker:(_config$bodyLengthChe=config===null||config===void 0?void 0:config.bodyLengthChecker)!==null&&_config$bodyLengthChe!==void 0?_config$bodyLengthChe:calculateBodyLength,credentialDefaultProvider:(_config$credentialDef=config===null||config===void 0?void 0:config.credentialDefaultProvider)!==null&&_config$credentialDef!==void 0?_config$credentialDef:_=>()=>Promise.reject(new Error("Credential is missing")),defaultUserAgentProvider:(_config$defaultUserAg=config===null||config===void 0?void 0:config.defaultUserAgentProvider)!==null&&_config$defaultUserAg!==void 0?_config$defaultUserAg:defaultUserAgent({serviceId:clientSharedValues.serviceId,clientVersion:packageInfo.version}),maxAttempts:(_config$maxAttempts=config===null||config===void 0?void 0:config.maxAttempts)!==null&&_config$maxAttempts!==void 0?_config$maxAttempts:DEFAULT_MAX_ATTEMPTS,region:(_config$region=config===null||config===void 0?void 0:config.region)!==null&&_config$region!==void 0?_config$region:invalidProvider("Region is missing"),requestHandler:(_config$requestHandle=config===null||config===void 0?void 0:config.requestHandler)!==null&&_config$requestHandle!==void 0?_config$requestHandle:new FetchHttpHandler(defaultConfigProvider),retryMode:(_config$retryMode=config===null||config===void 0?void 0:config.retryMode)!==null&&_config$retryMode!==void 0?_config$retryMode:async()=>(await defaultConfigProvider()).retryMode||DEFAULT_RETRY_MODE,sha256:(_config$sha=config===null||config===void 0?void 0:config.sha256)!==null&&_config$sha!==void 0?_config$sha:build$5.Sha256,streamCollector:(_config$streamCollect=config===null||config===void 0?void 0:config.streamCollector)!==null&&_config$streamCollect!==void 0?_config$streamCollect:streamCollector,useDualstackEndpoint:(_config$useDualstackE=config===null||config===void 0?void 0:config.useDualstackEndpoint)!==null&&_config$useDualstackE!==void 0?_config$useDualstackE:()=>Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT),useFipsEndpoint:(_config$useFipsEndpoi=config===null||config===void 0?void 0:config.useFipsEndpoint)!==null&&_config$useFipsEndpoi!==void 0?_config$useFipsEndpoi:()=>Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)}};class CognitoIdentityClient extends Client{constructor(configuration){const _config_0=getRuntimeConfig(configuration);const _config_1=resolveClientEndpointParameters(_config_0);const _config_2=resolveRegionConfig(_config_1);const _config_3=resolveEndpointConfig(_config_2);const _config_4=resolveRetryConfig(_config_3);const _config_5=resolveHostHeaderConfig(_config_4);const _config_6=resolveAwsAuthConfig(_config_5);const _config_7=resolveUserAgentConfig(_config_6);super(_config_7);this.config=_config_7;this.middlewareStack.use(getRetryPlugin(this.config));this.middlewareStack.use(getContentLengthPlugin(this.config));this.middlewareStack.use(getHostHeaderPlugin(this.config));this.middlewareStack.use(getLoggerPlugin(this.config));this.middlewareStack.use(getRecursionDetectionPlugin(this.config));this.middlewareStack.use(getUserAgentPlugin(this.config))}destroy(){super.destroy()}}var FieldPosition;(function(FieldPosition){FieldPosition[FieldPosition["HEADER"]=0]="HEADER";FieldPosition[FieldPosition["TRAILER"]=1]="TRAILER"})(FieldPosition||(FieldPosition={}));class HttpRequest{constructor(options){this.method=options.method||"GET";this.hostname=options.hostname||"localhost";this.port=options.port;this.query=options.query||{};this.headers=options.headers||{};this.body=options.body;this.protocol=options.protocol?options.protocol.slice(-1)!==":"?"".concat(options.protocol,":"):options.protocol:"https:";this.path=options.path?options.path.charAt(0)!=="/"?"/".concat(options.path):options.path:"/"}static isInstance(request){if(!request)return false;const req=request;return"method"in req&&"protocol"in req&&"hostname"in req&&"path"in req&&typeof req["query"]==="object"&&typeof req["headers"]==="object"}clone(){const cloned=new HttpRequest({...this,headers:{...this.headers}});if(cloned.query)cloned.query=cloneQuery(cloned.query);return cloned}}function cloneQuery(query){return Object.keys(query).reduce((carry,paramName)=>{const param=query[paramName];return{...carry,[paramName]:Array.isArray(param)?[...param]:param}},{})}class CognitoIdentityServiceException extends ServiceException{constructor(options){super(options);Object.setPrototypeOf(this,CognitoIdentityServiceException.prototype)}}class InternalErrorException extends CognitoIdentityServiceException{constructor(opts){super({name:"InternalErrorException",$fault:"server",...opts});this.name="InternalErrorException";this.$fault="server";Object.setPrototypeOf(this,InternalErrorException.prototype)}}class InvalidParameterException extends CognitoIdentityServiceException{constructor(opts){super({name:"InvalidParameterException",$fault:"client",...opts});this.name="InvalidParameterException";this.$fault="client";Object.setPrototypeOf(this,InvalidParameterException.prototype)}}class LimitExceededException extends CognitoIdentityServiceException{constructor(opts){super({name:"LimitExceededException",$fault:"client",...opts});this.name="LimitExceededException";this.$fault="client";Object.setPrototypeOf(this,LimitExceededException.prototype)}}class NotAuthorizedException extends CognitoIdentityServiceException{constructor(opts){super({name:"NotAuthorizedException",$fault:"client",...opts});this.name="NotAuthorizedException";this.$fault="client";Object.setPrototypeOf(this,NotAuthorizedException.prototype)}}class ResourceConflictException extends CognitoIdentityServiceException{constructor(opts){super({name:"ResourceConflictException",$fault:"client",...opts});this.name="ResourceConflictException";this.$fault="client";Object.setPrototypeOf(this,ResourceConflictException.prototype)}}class TooManyRequestsException extends CognitoIdentityServiceException{constructor(opts){super({name:"TooManyRequestsException",$fault:"client",...opts});this.name="TooManyRequestsException";this.$fault="client";Object.setPrototypeOf(this,TooManyRequestsException.prototype)}}class ResourceNotFoundException extends CognitoIdentityServiceException{constructor(opts){super({name:"ResourceNotFoundException",$fault:"client",...opts});this.name="ResourceNotFoundException";this.$fault="client";Object.setPrototypeOf(this,ResourceNotFoundException.prototype)}}class ExternalServiceException extends CognitoIdentityServiceException{constructor(opts){super({name:"ExternalServiceException",$fault:"client",...opts});this.name="ExternalServiceException";this.$fault="client";Object.setPrototypeOf(this,ExternalServiceException.prototype)}}class InvalidIdentityPoolConfigurationException extends CognitoIdentityServiceException{constructor(opts){super({name:"InvalidIdentityPoolConfigurationException",$fault:"client",...opts});this.name="InvalidIdentityPoolConfigurationException";this.$fault="client";Object.setPrototypeOf(this,InvalidIdentityPoolConfigurationException.prototype)}}const se_GetCredentialsForIdentityCommand=async(input,context)=>{const headers=sharedHeaders("GetCredentialsForIdentity");let body;body=JSON.stringify(_json(input));return buildHttpRpcRequest(context,headers,"/",undefined,body)};const se_GetIdCommand=async(input,context)=>{const headers=sharedHeaders("GetId");let body;body=JSON.stringify(_json(input));return buildHttpRpcRequest(context,headers,"/",undefined,body)};const de_GetCredentialsForIdentityCommand=async(output,context)=>{if(output.statusCode>=300){return de_GetCredentialsForIdentityCommandError(output,context)}const data=await parseBody(output.body,context);let contents={};contents=de_GetCredentialsForIdentityResponse(data);const response={$metadata:deserializeMetadata(output),...contents};return response};const de_GetCredentialsForIdentityCommandError=async(output,context)=>{const parsedOutput={...output,body:await parseErrorBody(output.body,context)};const errorCode=loadRestJsonErrorCode(output,parsedOutput.body);switch(errorCode){case"ExternalServiceException":case"com.amazonaws.cognitoidentity#ExternalServiceException":throw await de_ExternalServiceExceptionRes(parsedOutput);case"InternalErrorException":case"com.amazonaws.cognitoidentity#InternalErrorException":throw await de_InternalErrorExceptionRes(parsedOutput);case"InvalidIdentityPoolConfigurationException":case"com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException":throw await de_InvalidIdentityPoolConfigurationExceptionRes(parsedOutput);case"InvalidParameterException":case"com.amazonaws.cognitoidentity#InvalidParameterException":throw await de_InvalidParameterExceptionRes(parsedOutput);case"NotAuthorizedException":case"com.amazonaws.cognitoidentity#NotAuthorizedException":throw await de_NotAuthorizedExceptionRes(parsedOutput);case"ResourceConflictException":case"com.amazonaws.cognitoidentity#ResourceConflictException":throw await de_ResourceConflictExceptionRes(parsedOutput);case"ResourceNotFoundException":case"com.amazonaws.cognitoidentity#ResourceNotFoundException":throw await de_ResourceNotFoundExceptionRes(parsedOutput);case"TooManyRequestsException":case"com.amazonaws.cognitoidentity#TooManyRequestsException":throw await de_TooManyRequestsExceptionRes(parsedOutput);default:const parsedBody=parsedOutput.body;return throwDefaultError({output,parsedBody,errorCode})}};const de_GetIdCommand=async(output,context)=>{if(output.statusCode>=300){return de_GetIdCommandError(output,context)}const data=await parseBody(output.body,context);let contents={};contents=_json(data);const response={$metadata:deserializeMetadata(output),...contents};return response};const de_GetIdCommandError=async(output,context)=>{const parsedOutput={...output,body:await parseErrorBody(output.body,context)};const errorCode=loadRestJsonErrorCode(output,parsedOutput.body);switch(errorCode){case"ExternalServiceException":case"com.amazonaws.cognitoidentity#ExternalServiceException":throw await de_ExternalServiceExceptionRes(parsedOutput);case"InternalErrorException":case"com.amazonaws.cognitoidentity#InternalErrorException":throw await de_InternalErrorExceptionRes(parsedOutput);case"InvalidParameterException":case"com.amazonaws.cognitoidentity#InvalidParameterException":throw await de_InvalidParameterExceptionRes(parsedOutput);case"LimitExceededException":case"com.amazonaws.cognitoidentity#LimitExceededException":throw await de_LimitExceededExceptionRes(parsedOutput);case"NotAuthorizedException":case"com.amazonaws.cognitoidentity#NotAuthorizedException":throw await de_NotAuthorizedExceptionRes(parsedOutput);case"ResourceConflictException":case"com.amazonaws.cognitoidentity#ResourceConflictException":throw await de_ResourceConflictExceptionRes(parsedOutput);case"ResourceNotFoundException":case"com.amazonaws.cognitoidentity#ResourceNotFoundException":throw await de_ResourceNotFoundExceptionRes(parsedOutput);case"TooManyRequestsException":case"com.amazonaws.cognitoidentity#TooManyRequestsException":throw await de_TooManyRequestsExceptionRes(parsedOutput);default:const parsedBody=parsedOutput.body;return throwDefaultError({output,parsedBody,errorCode})}};const de_ExternalServiceExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new ExternalServiceException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_InternalErrorExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new InternalErrorException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_InvalidIdentityPoolConfigurationExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new InvalidIdentityPoolConfigurationException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_InvalidParameterExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new InvalidParameterException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_LimitExceededExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new LimitExceededException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_NotAuthorizedExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new NotAuthorizedException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_ResourceConflictExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new ResourceConflictException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_ResourceNotFoundExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new ResourceNotFoundException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_TooManyRequestsExceptionRes=async(parsedOutput,context)=>{const body=parsedOutput.body;const deserialized=_json(body);const exception=new TooManyRequestsException({$metadata:deserializeMetadata(parsedOutput),...deserialized});return decorateServiceException(exception,body)};const de_Credentials=(output,context)=>{return take(output,{AccessKeyId:expectString,Expiration:_=>expectNonNull(parseEpochTimestamp(expectNumber(_))),SecretKey:expectString,SessionToken:expectString})};const de_GetCredentialsForIdentityResponse=(output,context)=>{return take(output,{Credentials:_=>de_Credentials(_),IdentityId:expectString})};const deserializeMetadata=output=>{var _ref29,_output$headers$xAmz2;return{httpStatusCode:output.statusCode,requestId:(_ref29=(_output$headers$xAmz2=output.headers["x-amzn-requestid"])!==null&&_output$headers$xAmz2!==void 0?_output$headers$xAmz2:output.headers["x-amzn-request-id"])!==null&&_ref29!==void 0?_ref29:output.headers["x-amz-request-id"],extendedRequestId:output.headers["x-amz-id-2"],cfId:output.headers["x-amz-cf-id"]}};const collectBodyString=(streamBody,context)=>collectBody(streamBody,context).then(body=>context.utf8Encoder(body));const throwDefaultError=withBaseException(CognitoIdentityServiceException);const buildHttpRpcRequest=async(context,headers,path,resolvedHostname,body)=>{const{hostname,protocol="https",port,path:basePath}=await context.endpoint();const contents={protocol,hostname,port,method:"POST",path:basePath.endsWith("/")?basePath.slice(0,-1)+path:basePath+path,headers};if(resolvedHostname!==undefined){contents.hostname=resolvedHostname}if(body!==undefined){contents.body=body}return new HttpRequest(contents)};function sharedHeaders(operation){return{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSCognitoIdentityService.".concat(operation)}}const parseBody=(streamBody,context)=>collectBodyString(streamBody,context).then(encoded=>{if(encoded.length){return JSON.parse(encoded)}return{}});const parseErrorBody=async(errorBody,context)=>{var _value$message;const value=await parseBody(errorBody,context);value.message=(_value$message=value.message)!==null&&_value$message!==void 0?_value$message:value.Message;return value};const loadRestJsonErrorCode=(output,data)=>{const findKey=(object,key)=>Object.keys(object).find(k=>k.toLowerCase()===key.toLowerCase());const sanitizeErrorCode=rawValue=>{let cleanValue=rawValue;if(typeof cleanValue==="number"){cleanValue=cleanValue.toString()}if(cleanValue.indexOf(",")>=0){cleanValue=cleanValue.split(",")[0]}if(cleanValue.indexOf(":")>=0){cleanValue=cleanValue.split(":")[0]}if(cleanValue.indexOf("#")>=0){cleanValue=cleanValue.split("#")[1]}return cleanValue};const headerKey=findKey(output.headers,"x-amzn-errortype");if(headerKey!==undefined){return sanitizeErrorCode(output.headers[headerKey])}if(data.code!==undefined){return sanitizeErrorCode(data.code)}if(data["__type"]!==undefined){return sanitizeErrorCode(data["__type"])}};class GetCredentialsForIdentityCommand extends Command{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(input){super();this.input=input}resolveMiddleware(clientStack,configuration,options){this.middlewareStack.use(getSerdePlugin(configuration,this.serialize,this.deserialize));this.middlewareStack.use(getEndpointPlugin(configuration,GetCredentialsForIdentityCommand.getEndpointParameterInstructions()));const stack=clientStack.concat(this.middlewareStack);const{logger}=configuration;const clientName="CognitoIdentityClient";const commandName="GetCredentialsForIdentityCommand";const handlerExecutionContext={logger,clientName,commandName,inputFilterSensitiveLog:_=>_,outputFilterSensitiveLog:_=>_};const{requestHandler}=configuration;return stack.resolve(request=>requestHandler.handle(request.request,options||{}),handlerExecutionContext)}serialize(input,context){return se_GetCredentialsForIdentityCommand(input,context)}deserialize(output,context){return de_GetCredentialsForIdentityCommand(output,context)}}class GetIdCommand extends Command{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(input){super();this.input=input}resolveMiddleware(clientStack,configuration,options){this.middlewareStack.use(getSerdePlugin(configuration,this.serialize,this.deserialize));this.middlewareStack.use(getEndpointPlugin(configuration,GetIdCommand.getEndpointParameterInstructions()));const stack=clientStack.concat(this.middlewareStack);const{logger}=configuration;const clientName="CognitoIdentityClient";const commandName="GetIdCommand";const handlerExecutionContext={logger,clientName,commandName,inputFilterSensitiveLog:_=>_,outputFilterSensitiveLog:_=>_};const{requestHandler}=configuration;return stack.resolve(request=>requestHandler.handle(request.request,options||{}),handlerExecutionContext)}serialize(input,context){return se_GetIdCommand(input,context)}deserialize(output,context){return de_GetIdCommand(output,context)}}function resolveLogins(logins){return Promise.all(Object.keys(logins).reduce((arr,name)=>{const tokenOrProvider=logins[name];if(typeof tokenOrProvider==="string"){arr.push([name,tokenOrProvider])}else{arr.push(tokenOrProvider().then(token=>[name,token]))}return arr},[])).then(resolvedPairs=>resolvedPairs.reduce((logins,_ref30)=>{let[key,value]=_ref30;logins[key]=value;return logins},{}))}function fromCognitoIdentity(parameters){return async()=>{const{Credentials:{AccessKeyId=throwOnMissingAccessKeyId(),Expiration,SecretKey=throwOnMissingSecretKey(),SessionToken}=throwOnMissingCredentials()}=await parameters.client.send(new GetCredentialsForIdentityCommand({CustomRoleArn:parameters.customRoleArn,IdentityId:parameters.identityId,Logins:parameters.logins?await resolveLogins(parameters.logins):undefined}));return{identityId:parameters.identityId,accessKeyId:AccessKeyId,secretAccessKey:SecretKey,sessionToken:SessionToken,expiration:Expiration}}}function throwOnMissingAccessKeyId(){throw new CredentialsProviderError("Response from Amazon Cognito contained no access key ID")}function throwOnMissingCredentials(){throw new CredentialsProviderError("Response from Amazon Cognito contained no credentials")}function throwOnMissingSecretKey(){throw new CredentialsProviderError("Response from Amazon Cognito contained no secret key")}const STORE_NAME="IdentityIds";class IndexedDbStorage{constructor(){let dbName=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"aws:cognito-identity-ids";this.dbName=dbName}getItem(key){return this.withObjectStore("readonly",store=>{const req=store.get(key);return new Promise(resolve=>{req.onerror=()=>resolve(null);req.onsuccess=()=>resolve(req.result?req.result.value:null)})}).catch(()=>null)}removeItem(key){return this.withObjectStore("readwrite",store=>{const req=store.delete(key);return new Promise((resolve,reject)=>{req.onerror=()=>reject(req.error);req.onsuccess=()=>resolve()})})}setItem(id,value){return this.withObjectStore("readwrite",store=>{const req=store.put({id,value});return new Promise((resolve,reject)=>{req.onerror=()=>reject(req.error);req.onsuccess=()=>resolve()})})}getDb(){const openDbRequest=self.indexedDB.open(this.dbName,1);return new Promise((resolve,reject)=>{openDbRequest.onsuccess=()=>{resolve(openDbRequest.result)};openDbRequest.onerror=()=>{reject(openDbRequest.error)};openDbRequest.onblocked=()=>{reject(new Error("Unable to access DB"))};openDbRequest.onupgradeneeded=()=>{const db=openDbRequest.result;db.onerror=()=>{reject(new Error("Failed to create object store"))};db.createObjectStore(STORE_NAME,{keyPath:"id"})}})}withObjectStore(mode,action){return this.getDb().then(db=>{const tx=db.transaction(STORE_NAME,mode);tx.oncomplete=()=>db.close();return new Promise((resolve,reject)=>{tx.onerror=()=>reject(tx.error);resolve(action(tx.objectStore(STORE_NAME)))}).catch(err=>{db.close();throw err})})}}class InMemoryStorage{constructor(){let store=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.store=store}getItem(key){if(key in this.store){return this.store[key]}return null}removeItem(key){delete this.store[key]}setItem(key,value){this.store[key]=value}}const inMemoryStorage=new InMemoryStorage;function localStorage(){if(typeof self==="object"&&self.indexedDB){return new IndexedDbStorage}if(typeof window==="object"&&window.localStorage){return window.localStorage}return inMemoryStorage}function fromCognitoIdentityPool$1(_ref31){let{accountId,cache=localStorage(),client,customRoleArn,identityPoolId,logins,userIdentifier=!logins||Object.keys(logins).length===0?"ANONYMOUS":undefined}=_ref31;const cacheKey=userIdentifier?"aws:cognito-identity-credentials:".concat(identityPoolId,":").concat(userIdentifier):undefined;let provider=async()=>{let identityId=cacheKey&&(await cache.getItem(cacheKey));if(!identityId){const{IdentityId=throwOnMissingId()}=await client.send(new GetIdCommand({AccountId:accountId,IdentityPoolId:identityPoolId,Logins:logins?await resolveLogins(logins):undefined}));identityId=IdentityId;if(cacheKey){Promise.resolve(cache.setItem(cacheKey,identityId)).catch(()=>{})}}provider=fromCognitoIdentity({client,customRoleArn,logins,identityId});return provider()};return()=>provider().catch(async err=>{if(cacheKey){Promise.resolve(cache.removeItem(cacheKey)).catch(()=>{})}throw err})}function throwOnMissingId(){throw new CredentialsProviderError("Response from Amazon Cognito contained no identity ID")}const fromCognitoIdentityPool=options=>{var _options$clientConfig;return fromCognitoIdentityPool$1({...options,client:new CognitoIdentityClient((_options$clientConfig=options.clientConfig)!==null&&_options$clientConfig!==void 0?_options$clientConfig:{})})};/**
131
+ * Date & time utility functions to abstract the `aws-sdk` away from users.
132
+ * (v2 => v3 modularization is a breaking change)
133
+ *
134
+ * @see https://github.com/aws/aws-sdk-js/blob/6edf586dcc1de7fe8fbfbbd9a0d2b1847921e6e1/lib/util.js#L262
135
+ */var __read$4=undefined&&undefined.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};// Comment - TODO: remove
136
+ var FIVE_MINUTES_IN_MS=1000*60*5;var DateUtils={/**
137
+ * Milliseconds to offset the date to compensate for clock skew between device & services
138
+ */clockOffset:0,getDateWithClockOffset:function(){if(DateUtils.clockOffset){return new Date(new Date().getTime()+DateUtils.clockOffset)}else{return new Date}},/**
139
+ * @returns {number} Clock offset in milliseconds
140
+ */getClockOffset:function(){return DateUtils.clockOffset},getHeaderStringFromDate:function(date){if(date===void 0){date=DateUtils.getDateWithClockOffset()}return date.toISOString().replace(/[:\-]|\.\d{3}/g,"")},getDateFromHeaderString:function(header){var _a=__read$4(header.match(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2}).+/),7),year=_a[1],month=_a[2],day=_a[3],hour=_a[4],minute=_a[5],second=_a[6];return new Date(Date.UTC(Number(year),Number(month)-1,Number(day),Number(hour),Number(minute),Number(second)))},isClockSkewed:function(serverDate){// API gateway permits client calls that are off by no more than ±5 minutes
141
+ return Math.abs(serverDate.getTime()-DateUtils.getDateWithClockOffset().getTime())>=FIVE_MINUTES_IN_MS},isClockSkewError:function(error){if(!error.response||!error.response.headers){return false}var headers=error.response.headers;return Boolean(["BadRequestException","InvalidSignatureException"].includes(headers["x-amzn-errortype"])&&(headers.date||headers.Date))},/**
142
+ * @param {number} offset Clock offset in milliseconds
143
+ */setClockOffset:function(offset){DateUtils.clockOffset=offset}};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
144
+ // SPDX-License-Identifier: Apache-2.0
145
+ /**
146
+ * Returns signed headers.
147
+ *
148
+ * @param headers `headers` from the request.
149
+ * @returns List of headers included in canonical headers, separated by semicolons (;). This indicates which headers
150
+ * are part of the signing process. Header names must use lowercase characters and must appear in alphabetical order.
151
+ *
152
+ * @internal
153
+ */var getSignedHeaders=function(headers){return Object.keys(headers).map(function(key){return key.toLowerCase()}).sort().join(";")};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
154
+ // SPDX-License-Identifier: Apache-2.0
155
+ // query params
156
+ var ALGORITHM_QUERY_PARAM="X-Amz-Algorithm";var AMZ_DATE_QUERY_PARAM="X-Amz-Date";var CREDENTIAL_QUERY_PARAM="X-Amz-Credential";var EXPIRES_QUERY_PARAM="X-Amz-Expires";var SIGNATURE_QUERY_PARAM="X-Amz-Signature";var SIGNED_HEADERS_QUERY_PARAM="X-Amz-SignedHeaders";var TOKEN_QUERY_PARAM="X-Amz-Security-Token";// headers
157
+ var AUTH_HEADER="authorization";var HOST_HEADER="host";var AMZ_DATE_HEADER=AMZ_DATE_QUERY_PARAM.toLowerCase();var TOKEN_HEADER=TOKEN_QUERY_PARAM.toLowerCase();// identifiers
158
+ var KEY_TYPE_IDENTIFIER="aws4_request";var SHA256_ALGORITHM_IDENTIFIER="AWS4-HMAC-SHA256";var SIGNATURE_IDENTIFIER="AWS4";// preset values
159
+ var EMPTY_HASH="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";var UNSIGNED_PAYLOAD="UNSIGNED-PAYLOAD";// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
160
+ // SPDX-License-Identifier: Apache-2.0
161
+ /**
162
+ * Returns the credential scope which restricts the resulting signature to the specified region and service.
163
+ *
164
+ * @param date Current date in the format 'YYYYMMDD'.
165
+ * @param region AWS region in which the service resides.
166
+ * @param service Service to which the signed request is being sent.
167
+ *
168
+ * @returns A string representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.
169
+ *
170
+ * @internal
171
+ */var getCredentialScope=function(date,region,service){return"".concat(date,"/").concat(region,"/").concat(service,"/").concat(KEY_TYPE_IDENTIFIER)};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
172
+ // SPDX-License-Identifier: Apache-2.0
173
+ /**
174
+ * Returns expected date strings to be used in signing.
175
+ *
176
+ * @param date JavaScript `Date` object.
177
+ * @returns `FormattedDates` object containing the following:
178
+ * - longDate: A date string in 'YYYYMMDDThhmmssZ' format
179
+ * - shortDate: A date string in 'YYYYMMDD' format
180
+ *
181
+ * @internal
182
+ */var getFormattedDates=function(date){var longDate=date.toISOString().replace(/[:\-]|\.\d{3}/g,"");return{longDate:longDate,shortDate:longDate.slice(0,8)}};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
183
+ // SPDX-License-Identifier: Apache-2.0
184
+ /**
185
+ * Extracts common values used for signing both requests and urls.
186
+ *
187
+ * @param options `SignRequestOptions` object containing values used to construct the signature.
188
+ * @returns Common `SigningValues` used for signing.
189
+ *
190
+ * @internal
191
+ */var getSigningValues=function(_a){var credentials=_a.credentials,_b=_a.signingDate,signingDate=_b===void 0?new Date:_b,signingRegion=_a.signingRegion,signingService=_a.signingService;// get properties from credentials
192
+ var accessKeyId=credentials.accessKeyId,secretAccessKey=credentials.secretAccessKey,sessionToken=credentials.sessionToken;// get formatted dates for signing
193
+ var _c=getFormattedDates(signingDate),longDate=_c.longDate,shortDate=_c.shortDate;// copy header and set signing properties
194
+ var credentialScope=getCredentialScope(shortDate,signingRegion,signingService);return{accessKeyId:accessKeyId,credentialScope:credentialScope,longDate:longDate,secretAccessKey:secretAccessKey,sessionToken:sessionToken,shortDate:shortDate,signingRegion:signingRegion,signingService:signingService}};var build$1={};/*! *****************************************************************************
195
+ Copyright (c) Microsoft Corporation.
196
+
197
+ Permission to use, copy, modify, and/or distribute this software for any
198
+ purpose with or without fee is hereby granted.
199
+
200
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
201
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
202
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
203
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
204
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
205
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
206
+ PERFORMANCE OF THIS SOFTWARE.
207
+ ***************************************************************************** */ /* global Reflect, Promise */var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};function __extends(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}var __assign$3=function(){__assign$3=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$3.apply(this,arguments)};function __rest$1(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t}function __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __param(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}function __metadata(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)}function __awaiter(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __generator(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}function __createBinding(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]}function __exportStar(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))exports[p]=m[p]}function __values(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$3(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar}function __spread(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read$3(arguments[i]));return ar}function __spreadArrays(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r}function __await(v){return this instanceof __await?(this.v=v,this):new __await(v)}function __asyncGenerator(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){if(g[n])i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}}function __asyncDelegator(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:n==="return"}:f?f(v):v}:f}}function __asyncValues(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}}function __makeTemplateObject(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked}function __importStar(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(Object.hasOwnProperty.call(mod,k))result[k]=mod[k];result.default=mod;return result}function __importDefault(mod){return mod&&mod.__esModule?mod:{default:mod}}function __classPrivateFieldGet(receiver,privateMap){if(!privateMap.has(receiver)){throw new TypeError("attempted to get private field on non-instance")}return privateMap.get(receiver)}function __classPrivateFieldSet(receiver,privateMap,value){if(!privateMap.has(receiver)){throw new TypeError("attempted to set private field on non-instance")}privateMap.set(receiver,value);return value}var tslib_es6=/*#__PURE__*/Object.freeze({__proto__:null,get __assign(){return __assign$3},__asyncDelegator:__asyncDelegator,__asyncGenerator:__asyncGenerator,__asyncValues:__asyncValues,__await:__await,__awaiter:__awaiter,__classPrivateFieldGet:__classPrivateFieldGet,__classPrivateFieldSet:__classPrivateFieldSet,__createBinding:__createBinding,__decorate:__decorate,__exportStar:__exportStar,__extends:__extends,__generator:__generator,__importDefault:__importDefault,__importStar:__importStar,__makeTemplateObject:__makeTemplateObject,__metadata:__metadata,__param:__param,__read:__read$3,__rest:__rest$1,__spread:__spread,__spreadArrays:__spreadArrays,__values:__values});var require$$0=/*@__PURE__*/getAugmentedNamespace(tslib_es6);var jsSha256={};var constants={};Object.defineProperty(constants,"__esModule",{value:true});constants.MAX_HASHABLE_LENGTH=constants.INIT=constants.KEY=constants.DIGEST_LENGTH=constants.BLOCK_SIZE=void 0;/**
208
+ * @internal
209
+ */constants.BLOCK_SIZE=64;/**
210
+ * @internal
211
+ */constants.DIGEST_LENGTH=32;/**
212
+ * @internal
213
+ */constants.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);/**
214
+ * @internal
215
+ */constants.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];/**
216
+ * @internal
217
+ */constants.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1;var RawSha256$1={};Object.defineProperty(RawSha256$1,"__esModule",{value:true});RawSha256$1.RawSha256=void 0;var constants_1$1=constants;/**
218
+ * @internal
219
+ */var RawSha256=/** @class */function(){function RawSha256(){this.state=Int32Array.from(constants_1$1.INIT);this.temp=new Int32Array(64);this.buffer=new Uint8Array(64);this.bufferLength=0;this.bytesHashed=0;/**
220
+ * @internal
221
+ */this.finished=false}RawSha256.prototype.update=function(data){if(this.finished){throw new Error("Attempted to update an already finished hash.")}var position=0;var byteLength=data.byteLength;this.bytesHashed+=byteLength;if(this.bytesHashed*8>constants_1$1.MAX_HASHABLE_LENGTH){throw new Error("Cannot hash more than 2^53 - 1 bits")}while(byteLength>0){this.buffer[this.bufferLength++]=data[position++];byteLength--;if(this.bufferLength===constants_1$1.BLOCK_SIZE){this.hashBuffer();this.bufferLength=0}}};RawSha256.prototype.digest=function(){if(!this.finished){var bitsHashed=this.bytesHashed*8;var bufferView=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength);var undecoratedLength=this.bufferLength;bufferView.setUint8(this.bufferLength++,128);// Ensure the final block has enough room for the hashed length
222
+ if(undecoratedLength%constants_1$1.BLOCK_SIZE>=constants_1$1.BLOCK_SIZE-8){for(var i=this.bufferLength;i<constants_1$1.BLOCK_SIZE;i++){bufferView.setUint8(i,0)}this.hashBuffer();this.bufferLength=0}for(var i=this.bufferLength;i<constants_1$1.BLOCK_SIZE-8;i++){bufferView.setUint8(i,0)}bufferView.setUint32(constants_1$1.BLOCK_SIZE-8,Math.floor(bitsHashed/4294967296),true);bufferView.setUint32(constants_1$1.BLOCK_SIZE-4,bitsHashed);this.hashBuffer();this.finished=true}// The value in state is little-endian rather than big-endian, so flip
223
+ // each word into a new Uint8Array
224
+ var out=new Uint8Array(constants_1$1.DIGEST_LENGTH);for(var i=0;i<8;i++){out[i*4]=this.state[i]>>>24&255;out[i*4+1]=this.state[i]>>>16&255;out[i*4+2]=this.state[i]>>>8&255;out[i*4+3]=this.state[i]>>>0&255}return out};RawSha256.prototype.hashBuffer=function(){var _a=this,buffer=_a.buffer,state=_a.state;var state0=state[0],state1=state[1],state2=state[2],state3=state[3],state4=state[4],state5=state[5],state6=state[6],state7=state[7];for(var i=0;i<constants_1$1.BLOCK_SIZE;i++){if(i<16){this.temp[i]=(buffer[i*4]&255)<<24|(buffer[i*4+1]&255)<<16|(buffer[i*4+2]&255)<<8|buffer[i*4+3]&255}else{var u=this.temp[i-2];var t1_1=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10;u=this.temp[i-15];var t2_1=(u>>>7|u<<25)^(u>>>18|u<<14)^u>>>3;this.temp[i]=(t1_1+this.temp[i-7]|0)+(t2_1+this.temp[i-16]|0)}var t1=(((state4>>>6|state4<<26)^(state4>>>11|state4<<21)^(state4>>>25|state4<<7))+(state4&state5^~state4&state6)|0)+(state7+(constants_1$1.KEY[i]+this.temp[i]|0)|0)|0;var t2=((state0>>>2|state0<<30)^(state0>>>13|state0<<19)^(state0>>>22|state0<<10))+(state0&state1^state0&state2^state1&state2)|0;state7=state6;state6=state5;state5=state4;state4=state3+t1|0;state3=state2;state2=state1;state1=state0;state0=t1+t2|0}state[0]+=state0;state[1]+=state1;state[2]+=state2;state[3]+=state3;state[4]+=state4;state[5]+=state5;state[6]+=state6;state[7]+=state7};return RawSha256}();RawSha256$1.RawSha256=RawSha256;var build={};var convertToBuffer$1={};// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
225
+ // SPDX-License-Identifier: Apache-2.0
226
+ Object.defineProperty(convertToBuffer$1,"__esModule",{value:true});convertToBuffer$1.convertToBuffer=void 0;var util_utf8_browser_1=require$$0$5;// Quick polyfill
227
+ var fromUtf8=typeof Buffer!=="undefined"&&Buffer.from?function(input){return Buffer.from(input,"utf8")}:util_utf8_browser_1.fromUtf8;function convertToBuffer(data){// Already a Uint8, do nothing
228
+ if(data instanceof Uint8Array)return data;if(typeof data==="string"){return fromUtf8(data)}if(ArrayBuffer.isView(data)){return new Uint8Array(data.buffer,data.byteOffset,data.byteLength/Uint8Array.BYTES_PER_ELEMENT)}return new Uint8Array(data)}convertToBuffer$1.convertToBuffer=convertToBuffer;var isEmptyData$1={};// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
229
+ // SPDX-License-Identifier: Apache-2.0
230
+ Object.defineProperty(isEmptyData$1,"__esModule",{value:true});isEmptyData$1.isEmptyData=void 0;function isEmptyData(data){if(typeof data==="string"){return data.length===0}return data.byteLength===0}isEmptyData$1.isEmptyData=isEmptyData;var numToUint8$1={};// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
231
+ // SPDX-License-Identifier: Apache-2.0
232
+ Object.defineProperty(numToUint8$1,"__esModule",{value:true});numToUint8$1.numToUint8=void 0;function numToUint8(num){return new Uint8Array([(num&4278190080)>>24,(num&16711680)>>16,(num&65280)>>8,num&255])}numToUint8$1.numToUint8=numToUint8;var uint32ArrayFrom$1={};// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
233
+ // SPDX-License-Identifier: Apache-2.0
234
+ Object.defineProperty(uint32ArrayFrom$1,"__esModule",{value:true});uint32ArrayFrom$1.uint32ArrayFrom=void 0;// IE 11 does not support Array.from, so we do it manually
235
+ function uint32ArrayFrom(a_lookUpTable){if(!Array.from){var return_array=new Uint32Array(a_lookUpTable.length);var a_index=0;while(a_index<a_lookUpTable.length){return_array[a_index]=a_lookUpTable[a_index]}return return_array}return Uint32Array.from(a_lookUpTable)}uint32ArrayFrom$1.uint32ArrayFrom=uint32ArrayFrom;(function(exports){// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
236
+ // SPDX-License-Identifier: Apache-2.0
237
+ Object.defineProperty(exports,"__esModule",{value:true});exports.uint32ArrayFrom=exports.numToUint8=exports.isEmptyData=exports.convertToBuffer=void 0;var convertToBuffer_1=convertToBuffer$1;Object.defineProperty(exports,"convertToBuffer",{enumerable:true,get:function(){return convertToBuffer_1.convertToBuffer}});var isEmptyData_1=isEmptyData$1;Object.defineProperty(exports,"isEmptyData",{enumerable:true,get:function(){return isEmptyData_1.isEmptyData}});var numToUint8_1=numToUint8$1;Object.defineProperty(exports,"numToUint8",{enumerable:true,get:function(){return numToUint8_1.numToUint8}});var uint32ArrayFrom_1=uint32ArrayFrom$1;Object.defineProperty(exports,"uint32ArrayFrom",{enumerable:true,get:function(){return uint32ArrayFrom_1.uint32ArrayFrom}})})(build);Object.defineProperty(jsSha256,"__esModule",{value:true});jsSha256.Sha256=void 0;var tslib_1=require$$0;var constants_1=constants;var RawSha256_1=RawSha256$1;var util_1=build;var Sha256=/** @class */function(){function Sha256(secret){this.hash=new RawSha256_1.RawSha256;if(secret){this.outer=new RawSha256_1.RawSha256;var inner=bufferFromSecret(secret);var outer=new Uint8Array(constants_1.BLOCK_SIZE);outer.set(inner);for(var i=0;i<constants_1.BLOCK_SIZE;i++){inner[i]^=54;outer[i]^=92}this.hash.update(inner);this.outer.update(outer);// overwrite the copied key in memory
238
+ for(var i=0;i<inner.byteLength;i++){inner[i]=0}}}Sha256.prototype.update=function(toHash){if((0,util_1.isEmptyData)(toHash)||this.error){return}try{this.hash.update((0,util_1.convertToBuffer)(toHash))}catch(e){this.error=e}};/* This synchronous method keeps compatibility
239
+ * with the v2 aws-sdk.
240
+ */Sha256.prototype.digestSync=function(){if(this.error){throw this.error}if(this.outer){if(!this.outer.finished){this.outer.update(this.hash.digest())}return this.outer.digest()}return this.hash.digest()};/* The underlying digest method here is synchronous.
241
+ * To keep the same interface with the other hash functions
242
+ * the default is to expose this as an async method.
243
+ * However, it can sometimes be useful to have a sync method.
244
+ */Sha256.prototype.digest=function(){return(0,tslib_1.__awaiter)(this,void 0,void 0,function(){return(0,tslib_1.__generator)(this,function(_a){return[2/*return*/,this.digestSync()]})})};return Sha256}();jsSha256.Sha256=Sha256;function bufferFromSecret(secret){var input=(0,util_1.convertToBuffer)(secret);if(input.byteLength>constants_1.BLOCK_SIZE){var bufferHash=new RawSha256_1.RawSha256;bufferHash.update(input);input=bufferHash.digest()}var buffer=new Uint8Array(constants_1.BLOCK_SIZE);buffer.set(input);return buffer}(function(exports){Object.defineProperty(exports,"__esModule",{value:true});var tslib_1=require$$0;(0,tslib_1.__exportStar)(jsSha256,exports)})(build$1);var SHORT_TO_HEX={};for(var i=0;i<256;i++){var encodedByte=i.toString(16).toLowerCase();if(encodedByte.length===1){encodedByte="0"+encodedByte}SHORT_TO_HEX[i]=encodedByte}/**
245
+ * Converts a Uint8Array of binary data to a hexadecimal encoded string.
246
+ *
247
+ * @param bytes The binary data to encode
248
+ */function toHex(bytes){var out="";for(var i=0;i<bytes.byteLength;i++){out+=SHORT_TO_HEX[bytes[i]]}return out}// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
249
+ // SPDX-License-Identifier: Apache-2.0
250
+ // TODO: V6 update to different crypto dependency?
251
+ /**
252
+ * Returns the hashed data a `Uint8Array`.
253
+ *
254
+ * @param key `SourceData` to be used as hashing key.
255
+ * @param data Hashable `SourceData`.
256
+ * @returns `Uint8Array` created from the data as input to a hash function.
257
+ */var getHashedData=function(key,data){var sha256=new build$1.Sha256(key);sha256.update(data);// TODO: V6 flip to async digest
258
+ var hashedData=sha256.digestSync();return hashedData};/**
259
+ * Returns the hashed data as a hex string.
260
+ *
261
+ * @param key `SourceData` to be used as hashing key.
262
+ * @param data Hashable `SourceData`.
263
+ * @returns String using lowercase hexadecimal characters created from the data as input to a hash function.
264
+ *
265
+ * @internal
266
+ */var getHashedDataAsHex=function(key,data){var hashedData=getHashedData(key,data);return toHex(hashedData)};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
267
+ // SPDX-License-Identifier: Apache-2.0
268
+ var __read$2=undefined&&undefined.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};/**
269
+ * Returns canonical headers.
270
+ *
271
+ * @param headers Headers from the request.
272
+ * @returns Request headers that will be signed, and their values, separated by newline characters. Header names must
273
+ * use lowercase characters, must appear in alphabetical order, and must be followed by a colon (:). For the values,
274
+ * trim any leading or trailing spaces, convert sequential spaces to a single space, and separate the values
275
+ * for a multi-value header using commas.
276
+ *
277
+ * @internal
278
+ */var getCanonicalHeaders=function(headers){return Object.entries(headers).map(function(_a){var _b;var _c=__read$2(_a,2),key=_c[0],value=_c[1];return{key:key.toLowerCase(),value:(_b=value===null||value===void 0?void 0:value.trim().replace(/\s+/g," "))!==null&&_b!==void 0?_b:""}}).sort(function(a,b){return a.key<b.key?-1:1}).map(function(entry){return"".concat(entry.key,":").concat(entry.value,"\n")}).join("")};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
279
+ // SPDX-License-Identifier: Apache-2.0
280
+ var __read$1=undefined&&undefined.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};/**
281
+ * Returns a canonical query string.
282
+ *
283
+ * @param searchParams `searchParams` from the request url.
284
+ * @returns URL-encoded query string parameters, separated by ampersands (&). Percent-encode reserved characters,
285
+ * including the space character. Encode names and values separately. If there are empty parameters, append the equals
286
+ * sign to the parameter name before encoding. After encoding, sort the parameters alphabetically by key name. If there
287
+ * is no query string, use an empty string ("").
288
+ *
289
+ * @internal
290
+ */var getCanonicalQueryString=function(searchParams){return Array.from(searchParams).sort(function(_a,_b){var _c=__read$1(_a,2),keyA=_c[0],valA=_c[1];var _d=__read$1(_b,2),keyB=_d[0],valB=_d[1];if(keyA===keyB){return valA<valB?-1:1}return keyA<keyB?-1:1}).map(function(_a){var _b=__read$1(_a,2),key=_b[0],val=_b[1];return"".concat(escapeUri(key),"=").concat(escapeUri(val))}).join("&")};var escapeUri=function(uri){return encodeURIComponent(uri).replace(/[!'()*]/g,hexEncode)};var hexEncode=function(c){return"%".concat(c.charCodeAt(0).toString(16).toUpperCase())};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
291
+ // SPDX-License-Identifier: Apache-2.0
292
+ /**
293
+ * Returns a canonical uri.
294
+ *
295
+ * @param pathname `pathname` from request url.
296
+ * @returns URI-encoded version of the absolute path component URL (everything between the host and the question mark
297
+ * character (?) that starts the query string parameters). If the absolute path is empty, a forward slash character (/).
298
+ *
299
+ * @internal
300
+ */var getCanonicalUri=function(pathname){return pathname?encodeURIComponent(pathname).replace(/%2F/g,"/"):"/"};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
301
+ // SPDX-License-Identifier: Apache-2.0
302
+ /**
303
+ * Returns the hashed payload.
304
+ *
305
+ * @param body `body` (payload) from the request.
306
+ * @returns String created using the payload in the body of the HTTP request as input to a hash function. This string
307
+ * uses lowercase hexadecimal characters. If the payload is empty, return precalculated result of an empty hash.
308
+ *
309
+ * @internal
310
+ */var getHashedPayload=function(body){// return precalculated empty hash if body is undefined or null
311
+ if(body==null){return EMPTY_HASH}if(isSourceData(body)){var hashedData=getHashedDataAsHex(null,body);return hashedData}// Defined body is not signable. Return unsigned payload which may or may not be accepted by the service.
312
+ return UNSIGNED_PAYLOAD};var isSourceData=function(body){return typeof body==="string"||ArrayBuffer.isView(body)||isArrayBuffer(body)};var isArrayBuffer=function(arg){return typeof ArrayBuffer==="function"&&arg instanceof ArrayBuffer||Object.prototype.toString.call(arg)==="[object ArrayBuffer]"};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
313
+ // SPDX-License-Identifier: Apache-2.0
314
+ /**
315
+ * Returns a canonical request.
316
+ *
317
+ * @param request `HttpRequest` from which to create the canonical request from.
318
+ * @returns String created by by concatenating the following strings, separated by newline characters:
319
+ * - HTTPMethod
320
+ * - CanonicalUri
321
+ * - CanonicalQueryString
322
+ * - CanonicalHeaders
323
+ * - SignedHeaders
324
+ * - HashedPayload
325
+ *
326
+ * @internal
327
+ */var getCanonicalRequest=function(_a){var body=_a.body,headers=_a.headers,method=_a.method,url=_a.url;return[method,getCanonicalUri(url.pathname),getCanonicalQueryString(url.searchParams),getCanonicalHeaders(headers),getSignedHeaders(headers),getHashedPayload(body)].join("\n")};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
328
+ // SPDX-License-Identifier: Apache-2.0
329
+ /**
330
+ * Returns a signing key to be used for signing requests.
331
+ *
332
+ * @param secretAccessKey AWS secret access key from credentials.
333
+ * @param date Current date in the format 'YYYYMMDD'.
334
+ * @param region AWS region in which the service resides.
335
+ * @param service Service to which the signed request is being sent.
336
+ *
337
+ * @returns `Uint8Array` calculated from its composite parts.
338
+ *
339
+ * @internal
340
+ */var getSigningKey=function(secretAccessKey,date,region,service){var key="".concat(SIGNATURE_IDENTIFIER).concat(secretAccessKey);var dateKey=getHashedData(key,date);var regionKey=getHashedData(dateKey,region);var serviceKey=getHashedData(regionKey,service);var signingKey=getHashedData(serviceKey,KEY_TYPE_IDENTIFIER);return signingKey};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
341
+ // SPDX-License-Identifier: Apache-2.0
342
+ /**
343
+ * Returns a string to be signed.
344
+ *
345
+ * @param date Current date in the format 'YYYYMMDDThhmmssZ'.
346
+ * @param credentialScope String representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.
347
+ * @param hashedRequest Hashed canonical request.
348
+ *
349
+ * @returns A string created by by concatenating the following strings, separated by newline characters:
350
+ * - Algorithm
351
+ * - RequestDateTime
352
+ * - CredentialScope
353
+ * - HashedCanonicalRequest
354
+ *
355
+ * @internal
356
+ */var getStringToSign=function(date,credentialScope,hashedRequest){return[SHA256_ALGORITHM_IDENTIFIER,date,credentialScope,hashedRequest].join("\n")};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
357
+ // SPDX-License-Identifier: Apache-2.0
358
+ /**
359
+ * Calculates and returns an AWS API Signature.
360
+ * https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html
361
+ *
362
+ * @param request `HttpRequest` to be signed.
363
+ * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.
364
+ * @returns AWS API Signature to sign a request or url with.
365
+ *
366
+ * @internal
367
+ */var getSignature=function(request,_a){var credentialScope=_a.credentialScope,longDate=_a.longDate,secretAccessKey=_a.secretAccessKey,shortDate=_a.shortDate,signingRegion=_a.signingRegion,signingService=_a.signingService;// step 1: create a canonical request
368
+ var canonicalRequest=getCanonicalRequest(request);// step 2: create a hash of the canonical request
369
+ var hashedRequest=getHashedDataAsHex(null,canonicalRequest);// step 3: create a string to sign
370
+ var stringToSign=getStringToSign(longDate,credentialScope,hashedRequest);// step 4: calculate the signature
371
+ var signature=getHashedDataAsHex(getSigningKey(secretAccessKey,shortDate,signingRegion,signingService),stringToSign);return signature};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
372
+ // SPDX-License-Identifier: Apache-2.0
373
+ var __assign$2=undefined&&undefined.__assign||function(){__assign$2=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$2.apply(this,arguments)};/**
374
+ * Given a `HttpRequest`, returns a Signature Version 4 signed `HttpRequest`.
375
+ *
376
+ * @param request `HttpRequest` to be signed.
377
+ * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.
378
+ * @returns A `HttpRequest` with authentication headers which can grant temporary access to AWS resources.
379
+ */var signRequest=function(request,options){var signingValues=getSigningValues(options);var accessKeyId=signingValues.accessKeyId,credentialScope=signingValues.credentialScope,longDate=signingValues.longDate,sessionToken=signingValues.sessionToken;// create the request to sign
380
+ var headers=__assign$2({},request.headers);headers[HOST_HEADER]=request.url.host;headers[AMZ_DATE_HEADER]=longDate;if(sessionToken){headers[TOKEN_HEADER]=sessionToken}var requestToSign=__assign$2(__assign$2({},request),{headers:headers});// calculate and add the signature to the request
381
+ var signature=getSignature(requestToSign,signingValues);var credentialEntry="Credential=".concat(accessKeyId,"/").concat(credentialScope);var signedHeadersEntry="SignedHeaders=".concat(getSignedHeaders(headers));var signatureEntry="Signature=".concat(signature);headers[AUTH_HEADER]="".concat(SHA256_ALGORITHM_IDENTIFIER," ").concat(credentialEntry,", ").concat(signedHeadersEntry,", ").concat(signatureEntry);return requestToSign};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
382
+ // SPDX-License-Identifier: Apache-2.0
383
+ var __assign$1=undefined&&undefined.__assign||function(){__assign$1=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign$1.apply(this,arguments)};var __rest=undefined&&undefined.__rest||function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};var __read=undefined&&undefined.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-->0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};/**
384
+ * Given a `Presignable` object, returns a Signature Version 4 presigned `URL` object.
385
+ *
386
+ * @param presignable `Presignable` object containing at least a url to be presigned with authentication query params.
387
+ * @param presignUrlOptions `PresignUrlOptions` object containing values used to construct the signature.
388
+ * @returns A `URL` with authentication query params which can grant temporary access to AWS resources.
389
+ */var presignUrl=function(_a,_b){var _c,_d,_e,_f;var body=_a.body,_g=_a.method,method=_g===void 0?"GET":_g,url=_a.url;var expiration=_b.expiration,options=__rest(_b,["expiration"]);var signingValues=getSigningValues(options);var accessKeyId=signingValues.accessKeyId,credentialScope=signingValues.credentialScope,longDate=signingValues.longDate,sessionToken=signingValues.sessionToken;// create the request to sign
390
+ // @ts-ignore URL constructor accepts a URL object
391
+ var presignedUrl=new URL(url);Object.entries(__assign$1(__assign$1((_c={},_c[ALGORITHM_QUERY_PARAM]=SHA256_ALGORITHM_IDENTIFIER,_c[CREDENTIAL_QUERY_PARAM]="".concat(accessKeyId,"/").concat(credentialScope),_c[AMZ_DATE_QUERY_PARAM]=longDate,_c[SIGNED_HEADERS_QUERY_PARAM]=HOST_HEADER,_c),expiration&&(_d={},_d[EXPIRES_QUERY_PARAM]=expiration.toString(),_d)),sessionToken&&(_e={},_e[TOKEN_QUERY_PARAM]=sessionToken,_e))).forEach(function(_a){var _b=__read(_a,2),key=_b[0],value=_b[1];presignedUrl.searchParams.append(key,value)});var requestToSign={body:body,headers:(_f={},_f[HOST_HEADER]=url.host,_f),method:method,url:presignedUrl};// calculate and add the signature to the url
392
+ var signature=getSignature(requestToSign,signingValues);presignedUrl.searchParams.append(SIGNATURE_QUERY_PARAM,signature);return presignedUrl};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
393
+ // SPDX-License-Identifier: Apache-2.0
394
+ var __assign=undefined&&undefined.__assign||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign.apply(this,arguments)};var IOT_SERVICE_NAME="iotdevicegateway";// Best practice regex to parse the service and region from an AWS endpoint
395
+ var AWS_ENDPOINT_REGEX=/([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com(.cn)?$/;var Signer=/** @class */function(){function Signer(){}/**
396
+ * Sign a HTTP request, add 'Authorization' header to request param
397
+ * @method sign
398
+ * @memberof Signer
399
+ * @static
400
+ *
401
+ * @param {object} request - HTTP request object
402
+ <pre>
403
+ request: {
404
+ method: GET | POST | PUT ...
405
+ url: ...,
406
+ headers: {
407
+ header1: ...
408
+ },
409
+ data: data
410
+ }
411
+ </pre>
412
+ * @param {object} access_info - AWS access credential info
413
+ <pre>
414
+ access_info: {
415
+ access_key: ...,
416
+ secret_key: ...,
417
+ session_token: ...
418
+ }
419
+ </pre>
420
+ * @param {object} [service_info] - AWS service type and region, optional,
421
+ * if not provided then parse out from url
422
+ <pre>
423
+ service_info: {
424
+ service: ...,
425
+ region: ...
426
+ }
427
+ </pre>
428
+ *
429
+ * @returns {object} Signed HTTP request
430
+ */Signer.sign=function(request,accessInfo,serviceInfo){request.headers=request.headers||{};if(request.body&&!request.data){throw new Error("The attribute \"body\" was found on the request object. Please use the attribute \"data\" instead.")}var requestToSign=__assign(__assign({},request),{body:request.data,url:new URL(request.url)});var options=getOptions(requestToSign,accessInfo,serviceInfo);var signedRequest=signRequest(requestToSign,options);// Prior to using `signRequest`, Signer accepted urls as strings and outputted urls as string. Coerce the property
431
+ // back to a string so as not to disrupt consumers of Signer.
432
+ signedRequest.url=signedRequest.url.toString();// HTTP headers should be case insensitive but, to maintain parity with the previous Signer implementation and
433
+ // limit the impact of this implementation swap, replace lowercased headers with title cased ones.
434
+ signedRequest.headers.Authorization=signedRequest.headers.authorization;signedRequest.headers["X-Amz-Security-Token"]=signedRequest.headers["x-amz-security-token"];delete signedRequest.headers.authorization;delete signedRequest.headers["x-amz-security-token"];return signedRequest};Signer.signUrl=function(urlOrRequest,accessInfo,serviceInfo,expiration){var urlToSign=typeof urlOrRequest==="object"?urlOrRequest.url:urlOrRequest;var method=typeof urlOrRequest==="object"?urlOrRequest.method:"GET";var body=typeof urlOrRequest==="object"?urlOrRequest.body:undefined;var presignable={body:body,method:method,url:new URL(urlToSign)};var options=getOptions(presignable,accessInfo,serviceInfo,expiration);var signedUrl=presignUrl(presignable,options);if(accessInfo.session_token&&!sessionTokenRequiredInSigning(options.signingService)){signedUrl.searchParams.append(TOKEN_QUERY_PARAM,accessInfo.session_token)}return signedUrl.toString()};return Signer}();var getOptions=function(request,accessInfo,serviceInfo,expiration){var _a=accessInfo!==null&&accessInfo!==void 0?accessInfo:{},access_key=_a.access_key,secret_key=_a.secret_key,session_token=_a.session_token;var _b=parseServiceInfo(request.url),urlRegion=_b.region,urlService=_b.service;var _c=serviceInfo!==null&&serviceInfo!==void 0?serviceInfo:{},_d=_c.region,region=_d===void 0?urlRegion:_d,_e=_c.service,service=_e===void 0?urlService:_e;var credentials=__assign({accessKeyId:access_key,secretAccessKey:secret_key},sessionTokenRequiredInSigning(service)?{sessionToken:session_token}:{});return __assign({credentials:credentials,signingDate:DateUtils.getDateWithClockOffset(),signingRegion:region,signingService:service},expiration&&{expiration:expiration})};// TODO: V6 investigate whether add to custom clients' general signer implementation.
435
+ var parseServiceInfo=function(url){var _a;var host=url.host;var matched=(_a=host.match(AWS_ENDPOINT_REGEX))!==null&&_a!==void 0?_a:[];var parsed=matched.slice(1,3);if(parsed[1]==="es"){// Elastic Search
436
+ parsed=parsed.reverse()}return{service:parsed[0],region:parsed[1]}};// IoT service does not allow the session token in the canonical request
437
+ // https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html
438
+ // TODO: V6 investigate whether add to custom clients' general signer implementation.
439
+ var sessionTokenRequiredInSigning=function(service){return service!==IOT_SERVICE_NAME};// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
440
+ // SPDX-License-Identifier: Apache-2.0
441
+ /**
442
+ * Creates an auth helper instance using credentials from Cognito.
443
+ *
444
+ * @param identityPoolId Cognito Identity Pool Id
445
+ */async function withIdentityPoolId(identityPoolId){const region=identityPoolId.split(":")[0];const credentialsProvider=fromCognitoIdentityPool({identityPoolId,clientConfig:{region}});let credentials;async function refreshCredentials(){credentials=await credentialsProvider();let timeToRefresh=3600000;// default to 1 hour if credentials does not have expiration field
446
+ if(credentials.expiration){timeToRefresh=credentials.expiration.getTime()-new Date().getTime()}// timeToRefresh minus 1 minute to give some time for the actual refresh to happen.
447
+ setTimeout(refreshCredentials,timeToRefresh-60000)}await refreshCredentials();return{getMapAuthenticationOptions:()=>({transformRequest:url=>{// Only sign aws URLs
448
+ if(url.includes("amazonaws.com")){return{url:Signer.signUrl(url,{access_key:credentials.accessKeyId,secret_key:credentials.secretAccessKey,session_token:credentials.sessionToken})}}return{url}}}),getLocationClientConfig:()=>({credentials:credentialsProvider}),getCredentials:()=>credentials}}// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
449
+ // SPDX-License-Identifier: Apache-2.0
450
+ /**
451
+ * Creates an auth helper instance using APIKey. Its `getLocationClientConfig` function creates a signer to set the
452
+ * APIKey in all the commands of a client.
453
+ *
454
+ * @param apiKey APIKey
455
+ */async function withAPIKey(apiKey){return{getLocationClientConfig:()=>({signer:{sign:async requestToSign=>{var _a;// APIKey in the command can override the APIKey set by auth helper.
456
+ requestToSign.query=Object.assign({key:apiKey},(_a=requestToSign.query)!==null&&_a!==void 0?_a:{});return requestToSign}}})}}});