{"version":3,"file":"js/chunk-vendors.15bfb93b.js","mappings":"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","sources":["webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/types/Auth.js","webpack://energy-mutual-consumer-app/./node_modules/universal-cookie/es6/utils.js","webpack://energy-mutual-consumer-app/./node_modules/universal-cookie/es6/Cookies.js","webpack://energy-mutual-consumer-app/./node_modules/universal-cookie/es6/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/UniversalStorage/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Util/StringUtils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/OAuth/urlOpener.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/OAuth/oauthStorage.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/OAuth/OAuth.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/urlListener.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/Errors.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/Auth.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/common/AuthErrorStrings.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/auth/lib-esm/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/cache/lib-esm/Utils/CacheUtils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/cache/lib-esm/StorageCache.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/cache/lib-esm/BrowserStorageCache.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/cache/lib-esm/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Amplify.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/OAuthHelper/GoogleOAuth.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/OAuthHelper/FacebookOAuth.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/OAuthHelper/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/node_modules/tslib/tslib.es6.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/models/models_0.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/protocols/Aws_json1_1.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/commands/GetCredentialsForIdentityCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/property-provider/dist/es/ProviderError.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/resolveLogins.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/fromCognitoIdentity.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/commands/GetIdCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/IndexedDbStorage.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/InMemoryStorage.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/localStorage.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/fromCognitoIdentityPool.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/endpoints.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/runtimeConfig.shared.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/runtimeConfig.browser.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-cognito-identity/dist/es/CognitoIdentityClient.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Credentials.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Hub.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/I18n/I18n.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/I18n/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/JS.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Util/Constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Logger/ConsoleLogger.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Parser.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Platform/version.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Platform/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Util/DateUtils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Signer.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/StorageHelper/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Util/Retry.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/AWSIotProvider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/MqttOverWSProvider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/PubSubProvider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/AWSAppSyncProvider.js","webpack://energy-mutual-consumer-app/./node_modules/graphql/jsutils/isObjectLike.mjs","webpack://energy-mutual-consumer-app/./node_modules/graphql/polyfills/symbols.mjs","webpack://energy-mutual-consumer-app/./node_modules/graphql/language/location.mjs","webpack://energy-mutual-consumer-app/./node_modules/graphql/language/printLocation.mjs","webpack://energy-mutual-consumer-app/./node_modules/graphql/error/GraphQLError.mjs","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/PubSub.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/types/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/Util/Reachability.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/utils/ReachabilityMonitor/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/lib-esm/utils/ConnectionStateMonitor.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/node_modules/uuid/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/node_modules/uuid/lib/bytesToUuid.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/node_modules/uuid/lib/rng-browser.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/node_modules/uuid/v1.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/pubsub/node_modules/uuid/v4.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/node_modules/tslib/tslib.es6.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/models/models_0.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/xml-builder/dist/es/escape-attribute.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/xml-builder/dist/es/XmlNode.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/xml-builder/dist/es/escape-element.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/xml-builder/dist/es/XmlText.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/protocols/Aws_restXml.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-arn-parser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist/es/bucketHostnameUtils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist/es/bucketHostname.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist/es/bucketEndpointMiddleware.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-bucket-endpoint/dist/es/configurations.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-sdk-s3/dist/es/validate-bucket-name.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-sdk-s3/dist/es/use-regional-endpoint.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-sdk-s3/dist/es/throw-200-exceptions.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-ssec/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/CopyObjectCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/GetObjectCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/DeleteObjectCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/ListObjectsV2Command.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-format-url/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-create-request/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/common/StorageErrorStrings.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/s3-request-presigner/dist/es/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/s3-request-presigner/dist/es/presigner.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/providers/axios-http-handler.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/common/StorageConstants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/common/StorageUtils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-marshaller/dist/es/Int64.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-marshaller/dist/es/HeaderMarshaller.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-marshaller/dist/es/splitMessage.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-marshaller/dist/es/EventStreamMarshaller.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-serde-universal/dist/es/getChunkedStream.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-serde-universal/dist/es/getUnmarshalledStream.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-serde-universal/dist/es/EventStreamMarshaller.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-serde-browser/dist/es/utils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-serde-browser/dist/es/EventStreamMarshaller.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-serde-browser/dist/es/provider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/chunked-blob-reader/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/hash-blob-browser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/md5-js/dist/es/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/md5-js/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/endpoints.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/runtimeConfig.shared.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/runtimeConfig.browser.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/eventstream-serde-config-resolver/dist/es/EventStreamSerdeConfig.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-expect-continue/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/models/models_1.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/S3Client.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/common/S3ClientUtils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/PutObjectCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/CreateMultipartUploadCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/UploadPartCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/providers/AWSS3UploadTask.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/CompleteMultipartUploadCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/AbortMultipartUploadCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/client-s3/dist/es/commands/ListPartsCommand.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/providers/AWSS3ProviderManagedUpload.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/providers/AWSS3Provider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/Storage.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/storage/lib-esm/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/Translations-108d469f.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/auth-types-78df304e.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/constants-c8ecaa24.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/helpers-14fcb50c.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/index-83f2275b.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/storage-types-f257c0f2.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui/dist/aws-amplify-ui.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/crc32/build/aws_crc32.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/crc32/build/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/ie11-detection/build/CryptoOperation.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/ie11-detection/build/Key.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/ie11-detection/build/KeyOperation.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/ie11-detection/build/MsWindow.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/ie11-detection/build/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/build/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/build/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-js/build/RawSha256.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-js/build/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-js/build/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-js/build/jsSha256.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist/es/pureJs.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist/es/whatwgEncodingApi.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/supports-web-crypto/build/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/util/build/convertToBuffer.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/util/build/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/util/build/isEmptyData.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/util/build/numToUint8.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/config-resolver/dist/es/EndpointsConfig.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/config-resolver/dist/es/RegionConfig.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/fetch-http-handler/dist/es/request-timeout.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/fetch-http-handler/dist/es/fetch-http-handler.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/fetch-http-handler/dist/es/stream-collector.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/invalid-dependency/dist/es/invalidProvider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-content-length/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-host-header/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-logger/dist/es/loggerMiddleware.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/dist/es/retryMiddleware.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/service-error-classification/dist/es/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/service-error-classification/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/dist/es/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/dist/es/defaultRetryQuota.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/dist/es/delayDecider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/dist/es/retryDecider.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/dist/es/defaultStrategy.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/dist/es/configurations.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/node_modules/uuid/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/node_modules/uuid/lib/bytesToUuid.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/node_modules/uuid/lib/rng-browser.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/node_modules/uuid/v1.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-retry/node_modules/uuid/v4.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-serde/dist/es/deserializerMiddleware.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-serde/dist/es/serializerMiddleware.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-serde/dist/es/serdePlugin.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-signing/dist/es/configurations.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-signing/dist/es/middleware.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-user-agent/dist/es/configurations.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-user-agent/dist/es/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-user-agent/dist/es/user-agent-middleware.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/protocol-http/dist/es/httpResponse.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/protocol-http/dist/es/httpRequest.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/querystring-builder/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/credentialDerivation.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/getCanonicalHeaders.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/getCanonicalQuery.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/is-array-buffer/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/getPayloadHash.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/hasHeader.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/cloneRequest.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/moveHeadersToQuery.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/prepareRequest.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/utilDate.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/signature-v4/dist/es/SignatureV4.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/middleware-stack/dist/es/MiddlewareStack.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/client.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/command.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/extended-encode-uri-component.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/get-array-if-single-item.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/get-value-from-text-node.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/lazy-json.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/date-utils.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/smithy-client/dist/es/constants.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/querystring-parser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/url-parser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-base64-browser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-body-length-browser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-hex-encoding/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-locate-window/dist-es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-uri-escape/dist/es/escape-uri.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-user-agent-browser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-utf8-browser/dist/es/pureJs.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-utf8-browser/dist/es/whatwgEncodingApi.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-sdk/util-utf8-browser/dist/es/index.js","webpack://energy-mutual-consumer-app/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/AuthenticationDetails.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/utils/cryptoSecureRandomInt.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/utils/WordArray.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/BigInteger.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/AuthenticationHelper.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoJwtToken.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoAccessToken.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoIdToken.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoRefreshToken.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoUserSession.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/DateHelper.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoUserAttribute.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/StorageHelper.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoUser.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/Platform/version.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/Platform/index.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/UserAgent.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/Client.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CognitoUserPool.js","webpack://energy-mutual-consumer-app/./node_modules/amazon-cognito-identity-js/es/CookieStorage.js","webpack://energy-mutual-consumer-app/./node_modules/apexcharts/dist/apexcharts.min.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/core/lib-esm/ServiceWorker/ServiceWorker.js","webpack://energy-mutual-consumer-app/./node_modules/aws-amplify/lib-esm/index.js","webpack://energy-mutual-consumer-app/./node_modules/axios/index.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/adapters/xhr.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/axios.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/cancel/Cancel.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/cancel/CancelToken.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/cancel/isCancel.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/Axios.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/InterceptorManager.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/buildFullPath.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/createError.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/dispatchRequest.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/enhanceError.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/mergeConfig.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/settle.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/core/transformData.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/defaults.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/env/data.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/bind.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/buildURL.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/combineURLs.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/cookies.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/spread.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/helpers/validator.js","webpack://energy-mutual-consumer-app/./node_modules/axios/lib/utils.js","webpack://energy-mutual-consumer-app/./node_modules/base64-js/index.js","webpack://energy-mutual-consumer-app/./node_modules/bowser/es5.js","webpack://energy-mutual-consumer-app/./node_modules/buffer/index.js","webpack://energy-mutual-consumer-app/./node_modules/cookie/index.js","webpack://energy-mutual-consumer-app/./node_modules/crypto-js/core.js","webpack://energy-mutual-consumer-app/./node_modules/crypto-js/enc-base64.js","webpack://energy-mutual-consumer-app/./node_modules/crypto-js/hmac-sha256.js","webpack://energy-mutual-consumer-app/./node_modules/crypto-js/hmac.js","webpack://energy-mutual-consumer-app/./node_modules/crypto-js/lib-typedarrays.js","webpack://energy-mutual-consumer-app/./node_modules/crypto-js/sha256.js","webpack://energy-mutual-consumer-app/./node_modules/events/events.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/json2xml.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/nimndata.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/node2json.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/node2json_str.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/parser.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/util.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/validator.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/xmlNode.js","webpack://energy-mutual-consumer-app/./node_modules/fast-xml-parser/src/xmlstr2xmlnode.js","webpack://energy-mutual-consumer-app/./node_modules/ieee754/index.js","webpack://energy-mutual-consumer-app/./node_modules/isarray/index.js","webpack://energy-mutual-consumer-app/./node_modules/isomorphic-unfetch/browser.js","webpack://energy-mutual-consumer-app/./node_modules/js-cookie/src/js.cookie.js","webpack://energy-mutual-consumer-app/./node_modules/paho-mqtt/paho-mqtt.js","webpack://energy-mutual-consumer-app/./node_modules/querystring/decode.js","webpack://energy-mutual-consumer-app/./node_modules/querystring/encode.js","webpack://energy-mutual-consumer-app/./node_modules/querystring/index.js","webpack://energy-mutual-consumer-app/./node_modules/strnum/strnum.js","webpack://energy-mutual-consumer-app/./node_modules/tslib/tslib.es6.js","webpack://energy-mutual-consumer-app/./node_modules/unfetch/dist/unfetch.module.js","webpack://energy-mutual-consumer-app/./node_modules/url/node_modules/punycode/punycode.js","webpack://energy-mutual-consumer-app/./node_modules/url/url.js","webpack://energy-mutual-consumer-app/./node_modules/url/util.js","webpack://energy-mutual-consumer-app/./node_modules/vue-analytics/dist/vue-analytics.js","webpack://energy-mutual-consumer-app/./node_modules/vue-apexcharts/dist/vue-apexcharts.js","webpack://energy-mutual-consumer-app/./node_modules/vue/dist/vue.runtime.esm.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VIcon/VIcon.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VBtn/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VIcon/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/transitionable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VAlert/VAlert.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VApp/VApp.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VResponsive/VResponsive.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VResponsive/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VImg/VImg.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VToolbar/VToolbar.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/directives/scroll/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/scrollable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VAppBar/VAppBar.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VProgressCircular/VProgressCircular.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VProgressCircular/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/registrable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/groupable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VBtn/VBtn.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/transitions/createTransition.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/transitions/expand-transition.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/transitions/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/proxyable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VProgressLinear/VProgressLinear.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VProgressLinear/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/loadable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VCard/VCard.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VCard/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VFooter/VFooter.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VGrid/VSpacer.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VMain/VMain.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/roundable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VSheet/VSheet.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VSheet/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/components/VSnackbar/VSnackbar.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/directives/intersect/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/install.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/locale/en.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/presets/default/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/service/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/presets/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/application/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/breakpoint/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/goto/easing-patterns.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/goto/util.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/goto/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/presets/mdi-svg.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/presets/md.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/presets/mdi.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/presets/fa.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/presets/fa4.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/presets/fa-svg.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/presets/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/icons/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/lang/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/util/color/transformSRGB.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/util/color/transformCIELAB.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/theme/utils.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/services/theme/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/framework.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/applicationable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/binds-attrs/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/colorable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/elevatable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/measurable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/positionable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/directives/ripple/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/routable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/sizeable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/ssr-bootable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/themeable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/mixins/toggleable/index.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/util/colorUtils.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/util/console.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/util/helpers.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/util/mergeData.js","webpack://energy-mutual-consumer-app/./node_modules/vuetify/lib/util/mixins.js","webpack://energy-mutual-consumer-app/./node_modules/zen-observable-ts/lib/bundle.esm.js","webpack://energy-mutual-consumer-app/./node_modules/zen-observable/index.js","webpack://energy-mutual-consumer-app/./node_modules/zen-observable/lib/Observable.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm/polyfills/index.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/theme-19a9209a.js","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/esm-es5/loader.mjs","webpack://energy-mutual-consumer-app/./node_modules/@aws-amplify/ui-components/dist/loader/index.mjs","webpack://energy-mutual-consumer-app/./node_modules/pinia/node_modules/vue-demi/lib/index.mjs","webpack://energy-mutual-consumer-app/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://energy-mutual-consumer-app/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://energy-mutual-consumer-app/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://energy-mutual-consumer-app/./node_modules/pinia/dist/pinia.mjs","webpack://energy-mutual-consumer-app/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://energy-mutual-consumer-app/./node_modules/@vue/devtools-api/lib/esm/index.js"],"sourcesContent":["/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nexport var CognitoHostedUIIdentityProvider;\n(function (CognitoHostedUIIdentityProvider) {\n CognitoHostedUIIdentityProvider[\"Cognito\"] = \"COGNITO\";\n CognitoHostedUIIdentityProvider[\"Google\"] = \"Google\";\n CognitoHostedUIIdentityProvider[\"Facebook\"] = \"Facebook\";\n CognitoHostedUIIdentityProvider[\"Amazon\"] = \"LoginWithAmazon\";\n CognitoHostedUIIdentityProvider[\"Apple\"] = \"SignInWithApple\";\n})(CognitoHostedUIIdentityProvider || (CognitoHostedUIIdentityProvider = {}));\nexport function isFederatedSignInOptions(obj) {\n var keys = ['provider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isFederatedSignInOptionsCustom(obj) {\n var keys = ['customProvider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function hasCustomState(obj) {\n var keys = ['customState'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isCognitoHostedOpts(oauth) {\n return oauth.redirectSignIn !== undefined;\n}\nexport var AuthErrorTypes;\n(function (AuthErrorTypes) {\n AuthErrorTypes[\"NoConfig\"] = \"noConfig\";\n AuthErrorTypes[\"MissingAuthConfig\"] = \"missingAuthConfig\";\n AuthErrorTypes[\"EmptyUsername\"] = \"emptyUsername\";\n AuthErrorTypes[\"InvalidUsername\"] = \"invalidUsername\";\n AuthErrorTypes[\"EmptyPassword\"] = \"emptyPassword\";\n AuthErrorTypes[\"EmptyCode\"] = \"emptyCode\";\n AuthErrorTypes[\"SignUpError\"] = \"signUpError\";\n AuthErrorTypes[\"NoMFA\"] = \"noMFA\";\n AuthErrorTypes[\"InvalidMFA\"] = \"invalidMFA\";\n AuthErrorTypes[\"EmptyChallengeResponse\"] = \"emptyChallengeResponse\";\n AuthErrorTypes[\"NoUserSession\"] = \"noUserSession\";\n AuthErrorTypes[\"Default\"] = \"default\";\n AuthErrorTypes[\"DeviceConfig\"] = \"deviceConfig\";\n AuthErrorTypes[\"NetworkError\"] = \"networkError\";\n AuthErrorTypes[\"AutoSignInError\"] = \"autoSignInError\";\n})(AuthErrorTypes || (AuthErrorTypes = {}));\nexport function isUsernamePasswordOpts(obj) {\n return !!obj.username;\n}\nexport var GRAPHQL_AUTH_MODE;\n(function (GRAPHQL_AUTH_MODE) {\n GRAPHQL_AUTH_MODE[\"API_KEY\"] = \"API_KEY\";\n GRAPHQL_AUTH_MODE[\"AWS_IAM\"] = \"AWS_IAM\";\n GRAPHQL_AUTH_MODE[\"OPENID_CONNECT\"] = \"OPENID_CONNECT\";\n GRAPHQL_AUTH_MODE[\"AMAZON_COGNITO_USER_POOLS\"] = \"AMAZON_COGNITO_USER_POOLS\";\n GRAPHQL_AUTH_MODE[\"AWS_LAMBDA\"] = \"AWS_LAMBDA\";\n})(GRAPHQL_AUTH_MODE || (GRAPHQL_AUTH_MODE = {}));\n//# sourceMappingURL=Auth.js.map","import * as cookie from 'cookie';\r\nexport function hasDocumentCookie() {\r\n // Can we get/set cookies on document.cookie?\r\n return typeof document === 'object' && typeof document.cookie === 'string';\r\n}\r\nexport function cleanCookies() {\r\n document.cookie.split(';').forEach(function (c) {\r\n document.cookie = c\r\n .replace(/^ +/, '')\r\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\r\n });\r\n}\r\nexport function parseCookies(cookies, options) {\r\n if (typeof cookies === 'string') {\r\n return cookie.parse(cookies, options);\r\n }\r\n else if (typeof cookies === 'object' && cookies !== null) {\r\n return cookies;\r\n }\r\n else {\r\n return {};\r\n }\r\n}\r\nexport function isParsingCookie(value, doNotParse) {\r\n if (typeof doNotParse === 'undefined') {\r\n // We guess if the cookie start with { or [, it has been serialized\r\n doNotParse =\r\n !value || (value[0] !== '{' && value[0] !== '[' && value[0] !== '\"');\r\n }\r\n return !doNotParse;\r\n}\r\nexport function readCookie(value, options) {\r\n if (options === void 0) { options = {}; }\r\n var cleanValue = cleanupCookieValue(value);\r\n if (isParsingCookie(cleanValue, options.doNotParse)) {\r\n try {\r\n return JSON.parse(cleanValue);\r\n }\r\n catch (e) {\r\n // At least we tried\r\n }\r\n }\r\n // Ignore clean value if we failed the deserialization\r\n // It is not relevant anymore to trim those values\r\n return value;\r\n}\r\nfunction cleanupCookieValue(value) {\r\n // express prepend j: before serializing a cookie\r\n if (value && value[0] === 'j' && value[1] === ':') {\r\n return value.substr(2);\r\n }\r\n return value;\r\n}\r\n","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport * as cookie from 'cookie';\r\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\r\nvar Cookies = /** @class */ (function () {\r\n function Cookies(cookies, options) {\r\n var _this = this;\r\n this.changeListeners = [];\r\n this.HAS_DOCUMENT_COOKIE = false;\r\n this.cookies = parseCookies(cookies, options);\r\n new Promise(function () {\r\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\r\n }).catch(function () { });\r\n }\r\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\r\n if (!this.HAS_DOCUMENT_COOKIE) {\r\n return;\r\n }\r\n this.cookies = cookie.parse(document.cookie, parseOptions);\r\n };\r\n Cookies.prototype._emitChange = function (params) {\r\n for (var i = 0; i < this.changeListeners.length; ++i) {\r\n this.changeListeners[i](params);\r\n }\r\n };\r\n Cookies.prototype.get = function (name, options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n return readCookie(this.cookies[name], options);\r\n };\r\n Cookies.prototype.getAll = function (options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n var result = {};\r\n for (var name_1 in this.cookies) {\r\n result[name_1] = readCookie(this.cookies[name_1], options);\r\n }\r\n return result;\r\n };\r\n Cookies.prototype.set = function (name, value, options) {\r\n var _a;\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, value, options);\r\n }\r\n this._emitChange({ name: name, value: value, options: options });\r\n };\r\n Cookies.prototype.remove = function (name, options) {\r\n var finalOptions = (options = __assign(__assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\r\n this.cookies = __assign({}, this.cookies);\r\n delete this.cookies[name];\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, '', finalOptions);\r\n }\r\n this._emitChange({ name: name, value: undefined, options: options });\r\n };\r\n Cookies.prototype.addChangeListener = function (callback) {\r\n this.changeListeners.push(callback);\r\n };\r\n Cookies.prototype.removeChangeListener = function (callback) {\r\n var idx = this.changeListeners.indexOf(callback);\r\n if (idx >= 0) {\r\n this.changeListeners.splice(idx, 1);\r\n }\r\n };\r\n return Cookies;\r\n}());\r\nexport default Cookies;\r\n","import Cookies from './Cookies';\r\nexport default Cookies;\r\n","import Cookies from 'universal-cookie';\nimport { browserOrNode } from '../JS';\nvar isBrowser = browserOrNode().isBrowser;\nvar UniversalStorage = /** @class */ (function () {\n function UniversalStorage(context) {\n if (context === void 0) { context = {}; }\n this.cookies = new Cookies();\n this.store = isBrowser ? window.localStorage : Object.create(null);\n this.cookies = context.req\n ? new Cookies(context.req.headers.cookie)\n : new Cookies();\n Object.assign(this.store, this.cookies.getAll());\n }\n Object.defineProperty(UniversalStorage.prototype, \"length\", {\n get: function () {\n return Object.entries(this.store).length;\n },\n enumerable: true,\n configurable: true\n });\n UniversalStorage.prototype.clear = function () {\n var _this = this;\n Array.from(new Array(this.length))\n .map(function (_, i) { return _this.key(i); })\n .forEach(function (key) { return _this.removeItem(key); });\n };\n UniversalStorage.prototype.getItem = function (key) {\n return this.getLocalItem(key);\n };\n UniversalStorage.prototype.getLocalItem = function (key) {\n return Object.prototype.hasOwnProperty.call(this.store, key)\n ? this.store[key]\n : null;\n };\n UniversalStorage.prototype.getUniversalItem = function (key) {\n return this.cookies.get(key);\n };\n UniversalStorage.prototype.key = function (index) {\n return Object.keys(this.store)[index];\n };\n UniversalStorage.prototype.removeItem = function (key) {\n this.removeLocalItem(key);\n this.removeUniversalItem(key);\n };\n UniversalStorage.prototype.removeLocalItem = function (key) {\n delete this.store[key];\n };\n UniversalStorage.prototype.removeUniversalItem = function (key) {\n this.cookies.remove(key, {\n path: '/',\n });\n };\n UniversalStorage.prototype.setItem = function (key, value) {\n this.setLocalItem(key, value);\n // keys take the shape:\n // 1. `${ProviderPrefix}.${userPoolClientId}.${username}.${tokenType}\n // 2. `${ProviderPrefix}.${userPoolClientId}.LastAuthUser\n var tokenType = key.split('.').pop();\n switch (tokenType) {\n // LastAuthUser is needed for computing other key names\n case 'LastAuthUser':\n // accessToken is required for CognitoUserSession\n case 'accessToken':\n // refreshToken originates on the client, but SSR pages won't fail when this expires\n // Note: the new `accessToken` will also be refreshed on the client (since Amplify doesn't set server-side cookies)\n case 'refreshToken':\n // Required for CognitoUserSession\n case 'idToken':\n isBrowser\n ? this.setUniversalItem(key, value)\n : this.setLocalItem(key, value);\n // userData is used when `Auth.currentAuthenticatedUser({ bypassCache: false })`.\n // Can be persisted to speed up calls to `Auth.currentAuthenticatedUser()`\n // case 'userData':\n // Ignoring clockDrift on the server for now, but needs testing\n // case 'clockDrift':\n }\n };\n UniversalStorage.prototype.setLocalItem = function (key, value) {\n this.store[key] = value;\n };\n UniversalStorage.prototype.setUniversalItem = function (key, value) {\n this.cookies.set(key, value, {\n path: '/',\n // `httpOnly` cannot be set via JavaScript: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#JavaScript_access_using_Document.cookie\n sameSite: true,\n // Allow unsecure requests to http://localhost:3000/ when in development.\n secure: window.location.hostname === 'localhost' ? false : true,\n });\n };\n return UniversalStorage;\n}());\nexport { UniversalStorage };\n//# sourceMappingURL=index.js.map","export function urlSafeEncode(str) {\n return str\n .split('')\n .map(function (char) {\n return char\n .charCodeAt(0)\n .toString(16)\n .padStart(2, '0');\n })\n .join('');\n}\nexport function urlSafeDecode(hex) {\n return hex\n .match(/.{2}/g)\n .map(function (char) { return String.fromCharCode(parseInt(char, 16)); })\n .join('');\n}\n//# sourceMappingURL=StringUtils.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar SELF = '_self';\nexport var launchUri = function (url) {\n var windowProxy = window.open(url, SELF);\n if (windowProxy) {\n return Promise.resolve(windowProxy);\n }\n else {\n return Promise.reject();\n }\n};\n//# sourceMappingURL=urlOpener.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nexport var setState = function (state) {\n window.sessionStorage.setItem('oauth_state', state);\n};\nexport var getState = function () {\n var oauth_state = window.sessionStorage.getItem('oauth_state');\n window.sessionStorage.removeItem('oauth_state');\n return oauth_state;\n};\nexport var setPKCE = function (private_key) {\n window.sessionStorage.setItem('ouath_pkce_key', private_key);\n};\nexport var getPKCE = function () {\n var ouath_pkce_key = window.sessionStorage.getItem('ouath_pkce_key');\n window.sessionStorage.removeItem('ouath_pkce_key');\n return ouath_pkce_key;\n};\nexport var clearAll = function () {\n window.sessionStorage.removeItem('ouath_pkce_key');\n window.sessionStorage.removeItem('oauth_state');\n};\n//# sourceMappingURL=oauthStorage.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { parse } from 'url'; // Used for OAuth parsing of Cognito Hosted UI\nimport { launchUri } from './urlOpener';\nimport * as oAuthStorage from './oauthStorage';\nimport { isCognitoHostedOpts, CognitoHostedUIIdentityProvider, } from '../types/Auth';\nimport { ConsoleLogger as Logger, Hub, urlSafeEncode } from '@aws-amplify/core';\nimport sha256 from 'crypto-js/sha256';\nimport Base64 from 'crypto-js/enc-base64';\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' &&\n typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchAuthEvent = function (event, data, message) {\n Hub.dispatch('auth', { event: event, data: data, message: message }, 'Auth', AMPLIFY_SYMBOL);\n};\nvar logger = new Logger('OAuth');\nvar OAuth = /** @class */ (function () {\n function OAuth(_a) {\n var config = _a.config, cognitoClientId = _a.cognitoClientId, _b = _a.scopes, scopes = _b === void 0 ? [] : _b;\n this._urlOpener = config.urlOpener || launchUri;\n this._config = config;\n this._cognitoClientId = cognitoClientId;\n if (!this.isValidScopes(scopes))\n throw Error('scopes must be a String Array');\n this._scopes = scopes;\n }\n OAuth.prototype.isValidScopes = function (scopes) {\n return (Array.isArray(scopes) && scopes.every(function (scope) { return typeof scope === 'string'; }));\n };\n OAuth.prototype.oauthSignIn = function (responseType, domain, redirectSignIn, clientId, provider, customState) {\n if (responseType === void 0) { responseType = 'code'; }\n if (provider === void 0) { provider = CognitoHostedUIIdentityProvider.Cognito; }\n var generatedState = this._generateState(32);\n /* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito\n single-encodes/decodes url on first sign in and double-encodes/decodes url\n when user already signed in. Using encodeURIComponent, Base32, Base64 add\n characters % or = which on further encoding becomes unsafe. '=' create issue\n for parsing query params.\n Refer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n var state = customState\n ? generatedState + \"-\" + urlSafeEncode(customState)\n : generatedState;\n oAuthStorage.setState(state);\n var pkce_key = this._generateRandom(128);\n oAuthStorage.setPKCE(pkce_key);\n var code_challenge = this._generateChallenge(pkce_key);\n var code_challenge_method = 'S256';\n var scopesString = this._scopes.join(' ');\n var queryString = Object.entries(__assign(__assign({ redirect_uri: redirectSignIn, response_type: responseType, client_id: clientId, identity_provider: provider, scope: scopesString, state: state }, (responseType === 'code' ? { code_challenge: code_challenge } : {})), (responseType === 'code' ? { code_challenge_method: code_challenge_method } : {})))\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(v);\n })\n .join('&');\n var URL = \"https://\" + domain + \"/oauth2/authorize?\" + queryString;\n logger.debug(\"Redirecting to \" + URL);\n this._urlOpener(URL, redirectSignIn);\n };\n OAuth.prototype._handleCodeFlow = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var code, currentUrlPathname, redirectSignInPathname, oAuthTokenEndpoint, client_id, redirect_uri, code_verifier, oAuthTokenBody, body, _a, access_token, refresh_token, id_token, error;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n code = (parse(currentUrl).query || '')\n .split('&')\n .map(function (pairings) { return pairings.split('='); })\n .reduce(function (accum, _a) {\n var _b;\n var _c = __read(_a, 2), k = _c[0], v = _c[1];\n return (__assign(__assign({}, accum), (_b = {}, _b[k] = v, _b)));\n }, { code: undefined }).code;\n currentUrlPathname = parse(currentUrl).pathname || '/';\n redirectSignInPathname = parse(this._config.redirectSignIn).pathname || '/';\n if (!code || currentUrlPathname !== redirectSignInPathname) {\n return [2 /*return*/];\n }\n oAuthTokenEndpoint = 'https://' + this._config.domain + '/oauth2/token';\n dispatchAuthEvent('codeFlow', {}, \"Retrieving tokens from \" + oAuthTokenEndpoint);\n client_id = isCognitoHostedOpts(this._config)\n ? this._cognitoClientId\n : this._config.clientID;\n redirect_uri = isCognitoHostedOpts(this._config)\n ? this._config.redirectSignIn\n : this._config.redirectUri;\n code_verifier = oAuthStorage.getPKCE();\n oAuthTokenBody = __assign({ grant_type: 'authorization_code', code: code,\n client_id: client_id,\n redirect_uri: redirect_uri }, (code_verifier ? { code_verifier: code_verifier } : {}));\n logger.debug(\"Calling token endpoint: \" + oAuthTokenEndpoint + \" with\", oAuthTokenBody);\n body = Object.entries(oAuthTokenBody)\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(v);\n })\n .join('&');\n return [4 /*yield*/, fetch(oAuthTokenEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: body,\n })];\n case 1: return [4 /*yield*/, (_b.sent()).json()];\n case 2:\n _a = _b.sent(), access_token = _a.access_token, refresh_token = _a.refresh_token, id_token = _a.id_token, error = _a.error;\n if (error) {\n throw new Error(error);\n }\n return [2 /*return*/, {\n accessToken: access_token,\n refreshToken: refresh_token,\n idToken: id_token,\n }];\n }\n });\n });\n };\n OAuth.prototype._handleImplicitFlow = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, id_token, access_token;\n return __generator(this, function (_b) {\n _a = (parse(currentUrl).hash || '#')\n .substr(1) // Remove # from returned code\n .split('&')\n .map(function (pairings) { return pairings.split('='); })\n .reduce(function (accum, _a) {\n var _b;\n var _c = __read(_a, 2), k = _c[0], v = _c[1];\n return (__assign(__assign({}, accum), (_b = {}, _b[k] = v, _b)));\n }, {\n id_token: undefined,\n access_token: undefined,\n }), id_token = _a.id_token, access_token = _a.access_token;\n dispatchAuthEvent('implicitFlow', {}, \"Got tokens from \" + currentUrl);\n logger.debug(\"Retrieving implicit tokens from \" + currentUrl + \" with\");\n return [2 /*return*/, {\n accessToken: access_token,\n idToken: id_token,\n refreshToken: null,\n }];\n });\n });\n };\n OAuth.prototype.handleAuthResponse = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var urlParams, error, error_description, state, _a, _b, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 5, , 6]);\n urlParams = currentUrl\n ? __assign(__assign({}, (parse(currentUrl).hash || '#')\n .substr(1)\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .reduce(function (acc, _a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return ((acc[k] = v), acc);\n }, {})), (parse(currentUrl).query || '')\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .reduce(function (acc, _a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return ((acc[k] = v), acc);\n }, {}))\n : {};\n error = urlParams.error, error_description = urlParams.error_description;\n if (error) {\n throw new Error(error_description);\n }\n state = this._validateState(urlParams);\n logger.debug(\"Starting \" + this._config.responseType + \" flow with \" + currentUrl);\n if (!(this._config.responseType === 'code')) return [3 /*break*/, 2];\n _a = [{}];\n return [4 /*yield*/, this._handleCodeFlow(currentUrl)];\n case 1: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_c.sent())])), { state: state }])];\n case 2:\n _b = [{}];\n return [4 /*yield*/, this._handleImplicitFlow(currentUrl)];\n case 3: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.sent())])), { state: state }])];\n case 4: return [3 /*break*/, 6];\n case 5:\n e_1 = _c.sent();\n logger.error(\"Error handling auth response.\", e_1);\n throw e_1;\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n OAuth.prototype._validateState = function (urlParams) {\n if (!urlParams) {\n return;\n }\n var savedState = oAuthStorage.getState();\n var returnedState = urlParams.state;\n // This is because savedState only exists if the flow was initiated by Amplify\n if (savedState && savedState !== returnedState) {\n throw new Error('Invalid state in OAuth flow');\n }\n return returnedState;\n };\n OAuth.prototype.signOut = function () {\n return __awaiter(this, void 0, void 0, function () {\n var oAuthLogoutEndpoint, client_id, signout_uri;\n return __generator(this, function (_a) {\n oAuthLogoutEndpoint = 'https://' + this._config.domain + '/logout?';\n client_id = isCognitoHostedOpts(this._config)\n ? this._cognitoClientId\n : this._config.oauth.clientID;\n signout_uri = isCognitoHostedOpts(this._config)\n ? this._config.redirectSignOut\n : this._config.returnTo;\n oAuthLogoutEndpoint += Object.entries({\n client_id: client_id,\n logout_uri: encodeURIComponent(signout_uri),\n })\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return k + \"=\" + v;\n })\n .join('&');\n dispatchAuthEvent('oAuthSignOut', { oAuth: 'signOut' }, \"Signing out from \" + oAuthLogoutEndpoint);\n logger.debug(\"Signing out from \" + oAuthLogoutEndpoint);\n return [2 /*return*/, this._urlOpener(oAuthLogoutEndpoint, signout_uri)];\n });\n });\n };\n OAuth.prototype._generateState = function (length) {\n var result = '';\n var i = length;\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n for (; i > 0; --i)\n result += chars[Math.round(Math.random() * (chars.length - 1))];\n return result;\n };\n OAuth.prototype._generateChallenge = function (code) {\n return this._base64URL(sha256(code));\n };\n OAuth.prototype._base64URL = function (string) {\n return string\n .toString(Base64)\n .replace(/=/g, '')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_');\n };\n OAuth.prototype._generateRandom = function (size) {\n var CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n var buffer = new Uint8Array(size);\n if (typeof window !== 'undefined' && !!window.crypto) {\n window.crypto.getRandomValues(buffer);\n }\n else {\n for (var i = 0; i < size; i += 1) {\n buffer[i] = (Math.random() * CHARSET.length) | 0;\n }\n }\n return this._bufferToString(buffer);\n };\n OAuth.prototype._bufferToString = function (buffer) {\n var CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var state = [];\n for (var i = 0; i < buffer.byteLength; i += 1) {\n var index = buffer[i] % CHARSET.length;\n state.push(CHARSET[index]);\n }\n return state.join('');\n };\n return OAuth;\n}());\nexport default OAuth;\n//# sourceMappingURL=OAuth.js.map","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { browserOrNode } from '@aws-amplify/core';\nexport default (function (callback) {\n if (browserOrNode().isBrowser && window.location) {\n var url = window.location.href;\n callback({ url: url });\n }\n else if (browserOrNode().isNode) {\n // continue building on ssr\n (function () { }); // noop\n }\n else {\n throw new Error('Not supported');\n }\n});\n//# sourceMappingURL=urlListener.js.map","/*\n * Copyright 2019-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AuthErrorStrings } from './common/AuthErrorStrings';\nvar logger = new Logger('AuthError');\nvar AuthError = /** @class */ (function (_super) {\n __extends(AuthError, _super);\n function AuthError(type) {\n var _this = this;\n var _a = authErrorMessages[type], message = _a.message, log = _a.log;\n _this = _super.call(this, message) || this;\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n _this.constructor = AuthError;\n Object.setPrototypeOf(_this, AuthError.prototype);\n _this.name = 'AuthError';\n _this.log = log || message;\n logger.error(_this.log);\n return _this;\n }\n return AuthError;\n}(Error));\nexport { AuthError };\nvar NoUserPoolError = /** @class */ (function (_super) {\n __extends(NoUserPoolError, _super);\n function NoUserPoolError(type) {\n var _this = _super.call(this, type) || this;\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n _this.constructor = NoUserPoolError;\n Object.setPrototypeOf(_this, NoUserPoolError.prototype);\n _this.name = 'NoUserPoolError';\n return _this;\n }\n return NoUserPoolError;\n}(AuthError));\nexport { NoUserPoolError };\nexport var authErrorMessages = {\n noConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: \"\\n Error: Amplify has not been configured correctly.\\n This error is typically caused by one of the following scenarios:\\n\\n 1. Make sure you're passing the awsconfig object to Amplify.configure() in your app's entry point\\n See https://aws-amplify.github.io/docs/js/authentication#configure-your-app for more information\\n \\n 2. There might be multiple conflicting versions of amplify packages in your node_modules.\\n\\t\\t\\t\\tRefer to our docs site for help upgrading Amplify packages (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js)\\n \",\n },\n missingAuthConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: \"\\n Error: Amplify has not been configured correctly. \\n The configuration object is missing required auth properties.\\n This error is typically caused by one of the following scenarios:\\n\\n 1. Did you run `amplify push` after adding auth via `amplify add auth`?\\n See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information\\n\\n 2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.\\n \",\n },\n emptyUsername: {\n message: AuthErrorStrings.EMPTY_USERNAME,\n },\n // TODO: should include a list of valid sign-in types\n invalidUsername: {\n message: AuthErrorStrings.INVALID_USERNAME,\n },\n emptyPassword: {\n message: AuthErrorStrings.EMPTY_PASSWORD,\n },\n emptyCode: {\n message: AuthErrorStrings.EMPTY_CODE,\n },\n signUpError: {\n message: AuthErrorStrings.SIGN_UP_ERROR,\n log: 'The first parameter should either be non-null string or object',\n },\n noMFA: {\n message: AuthErrorStrings.NO_MFA,\n },\n invalidMFA: {\n message: AuthErrorStrings.INVALID_MFA,\n },\n emptyChallengeResponse: {\n message: AuthErrorStrings.EMPTY_CHALLENGE,\n },\n noUserSession: {\n message: AuthErrorStrings.NO_USER_SESSION,\n },\n deviceConfig: {\n message: AuthErrorStrings.DEVICE_CONFIG,\n },\n networkError: {\n message: AuthErrorStrings.NETWORK_ERROR,\n },\n autoSignInError: {\n message: AuthErrorStrings.AUTOSIGNIN_ERROR,\n },\n default: {\n message: AuthErrorStrings.DEFAULT_MSG,\n },\n};\n//# sourceMappingURL=Errors.js.map","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n *\t http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { isUsernamePasswordOpts, isCognitoHostedOpts, isFederatedSignInOptions, isFederatedSignInOptionsCustom, hasCustomState, } from './types';\nimport { Amplify, ConsoleLogger as Logger, Credentials, Hub, StorageHelper, Parser, browserOrNode, UniversalStorage, urlSafeDecode, } from '@aws-amplify/core';\nimport { CookieStorage, CognitoUserPool, AuthenticationDetails, CognitoUser, CognitoUserSession, CognitoUserAttribute, CognitoIdToken, CognitoRefreshToken, CognitoAccessToken, } from 'amazon-cognito-identity-js';\nimport { parse } from 'url';\nimport OAuth from './OAuth/OAuth';\nimport { default as urlListener } from './urlListener';\nimport { AuthError, NoUserPoolError } from './Errors';\nimport { AuthErrorTypes, CognitoHostedUIIdentityProvider, } from './types/Auth';\nvar logger = new Logger('AuthClass');\nvar USER_ADMIN_SCOPE = 'aws.cognito.signin.user.admin';\n// 10 sec, following this guide https://www.nngroup.com/articles/response-times-3-important-limits/\nvar OAUTH_FLOW_MS_TIMEOUT = 10 * 1000;\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchAuthEvent = function (event, data, message) {\n Hub.dispatch('auth', { event: event, data: data, message: message }, 'Auth', AMPLIFY_SYMBOL);\n};\n// Cognito Documentation for max device\n// tslint:disable-next-line:max-line-length\n// https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListDevices.html#API_ListDevices_RequestSyntax\nvar MAX_DEVICES = 60;\nvar MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\n/**\n * Provide authentication steps\n */\nvar AuthClass = /** @class */ (function () {\n /**\n * Initialize Auth with AWS configurations\n * @param {Object} config - Configuration of the Auth\n */\n function AuthClass(config) {\n var _this = this;\n this.userPool = null;\n this.user = null;\n this.oAuthFlowInProgress = false;\n this.autoSignInInitiated = false;\n this.Credentials = Credentials;\n this.wrapRefreshSessionCallback = function (callback) {\n var wrapped = function (error, data) {\n if (data) {\n dispatchAuthEvent('tokenRefresh', undefined, \"New token retrieved\");\n }\n else {\n dispatchAuthEvent('tokenRefresh_failure', error, \"Failed to retrieve new token\");\n }\n return callback(error, data);\n };\n return wrapped;\n }; // prettier-ignore\n this.configure(config);\n this.currentCredentials = this.currentCredentials.bind(this);\n this.currentUserCredentials = this.currentUserCredentials.bind(this);\n Hub.listen('auth', function (_a) {\n var payload = _a.payload;\n var event = payload.event;\n switch (event) {\n case 'signIn':\n _this._storage.setItem('amplify-signin-with-hostedUI', 'false');\n break;\n case 'signOut':\n _this._storage.removeItem('amplify-signin-with-hostedUI');\n break;\n case 'cognitoHostedUI':\n _this._storage.setItem('amplify-signin-with-hostedUI', 'true');\n break;\n }\n });\n }\n AuthClass.prototype.getModuleName = function () {\n return 'Auth';\n };\n AuthClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config || {};\n logger.debug('configure Auth');\n var conf = Object.assign({}, this._config, Parser.parseMobilehubConfig(config).Auth, config);\n this._config = conf;\n var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage, oauth = _a.oauth, region = _a.region, identityPoolId = _a.identityPoolId, mandatorySignIn = _a.mandatorySignIn, refreshHandlers = _a.refreshHandlers, identityPoolRegion = _a.identityPoolRegion, clientMetadata = _a.clientMetadata, endpoint = _a.endpoint;\n if (!this._config.storage) {\n // backward compatability\n if (cookieStorage)\n this._storage = new CookieStorage(cookieStorage);\n else {\n this._storage = config.ssr\n ? new UniversalStorage()\n : new StorageHelper().getStorage();\n }\n }\n else {\n if (!this._isValidAuthStorage(this._config.storage)) {\n logger.error('The storage in the Auth config is not valid!');\n throw new Error('Empty storage object');\n }\n this._storage = this._config.storage;\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n if (userPoolId) {\n var userPoolData = {\n UserPoolId: userPoolId,\n ClientId: userPoolWebClientId,\n endpoint: endpoint,\n };\n userPoolData.Storage = this._storage;\n this.userPool = new CognitoUserPool(userPoolData, this.wrapRefreshSessionCallback);\n }\n this.Credentials.configure({\n mandatorySignIn: mandatorySignIn,\n region: identityPoolRegion || region,\n userPoolId: userPoolId,\n identityPoolId: identityPoolId,\n refreshHandlers: refreshHandlers,\n storage: this._storage,\n });\n // initialize cognitoauth client if hosted ui options provided\n // to keep backward compatibility:\n var cognitoHostedUIConfig = oauth\n ? isCognitoHostedOpts(this._config.oauth)\n ? oauth\n : oauth.awsCognito\n : undefined;\n if (cognitoHostedUIConfig) {\n var cognitoAuthParams = Object.assign({\n cognitoClientId: userPoolWebClientId,\n UserPoolId: userPoolId,\n domain: cognitoHostedUIConfig['domain'],\n scopes: cognitoHostedUIConfig['scope'],\n redirectSignIn: cognitoHostedUIConfig['redirectSignIn'],\n redirectSignOut: cognitoHostedUIConfig['redirectSignOut'],\n responseType: cognitoHostedUIConfig['responseType'],\n Storage: this._storage,\n urlOpener: cognitoHostedUIConfig['urlOpener'],\n clientMetadata: clientMetadata,\n }, cognitoHostedUIConfig['options']);\n this._oAuthHandler = new OAuth({\n scopes: cognitoAuthParams.scopes,\n config: cognitoAuthParams,\n cognitoClientId: cognitoAuthParams.cognitoClientId,\n });\n // **NOTE** - Remove this in a future major release as it is a breaking change\n // Prevents _handleAuthResponse from being called multiple times in Expo\n // See https://github.com/aws-amplify/amplify-js/issues/4388\n var usedResponseUrls_1 = {};\n urlListener(function (_a) {\n var url = _a.url;\n if (usedResponseUrls_1[url]) {\n return;\n }\n usedResponseUrls_1[url] = true;\n _this._handleAuthResponse(url);\n });\n }\n dispatchAuthEvent('configured', null, \"The Auth category has been configured successfully\");\n if (!this.autoSignInInitiated &&\n typeof this._storage['getItem'] === 'function') {\n var pollingInitiated = this.isTrueStorageValue('amplify-polling-started');\n if (pollingInitiated) {\n dispatchAuthEvent('autoSignIn_failure', null, AuthErrorTypes.AutoSignInError);\n this._storage.removeItem('amplify-auto-sign-in');\n }\n this._storage.removeItem('amplify-polling-started');\n }\n return this._config;\n };\n /**\n * Sign up with username, password and other attributes like phone, email\n * @param {String | object} params - The user attributes used for signin\n * @param {String[]} restOfAttrs - for the backward compatability\n * @return - A promise resolves callback data if success\n */\n AuthClass.prototype.signUp = function (params) {\n var _this = this;\n var restOfAttrs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n restOfAttrs[_i - 1] = arguments[_i];\n }\n var _a, _b, _c;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n var username = null;\n var password = null;\n var attributes = [];\n var validationData = null;\n var clientMetadata;\n var autoSignIn = { enabled: false };\n var autoSignInValidationData = {};\n var autoSignInClientMetaData = {};\n if (params && typeof params === 'string') {\n username = params;\n password = restOfAttrs ? restOfAttrs[0] : null;\n var email = restOfAttrs ? restOfAttrs[1] : null;\n var phone_number = restOfAttrs ? restOfAttrs[2] : null;\n if (email)\n attributes.push(new CognitoUserAttribute({ Name: 'email', Value: email }));\n if (phone_number)\n attributes.push(new CognitoUserAttribute({\n Name: 'phone_number',\n Value: phone_number,\n }));\n }\n else if (params && typeof params === 'object') {\n username = params['username'];\n password = params['password'];\n if (params && params.clientMetadata) {\n clientMetadata = params.clientMetadata;\n }\n else if (this._config.clientMetadata) {\n clientMetadata = this._config.clientMetadata;\n }\n var attrs_1 = params['attributes'];\n if (attrs_1) {\n Object.keys(attrs_1).map(function (key) {\n attributes.push(new CognitoUserAttribute({ Name: key, Value: attrs_1[key] }));\n });\n }\n var validationDataObject_1 = params['validationData'];\n if (validationDataObject_1) {\n validationData = [];\n Object.keys(validationDataObject_1).map(function (key) {\n validationData.push(new CognitoUserAttribute({\n Name: key,\n Value: validationDataObject_1[key],\n }));\n });\n }\n autoSignIn = (_a = params.autoSignIn) !== null && _a !== void 0 ? _a : { enabled: false };\n if (autoSignIn.enabled) {\n this._storage.setItem('amplify-auto-sign-in', 'true');\n autoSignInValidationData = (_b = autoSignIn.validationData) !== null && _b !== void 0 ? _b : {};\n autoSignInClientMetaData = (_c = autoSignIn.clientMetaData) !== null && _c !== void 0 ? _c : {};\n }\n }\n else {\n return this.rejectAuthError(AuthErrorTypes.SignUpError);\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n logger.debug('signUp attrs:', attributes);\n logger.debug('signUp validation data:', validationData);\n return new Promise(function (resolve, reject) {\n _this.userPool.signUp(username, password, attributes, validationData, function (err, data) {\n if (err) {\n dispatchAuthEvent('signUp_failure', err, username + \" failed to signup\");\n reject(err);\n }\n else {\n dispatchAuthEvent('signUp', data, username + \" has signed up successfully\");\n if (autoSignIn.enabled) {\n _this.handleAutoSignIn(username, password, autoSignInValidationData, autoSignInClientMetaData, data);\n }\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n AuthClass.prototype.handleAutoSignIn = function (username, password, validationData, clientMetadata, data) {\n this.autoSignInInitiated = true;\n var authDetails = new AuthenticationDetails({\n Username: username,\n Password: password,\n ValidationData: validationData,\n ClientMetadata: clientMetadata,\n });\n if (data.userConfirmed) {\n this.signInAfterUserConfirmed(authDetails);\n }\n else if (this._config.signUpVerificationMethod === 'link') {\n this.handleLinkAutoSignIn(authDetails);\n }\n else {\n this.handleCodeAutoSignIn(authDetails);\n }\n };\n AuthClass.prototype.handleCodeAutoSignIn = function (authDetails) {\n var _this = this;\n var listenEvent = function (_a) {\n var payload = _a.payload;\n if (payload.event === 'confirmSignUp') {\n _this.signInAfterUserConfirmed(authDetails, listenEvent);\n }\n };\n Hub.listen('auth', listenEvent);\n };\n AuthClass.prototype.handleLinkAutoSignIn = function (authDetails) {\n var _this = this;\n this._storage.setItem('amplify-polling-started', 'true');\n var start = Date.now();\n var autoSignInPollingIntervalId = setInterval(function () {\n if (Date.now() - start > MAX_AUTOSIGNIN_POLLING_MS) {\n clearInterval(autoSignInPollingIntervalId);\n dispatchAuthEvent('autoSignIn_failure', null, 'Please confirm your account and use your credentials to sign in.');\n _this._storage.removeItem('amplify-auto-sign-in');\n }\n else {\n _this.signInAfterUserConfirmed(authDetails, null, autoSignInPollingIntervalId);\n }\n }, 5000);\n };\n AuthClass.prototype.signInAfterUserConfirmed = function (authDetails, listenEvent, autoSignInPollingIntervalId) {\n return __awaiter(this, void 0, void 0, function () {\n var user, error_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n user = this.createCognitoUser(authDetails.getUsername());\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, user.authenticateUser(authDetails, this.authCallbacks(user, function (value) {\n dispatchAuthEvent('autoSignIn', value, authDetails.getUsername() + \" has signed in successfully\");\n if (listenEvent) {\n Hub.remove('auth', listenEvent);\n }\n if (autoSignInPollingIntervalId) {\n clearInterval(autoSignInPollingIntervalId);\n _this._storage.removeItem('amplify-polling-started');\n }\n _this._storage.removeItem('amplify-auto-sign-in');\n }, function (error) {\n logger.error(error);\n _this._storage.removeItem('amplify-auto-sign-in');\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n logger.error(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Send the verification code to confirm sign up\n * @param {String} username - The username to be confirmed\n * @param {String} code - The verification code\n * @param {ConfirmSignUpOptions} options - other options for confirm signup\n * @return - A promise resolves callback data if success\n */\n AuthClass.prototype.confirmSignUp = function (username, code, options) {\n var _this = this;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n var user = this.createCognitoUser(username);\n var forceAliasCreation = options && typeof options.forceAliasCreation === 'boolean'\n ? options.forceAliasCreation\n : true;\n var clientMetadata;\n if (options && options.clientMetadata) {\n clientMetadata = options.clientMetadata;\n }\n else if (this._config.clientMetadata) {\n clientMetadata = this._config.clientMetadata;\n }\n return new Promise(function (resolve, reject) {\n user.confirmRegistration(code, forceAliasCreation, function (err, data) {\n if (err) {\n reject(err);\n }\n else {\n dispatchAuthEvent('confirmSignUp', data, username + \" has been confirmed successfully\");\n var autoSignIn = _this.isTrueStorageValue('amplify-auto-sign-in');\n if (autoSignIn && !_this.autoSignInInitiated) {\n dispatchAuthEvent('autoSignIn_failure', null, AuthErrorTypes.AutoSignInError);\n _this._storage.removeItem('amplify-auto-sign-in');\n }\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n AuthClass.prototype.isTrueStorageValue = function (value) {\n var item = this._storage.getItem(value);\n return item ? item === 'true' : false;\n };\n /**\n * Resend the verification code\n * @param {String} username - The username to be confirmed\n * @param {ClientMetadata} clientMetadata - Metadata to be passed to Cognito Lambda triggers\n * @return - A promise resolves code delivery details if successful\n */\n AuthClass.prototype.resendSignUp = function (username, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.resendConfirmationCode(function (err, data) {\n if (err) {\n reject(err);\n }\n else {\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n /**\n * Sign in\n * @param {String | SignInOpts} usernameOrSignInOpts - The username to be signed in or the sign in options\n * @param {String} password - The password of the username\n * @return - A promise resolves the CognitoUser\n */\n AuthClass.prototype.signIn = function (usernameOrSignInOpts, pw, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n var username = null;\n var password = null;\n var validationData = {};\n // for backward compatibility\n if (typeof usernameOrSignInOpts === 'string') {\n username = usernameOrSignInOpts;\n password = pw;\n }\n else if (isUsernamePasswordOpts(usernameOrSignInOpts)) {\n if (typeof pw !== 'undefined') {\n logger.warn('The password should be defined under the first parameter object!');\n }\n username = usernameOrSignInOpts.username;\n password = usernameOrSignInOpts.password;\n validationData = usernameOrSignInOpts.validationData;\n }\n else {\n return this.rejectAuthError(AuthErrorTypes.InvalidUsername);\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var authDetails = new AuthenticationDetails({\n Username: username,\n Password: password,\n ValidationData: validationData,\n ClientMetadata: clientMetadata,\n });\n if (password) {\n return this.signInWithPassword(authDetails);\n }\n else {\n return this.signInWithoutPassword(authDetails);\n }\n };\n /**\n * Return an object with the authentication callbacks\n * @param {CognitoUser} user - the cognito user object\n * @param {} resolve - function called when resolving the current step\n * @param {} reject - function called when rejecting the current step\n * @return - an object with the callback methods for user authentication\n */\n AuthClass.prototype.authCallbacks = function (user, resolve, reject) {\n var _this = this;\n var that = this;\n return {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_1, currentUser, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n delete user['challengeName'];\n delete user['challengeParam'];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 9]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 9];\n case 4:\n e_1 = _a.sent();\n logger.debug('cannot get cognito credentials', e_1);\n return [3 /*break*/, 9];\n case 5:\n _a.trys.push([5, 7, , 8]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 6:\n currentUser = _a.sent();\n that.user = currentUser;\n dispatchAuthEvent('signIn', currentUser, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(currentUser);\n return [3 /*break*/, 8];\n case 7:\n e_2 = _a.sent();\n logger.error('Failed to get the signed in user', e_2);\n reject(e_2);\n return [3 /*break*/, 8];\n case 8: return [7 /*endfinally*/];\n case 9: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('signIn failure', err);\n dispatchAuthEvent('signIn_failure', err, user.getUsername() + \" failed to signin\");\n reject(err);\n },\n customChallenge: function (challengeParam) {\n logger.debug('signIn custom challenge answer required');\n user['challengeName'] = 'CUSTOM_CHALLENGE';\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaRequired: function (challengeName, challengeParam) {\n logger.debug('signIn MFA required');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaSetup: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n newPasswordRequired: function (userAttributes, requiredAttributes) {\n logger.debug('signIn new password');\n user['challengeName'] = 'NEW_PASSWORD_REQUIRED';\n user['challengeParam'] = {\n userAttributes: userAttributes,\n requiredAttributes: requiredAttributes,\n };\n resolve(user);\n },\n totpRequired: function (challengeName, challengeParam) {\n logger.debug('signIn totpRequired');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n selectMFAType: function (challengeName, challengeParam) {\n logger.debug('signIn selectMFAType', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n };\n };\n /**\n * Sign in with a password\n * @private\n * @param {AuthenticationDetails} authDetails - the user sign in data\n * @return - A promise resolves the CognitoUser object if success or mfa required\n */\n AuthClass.prototype.signInWithPassword = function (authDetails) {\n var _this = this;\n if (this.pendingSignIn) {\n throw new Error('Pending sign-in attempt already in progress');\n }\n var user = this.createCognitoUser(authDetails.getUsername());\n this.pendingSignIn = new Promise(function (resolve, reject) {\n user.authenticateUser(authDetails, _this.authCallbacks(user, function (value) {\n _this.pendingSignIn = null;\n resolve(value);\n }, function (error) {\n _this.pendingSignIn = null;\n reject(error);\n }));\n });\n return this.pendingSignIn;\n };\n /**\n * Sign in without a password\n * @private\n * @param {AuthenticationDetails} authDetails - the user sign in data\n * @return - A promise resolves the CognitoUser object if success or mfa required\n */\n AuthClass.prototype.signInWithoutPassword = function (authDetails) {\n var _this = this;\n var user = this.createCognitoUser(authDetails.getUsername());\n user.setAuthenticationFlowType('CUSTOM_AUTH');\n return new Promise(function (resolve, reject) {\n user.initiateAuth(authDetails, _this.authCallbacks(user, resolve, reject));\n });\n };\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves the current preferred mfa option if success\n */\n AuthClass.prototype.getMFAOptions = function (user) {\n return new Promise(function (res, rej) {\n user.getMFAOptions(function (err, mfaOptions) {\n if (err) {\n logger.debug('get MFA Options failed', err);\n rej(err);\n return;\n }\n logger.debug('get MFA options success', mfaOptions);\n res(mfaOptions);\n return;\n });\n });\n };\n /**\n * get preferred mfa method\n * @param {CognitoUser} user - the current cognito user\n * @param {GetPreferredMFAOpts} params - options for getting the current user preferred MFA\n */\n AuthClass.prototype.getPreferredMFA = function (user, params) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n var bypassCache = params ? params.bypassCache : false;\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_1, mfaType;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting preferred mfa failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_1 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_1.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n mfaType = that._getMfaTypeFromUserData(data);\n if (!mfaType) {\n rej('invalid MFA Type');\n return [2 /*return*/];\n }\n else {\n res(mfaType);\n return [2 /*return*/];\n }\n return [2 /*return*/];\n }\n });\n }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });\n });\n };\n AuthClass.prototype._getMfaTypeFromUserData = function (data) {\n var ret = null;\n var preferredMFA = data.PreferredMfaSetting;\n // if the user has used Auth.setPreferredMFA() to setup the mfa type\n // then the \"PreferredMfaSetting\" would exist in the response\n if (preferredMFA) {\n ret = preferredMFA;\n }\n else {\n // if mfaList exists but empty, then its noMFA\n var mfaList = data.UserMFASettingList;\n if (!mfaList) {\n // if SMS was enabled by using Auth.enableSMS(),\n // the response would contain MFAOptions\n // as for now Cognito only supports for SMS, so we will say it is 'SMS_MFA'\n // if it does not exist, then it should be NOMFA\n var MFAOptions = data.MFAOptions;\n if (MFAOptions) {\n ret = 'SMS_MFA';\n }\n else {\n ret = 'NOMFA';\n }\n }\n else if (mfaList.length === 0) {\n ret = 'NOMFA';\n }\n else {\n logger.debug('invalid case for getPreferredMFA', data);\n }\n }\n return ret;\n };\n AuthClass.prototype._getUserData = function (user, params) {\n var _this = this;\n return new Promise(function (res, rej) {\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_2 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_2.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n res(data);\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); }, params);\n });\n };\n /**\n * set preferred MFA method\n * @param {CognitoUser} user - the current Cognito user\n * @param {string} mfaMethod - preferred mfa method\n * @return - A promise resolve if success\n */\n AuthClass.prototype.setPreferredMFA = function (user, mfaMethod) {\n return __awaiter(this, void 0, void 0, function () {\n var clientMetadata, userData, smsMfaSettings, totpMfaSettings, _a, mfaList, currentMFAType, that;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n clientMetadata = this._config.clientMetadata;\n return [4 /*yield*/, this._getUserData(user, {\n bypassCache: true,\n clientMetadata: clientMetadata,\n })];\n case 1:\n userData = _b.sent();\n smsMfaSettings = null;\n totpMfaSettings = null;\n _a = mfaMethod;\n switch (_a) {\n case 'TOTP': return [3 /*break*/, 2];\n case 'SOFTWARE_TOKEN_MFA': return [3 /*break*/, 2];\n case 'SMS': return [3 /*break*/, 3];\n case 'SMS_MFA': return [3 /*break*/, 3];\n case 'NOMFA': return [3 /*break*/, 4];\n }\n return [3 /*break*/, 6];\n case 2:\n totpMfaSettings = {\n PreferredMfa: true,\n Enabled: true,\n };\n return [3 /*break*/, 7];\n case 3:\n smsMfaSettings = {\n PreferredMfa: true,\n Enabled: true,\n };\n return [3 /*break*/, 7];\n case 4:\n mfaList = userData['UserMFASettingList'];\n return [4 /*yield*/, this._getMfaTypeFromUserData(userData)];\n case 5:\n currentMFAType = _b.sent();\n if (currentMFAType === 'NOMFA') {\n return [2 /*return*/, Promise.resolve('No change for mfa type')];\n }\n else if (currentMFAType === 'SMS_MFA') {\n smsMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else if (currentMFAType === 'SOFTWARE_TOKEN_MFA') {\n totpMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else {\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.InvalidMFA)];\n }\n // if there is a UserMFASettingList in the response\n // we need to disable every mfa type in that list\n if (mfaList && mfaList.length !== 0) {\n // to disable SMS or TOTP if exists in that list\n mfaList.forEach(function (mfaType) {\n if (mfaType === 'SMS_MFA') {\n smsMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else if (mfaType === 'SOFTWARE_TOKEN_MFA') {\n totpMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n });\n }\n return [3 /*break*/, 7];\n case 6:\n logger.debug('no validmfa method provided');\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.NoMFA)];\n case 7:\n that = this;\n return [2 /*return*/, new Promise(function (res, rej) {\n user.setUserMfaPreference(smsMfaSettings, totpMfaSettings, function (err, result) {\n if (err) {\n logger.debug('Set user mfa preference error', err);\n return rej(err);\n }\n logger.debug('Set user mfa success', result);\n logger.debug('Caching the latest user data into local');\n // cache the latest result into user data\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_3 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_3.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5: return [2 /*return*/, res(result)];\n }\n });\n }); }, {\n bypassCache: true,\n clientMetadata: clientMetadata,\n });\n });\n })];\n }\n });\n });\n };\n /**\n * disable SMS\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves is success\n */\n AuthClass.prototype.disableSMS = function (user) {\n return new Promise(function (res, rej) {\n user.disableMFA(function (err, data) {\n if (err) {\n logger.debug('disable mfa failed', err);\n rej(err);\n return;\n }\n logger.debug('disable mfa succeed', data);\n res(data);\n return;\n });\n });\n };\n /**\n * enable SMS\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves is success\n */\n AuthClass.prototype.enableSMS = function (user) {\n return new Promise(function (res, rej) {\n user.enableMFA(function (err, data) {\n if (err) {\n logger.debug('enable mfa failed', err);\n rej(err);\n return;\n }\n logger.debug('enable mfa succeed', data);\n res(data);\n return;\n });\n });\n };\n /**\n * Setup TOTP\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves with the secret code if success\n */\n AuthClass.prototype.setupTOTP = function (user) {\n return new Promise(function (res, rej) {\n user.associateSoftwareToken({\n onFailure: function (err) {\n logger.debug('associateSoftwareToken failed', err);\n rej(err);\n return;\n },\n associateSecretCode: function (secretCode) {\n logger.debug('associateSoftwareToken sucess', secretCode);\n res(secretCode);\n return;\n },\n });\n });\n };\n /**\n * verify TOTP setup\n * @param {CognitoUser} user - the current user\n * @param {string} challengeAnswer - challenge answer\n * @return - A promise resolves is success\n */\n AuthClass.prototype.verifyTotpToken = function (user, challengeAnswer) {\n logger.debug('verification totp token', user, challengeAnswer);\n return new Promise(function (res, rej) {\n user.verifySoftwareToken(challengeAnswer, 'My TOTP device', {\n onFailure: function (err) {\n logger.debug('verifyTotpToken failed', err);\n rej(err);\n return;\n },\n onSuccess: function (data) {\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n logger.debug('verifyTotpToken success', data);\n res(data);\n return;\n },\n });\n });\n };\n /**\n * Send MFA code to confirm sign in\n * @param {Object} user - The CognitoUser object\n * @param {String} code - The confirmation code\n */\n AuthClass.prototype.confirmSignIn = function (user, code, mfaType, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.sendMFACode(code, {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 6]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 6];\n case 4:\n e_3 = _a.sent();\n logger.debug('cannot get cognito credentials', e_3);\n return [3 /*break*/, 6];\n case 5:\n that.user = user;\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(user);\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('confirm signIn failure', err);\n reject(err);\n },\n }, mfaType, clientMetadata);\n });\n };\n AuthClass.prototype.completeNewPassword = function (user, password, requiredAttributes, clientMetadata) {\n var _this = this;\n if (requiredAttributes === void 0) { requiredAttributes = {}; }\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.completeNewPasswordChallenge(password, requiredAttributes, {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 6]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 6];\n case 4:\n e_4 = _a.sent();\n logger.debug('cannot get cognito credentials', e_4);\n return [3 /*break*/, 6];\n case 5:\n that.user = user;\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(user);\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('completeNewPassword failure', err);\n dispatchAuthEvent('completeNewPassword_failure', err, _this.user + \" failed to complete the new password flow\");\n reject(err);\n },\n mfaRequired: function (challengeName, challengeParam) {\n logger.debug('signIn MFA required');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaSetup: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n totpRequired: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n }, clientMetadata);\n });\n };\n /**\n * Send the answer to a custom challenge\n * @param {CognitoUser} user - The CognitoUser object\n * @param {String} challengeResponses - The confirmation code\n */\n AuthClass.prototype.sendCustomChallengeAnswer = function (user, challengeResponses, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!challengeResponses) {\n return this.rejectAuthError(AuthErrorTypes.EmptyChallengeResponse);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.sendCustomChallengeAnswer(challengeResponses, _this.authCallbacks(user, resolve, reject), clientMetadata);\n });\n };\n /**\n * Delete an authenticated users' attributes\n * @param {CognitoUser} - The currently logged in user object\n * @return {Promise}\n **/\n AuthClass.prototype.deleteUserAttributes = function (user, attributeNames) {\n var that = this;\n return new Promise(function (resolve, reject) {\n that.userSession(user).then(function (session) {\n user.deleteAttributes(attributeNames, function (err, result) {\n if (err) {\n return reject(err);\n }\n else {\n return resolve(result);\n }\n });\n });\n });\n };\n /**\n * Delete the current authenticated user\n * @return {Promise}\n **/\n // TODO: Check return type void\n AuthClass.prototype.deleteUser = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_5, isSignedInHostedUI;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this._storageSync];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_5 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_5);\n throw new Error(e_5);\n case 3:\n isSignedInHostedUI = this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n return [2 /*return*/, new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {\n var user_1;\n var _this = this;\n return __generator(this, function (_a) {\n if (this.userPool) {\n user_1 = this.userPool.getCurrentUser();\n if (!user_1) {\n logger.debug('Failed to get user from user pool');\n return [2 /*return*/, rej(new Error('No current user.'))];\n }\n else {\n user_1.getSession(function (err, session) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_4;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('Failed to get the user session', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user_1)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_4 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_4.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5:\n user_1.deleteUser(function (err, result) {\n if (err) {\n rej(err);\n }\n else {\n dispatchAuthEvent('userDeleted', result, 'The authenticated user has been deleted.');\n user_1.signOut();\n _this.user = null;\n try {\n _this.cleanCachedItems(); // clean aws credentials\n }\n catch (e) {\n // TODO: change to rejects in refactor\n logger.debug('failed to clear cached items');\n }\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n dispatchAuthEvent('signOut', _this.user, \"A user has been signed out\");\n res(result);\n }\n }\n });\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); });\n }\n }\n else {\n logger.debug('no Congito User pool');\n rej(new Error('Cognito User pool does not exist'));\n }\n return [2 /*return*/];\n });\n }); })];\n }\n });\n });\n };\n /**\n * Update an authenticated users' attributes\n * @param {CognitoUser} - The currently logged in user object\n * @return {Promise}\n **/\n AuthClass.prototype.updateUserAttributes = function (user, attributes, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n var attributeList = [];\n var that = this;\n return new Promise(function (resolve, reject) {\n that.userSession(user).then(function (session) {\n for (var key in attributes) {\n if (key !== 'sub' && key.indexOf('_verified') < 0) {\n var attr = {\n Name: key,\n Value: attributes[key],\n };\n attributeList.push(attr);\n }\n }\n user.updateAttributes(attributeList, function (err, result) {\n if (err) {\n return reject(err);\n }\n else {\n return resolve(result);\n }\n }, clientMetadata);\n });\n });\n };\n /**\n * Return user attributes\n * @param {Object} user - The CognitoUser object\n * @return - A promise resolves to user attributes if success\n */\n AuthClass.prototype.userAttributes = function (user) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.userSession(user).then(function (session) {\n user.getUserAttributes(function (err, attributes) {\n if (err) {\n reject(err);\n }\n else {\n resolve(attributes);\n }\n });\n });\n });\n };\n AuthClass.prototype.verifiedContact = function (user) {\n var that = this;\n return this.userAttributes(user).then(function (attributes) {\n var attrs = that.attributesToObject(attributes);\n var unverified = {};\n var verified = {};\n if (attrs['email']) {\n if (attrs['email_verified']) {\n verified['email'] = attrs['email'];\n }\n else {\n unverified['email'] = attrs['email'];\n }\n }\n if (attrs['phone_number']) {\n if (attrs['phone_number_verified']) {\n verified['phone_number'] = attrs['phone_number'];\n }\n else {\n unverified['phone_number'] = attrs['phone_number'];\n }\n }\n return {\n verified: verified,\n unverified: unverified,\n };\n });\n };\n AuthClass.prototype.isErrorWithMessage = function (err) {\n return (typeof err === 'object' &&\n Object.prototype.hasOwnProperty.call(err, 'message'));\n };\n // Session revoked by another app\n AuthClass.prototype.isTokenRevokedError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Access Token has been revoked');\n };\n AuthClass.prototype.isRefreshTokenRevokedError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Refresh Token has been revoked');\n };\n AuthClass.prototype.isUserDisabledError = function (err) {\n return this.isErrorWithMessage(err) && err.message === 'User is disabled.';\n };\n AuthClass.prototype.isUserDoesNotExistError = function (err) {\n return (this.isErrorWithMessage(err) && err.message === 'User does not exist.');\n };\n AuthClass.prototype.isRefreshTokenExpiredError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Refresh Token has expired');\n };\n AuthClass.prototype.isSignedInHostedUI = function () {\n return (this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true');\n };\n AuthClass.prototype.isSessionInvalid = function (err) {\n return (this.isUserDisabledError(err) ||\n this.isUserDoesNotExistError(err) ||\n this.isTokenRevokedError(err) ||\n this.isRefreshTokenRevokedError(err) ||\n this.isRefreshTokenExpiredError(err));\n };\n AuthClass.prototype.cleanUpInvalidSession = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var e_6;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n user.signOut();\n this.user = null;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanCachedItems()];\n case 2:\n _a.sent(); // clean aws credentials\n return [3 /*break*/, 4];\n case 3:\n e_6 = _a.sent();\n logger.debug('failed to clear cached items');\n return [3 /*break*/, 4];\n case 4:\n if (this.isSignedInHostedUI()) {\n return [2 /*return*/, new Promise(function (res, rej) {\n _this.oAuthSignOutRedirect(res, rej);\n })];\n }\n else {\n dispatchAuthEvent('signOut', this.user, \"A user has been signed out\");\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Get current authenticated user\n * @return - A promise resolves to current authenticated CognitoUser if success\n */\n AuthClass.prototype.currentUserPoolUser = function (params) {\n var _this = this;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n return new Promise(function (res, rej) {\n _this._storageSync\n .then(function () { return __awaiter(_this, void 0, void 0, function () {\n var user, clientMetadata;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.isOAuthInProgress()) return [3 /*break*/, 2];\n logger.debug('OAuth signIn in progress, waiting for resolution...');\n return [4 /*yield*/, new Promise(function (res) {\n var timeoutId = setTimeout(function () {\n logger.debug('OAuth signIn in progress timeout');\n Hub.remove('auth', hostedUISignCallback);\n res();\n }, OAUTH_FLOW_MS_TIMEOUT);\n Hub.listen('auth', hostedUISignCallback);\n function hostedUISignCallback(_a) {\n var payload = _a.payload;\n var event = payload.event;\n if (event === 'cognitoHostedUI' ||\n event === 'cognitoHostedUI_failure') {\n logger.debug(\"OAuth signIn resolved: \" + event);\n clearTimeout(timeoutId);\n Hub.remove('auth', hostedUISignCallback);\n res();\n }\n }\n })];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n user = this.userPool.getCurrentUser();\n if (!user) {\n logger.debug('Failed to get user from user pool');\n rej('No current user');\n return [2 /*return*/];\n }\n clientMetadata = this._config.clientMetadata;\n // refresh the session if the session expired.\n user.getSession(function (err, session) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_5, bypassCache, clientMetadata, _a, scope;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('Failed to get the user session', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _b.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_5 = _b.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_5.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n bypassCache = params ? params.bypassCache : false;\n if (!bypassCache) return [3 /*break*/, 7];\n return [4 /*yield*/, this.Credentials.clear()];\n case 6:\n _b.sent();\n _b.label = 7;\n case 7:\n clientMetadata = this._config.clientMetadata;\n _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;\n if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_6, preferredMFA, attributeList, i, attribute, userAttribute, attributes;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 7];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_6 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_6.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [3 /*break*/, 6];\n case 5:\n res(user);\n _a.label = 6;\n case 6: return [2 /*return*/];\n case 7:\n preferredMFA = data.PreferredMfaSetting || 'NOMFA';\n attributeList = [];\n for (i = 0; i < data.UserAttributes.length; i++) {\n attribute = {\n Name: data.UserAttributes[i].Name,\n Value: data.UserAttributes[i].Value,\n };\n userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n attributes = this.attributesToObject(attributeList);\n Object.assign(user, { attributes: attributes, preferredMFA: preferredMFA });\n return [2 /*return*/, res(user)];\n }\n });\n }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });\n }\n else {\n logger.debug(\"Unable to get the user data because the \" + USER_ADMIN_SCOPE + \" \" +\n \"is not in the scopes of the access token\");\n return [2 /*return*/, res(user)];\n }\n return [2 /*return*/];\n }\n });\n }); }, { clientMetadata: clientMetadata });\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n logger.debug('Failed to sync cache info into memory', e);\n return rej(e);\n });\n });\n };\n AuthClass.prototype.isOAuthInProgress = function () {\n return this.oAuthFlowInProgress;\n };\n /**\n * Get current authenticated user\n * @param {CurrentUserOpts} - options for getting the current user\n * @return - A promise resolves to current authenticated CognitoUser if success\n */\n AuthClass.prototype.currentAuthenticatedUser = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n var federatedUser, e_7, federatedInfo, user, e_8;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('getting current authenticated user');\n federatedUser = null;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_7 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_7);\n throw e_7;\n case 4:\n try {\n federatedInfo = JSON.parse(this._storage.getItem('aws-amplify-federatedInfo'));\n if (federatedInfo) {\n federatedUser = __assign(__assign({}, federatedInfo.user), { token: federatedInfo.token });\n }\n }\n catch (e) {\n logger.debug('cannot load federated user from auth storage');\n }\n if (!federatedUser) return [3 /*break*/, 5];\n this.user = federatedUser;\n logger.debug('get current authenticated federated user', this.user);\n return [2 /*return*/, this.user];\n case 5:\n logger.debug('get current authenticated userpool user');\n user = null;\n _a.label = 6;\n case 6:\n _a.trys.push([6, 8, , 9]);\n return [4 /*yield*/, this.currentUserPoolUser(params)];\n case 7:\n user = _a.sent();\n return [3 /*break*/, 9];\n case 8:\n e_8 = _a.sent();\n if (e_8 === 'No userPool') {\n logger.error('Cannot get the current user because the user pool is missing. ' +\n 'Please make sure the Auth module is configured with a valid Cognito User Pool ID');\n }\n logger.debug('The user is not authenticated by the error', e_8);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 9:\n this.user = user;\n return [2 /*return*/, this.user];\n }\n });\n });\n };\n /**\n * Get current user's session\n * @return - A promise resolves to session object if success\n */\n AuthClass.prototype.currentSession = function () {\n var that = this;\n logger.debug('Getting current session');\n // Purposely not calling the reject method here because we don't need a console error\n if (!this.userPool) {\n return Promise.reject(new Error('No User Pool in the configuration.'));\n }\n return new Promise(function (res, rej) {\n that\n .currentUserPoolUser()\n .then(function (user) {\n that\n .userSession(user)\n .then(function (session) {\n res(session);\n return;\n })\n .catch(function (e) {\n logger.debug('Failed to get the current session', e);\n rej(e);\n return;\n });\n })\n .catch(function (e) {\n logger.debug('Failed to get the current user', e);\n rej(e);\n return;\n });\n });\n };\n /**\n * Get the corresponding user session\n * @param {Object} user - The CognitoUser object\n * @return - A promise resolves to the session\n */\n AuthClass.prototype.userSession = function (user) {\n var _this = this;\n if (!user) {\n logger.debug('the user is null');\n return this.rejectAuthError(AuthErrorTypes.NoUserSession);\n }\n var clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n return new Promise(function (res, rej) {\n logger.debug('Getting the session from this user:', user);\n user.getSession(function (err, session) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_7;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('Failed to get the session from user', user);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_7 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_7.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n logger.debug('Succeed to get the user session', session);\n res(session);\n return [2 /*return*/];\n }\n });\n }); }, { clientMetadata: clientMetadata });\n });\n };\n /**\n * Get authenticated credentials of current user.\n * @return - A promise resolves to be current user's credentials\n */\n AuthClass.prototype.currentUserCredentials = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_9, federatedInfo;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Getting current user credentials');\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_9 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_9);\n throw e_9;\n case 4:\n federatedInfo = null;\n try {\n federatedInfo = JSON.parse(this._storage.getItem('aws-amplify-federatedInfo'));\n }\n catch (e) {\n logger.debug('failed to get or parse item aws-amplify-federatedInfo', e);\n }\n if (federatedInfo) {\n // refresh the jwt token here if necessary\n return [2 /*return*/, this.Credentials.refreshFederatedToken(federatedInfo)];\n }\n else {\n return [2 /*return*/, this.currentSession()\n .then(function (session) {\n logger.debug('getting session success', session);\n return _this.Credentials.set(session, 'session');\n })\n .catch(function () {\n logger.debug('getting guest credentials');\n return _this.Credentials.set(null, 'guest');\n })];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.currentCredentials = function () {\n logger.debug('getting current credentials');\n return this.Credentials.get();\n };\n /**\n * Initiate an attribute confirmation request\n * @param {Object} user - The CognitoUser\n * @param {Object} attr - The attributes to be verified\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyUserAttribute = function (user, attr, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n return new Promise(function (resolve, reject) {\n user.getAttributeVerificationCode(attr, {\n onSuccess: function (success) {\n return resolve(success);\n },\n onFailure: function (err) {\n return reject(err);\n },\n }, clientMetadata);\n });\n };\n /**\n * Confirm an attribute using a confirmation code\n * @param {Object} user - The CognitoUser\n * @param {Object} attr - The attribute to be verified\n * @param {String} code - The confirmation code\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyUserAttributeSubmit = function (user, attr, code) {\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n return new Promise(function (resolve, reject) {\n user.verifyAttribute(attr, code, {\n onSuccess: function (data) {\n resolve(data);\n return;\n },\n onFailure: function (err) {\n reject(err);\n return;\n },\n });\n });\n };\n AuthClass.prototype.verifyCurrentUserAttribute = function (attr) {\n var that = this;\n return that\n .currentUserPoolUser()\n .then(function (user) { return that.verifyUserAttribute(user, attr); });\n };\n /**\n * Confirm current user's attribute using a confirmation code\n * @param {Object} attr - The attribute to be verified\n * @param {String} code - The confirmation code\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyCurrentUserAttributeSubmit = function (attr, code) {\n var that = this;\n return that\n .currentUserPoolUser()\n .then(function (user) { return that.verifyUserAttributeSubmit(user, attr, code); });\n };\n AuthClass.prototype.cognitoIdentitySignOut = function (opts, user) {\n return __awaiter(this, void 0, void 0, function () {\n var e_10, isSignedInHostedUI;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this._storageSync];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_10 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_10);\n throw e_10;\n case 3:\n isSignedInHostedUI = this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n return [2 /*return*/, new Promise(function (res, rej) {\n if (opts && opts.global) {\n logger.debug('user global sign out', user);\n // in order to use global signout\n // we must validate the user as an authenticated user by using getSession\n var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n user.getSession(function (err, result) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_8;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('failed to get the user session', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_8 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_8.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5:\n user.globalSignOut({\n onSuccess: function (data) {\n logger.debug('global sign out success');\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n return res();\n }\n },\n onFailure: function (err) {\n logger.debug('global sign out failed', err);\n return rej(err);\n },\n });\n return [2 /*return*/];\n }\n });\n }); }, { clientMetadata: clientMetadata });\n }\n else {\n logger.debug('user sign out', user);\n user.signOut(function () {\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n return res();\n }\n });\n }\n })];\n }\n });\n });\n };\n AuthClass.prototype.oAuthSignOutRedirect = function (resolve, reject) {\n var isBrowser = browserOrNode().isBrowser;\n if (isBrowser) {\n this.oAuthSignOutRedirectOrReject(reject);\n }\n else {\n this.oAuthSignOutAndResolve(resolve);\n }\n };\n AuthClass.prototype.oAuthSignOutAndResolve = function (resolve) {\n this._oAuthHandler.signOut();\n resolve();\n };\n AuthClass.prototype.oAuthSignOutRedirectOrReject = function (reject) {\n this._oAuthHandler.signOut(); // this method redirects url\n // App should be redirected to another url otherwise it will reject\n setTimeout(function () { return reject(Error('Signout timeout fail')); }, 3000);\n };\n /**\n * Sign out method\n * @\n * @return - A promise resolved if success\n */\n AuthClass.prototype.signOut = function (opts) {\n return __awaiter(this, void 0, void 0, function () {\n var e_11, user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.cleanCachedItems()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_11 = _a.sent();\n logger.debug('failed to clear cached items');\n return [3 /*break*/, 3];\n case 3:\n if (!this.userPool) return [3 /*break*/, 7];\n user = this.userPool.getCurrentUser();\n if (!user) return [3 /*break*/, 5];\n return [4 /*yield*/, this.cognitoIdentitySignOut(opts, user)];\n case 4:\n _a.sent();\n return [3 /*break*/, 6];\n case 5:\n logger.debug('no current Cognito user');\n _a.label = 6;\n case 6: return [3 /*break*/, 8];\n case 7:\n logger.debug('no Cognito User pool');\n _a.label = 8;\n case 8:\n /**\n * Note for future refactor - no reliable way to get username with\n * Cognito User Pools vs Identity when federating with Social Providers\n * This is why we need a well structured session object that can be inspected\n * and information passed back in the message below for Hub dispatch\n */\n dispatchAuthEvent('signOut', this.user, \"A user has been signed out\");\n this.user = null;\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.cleanCachedItems = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // clear cognito cached item\n return [4 /*yield*/, this.Credentials.clear()];\n case 1:\n // clear cognito cached item\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Change a password for an authenticated user\n * @param {Object} user - The CognitoUser object\n * @param {String} oldPassword - the current password\n * @param {String} newPassword - the requested new password\n * @return - A promise resolves if success\n */\n AuthClass.prototype.changePassword = function (user, oldPassword, newPassword, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n return new Promise(function (resolve, reject) {\n _this.userSession(user).then(function (session) {\n user.changePassword(oldPassword, newPassword, function (err, data) {\n if (err) {\n logger.debug('change password failure', err);\n return reject(err);\n }\n else {\n return resolve(data);\n }\n }, clientMetadata);\n });\n });\n };\n /**\n * Initiate a forgot password request\n * @param {String} username - the username to change password\n * @return - A promise resolves if success\n */\n AuthClass.prototype.forgotPassword = function (username, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.forgotPassword({\n onSuccess: function () {\n resolve();\n return;\n },\n onFailure: function (err) {\n logger.debug('forgot password failure', err);\n dispatchAuthEvent('forgotPassword_failure', err, username + \" forgotPassword failed\");\n reject(err);\n return;\n },\n inputVerificationCode: function (data) {\n dispatchAuthEvent('forgotPassword', user, username + \" has initiated forgot password flow\");\n resolve(data);\n return;\n },\n }, clientMetadata);\n });\n };\n /**\n * Confirm a new password using a confirmation Code\n * @param {String} username - The username\n * @param {String} code - The confirmation code\n * @param {String} password - The new password\n * @return - A promise that resolves if success\n */\n AuthClass.prototype.forgotPasswordSubmit = function (username, code, password, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.confirmPassword(code, password, {\n onSuccess: function (success) {\n dispatchAuthEvent('forgotPasswordSubmit', user, username + \" forgotPasswordSubmit successful\");\n resolve(success);\n return;\n },\n onFailure: function (err) {\n dispatchAuthEvent('forgotPasswordSubmit_failure', err, username + \" forgotPasswordSubmit failed\");\n reject(err);\n return;\n },\n }, clientMetadata);\n });\n };\n /**\n * Get user information\n * @async\n * @return {Object }- current User's information\n */\n AuthClass.prototype.currentUserInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var source, user, attributes, userAttrs, credentials, e_12, info, err_1, user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n source = this.Credentials.getCredSource();\n if (!(!source || source === 'aws' || source === 'userPool')) return [3 /*break*/, 9];\n return [4 /*yield*/, this.currentUserPoolUser().catch(function (err) {\n return logger.error(err);\n })];\n case 1:\n user = _a.sent();\n if (!user) {\n return [2 /*return*/, null];\n }\n _a.label = 2;\n case 2:\n _a.trys.push([2, 8, , 9]);\n return [4 /*yield*/, this.userAttributes(user)];\n case 3:\n attributes = _a.sent();\n userAttrs = this.attributesToObject(attributes);\n credentials = null;\n _a.label = 4;\n case 4:\n _a.trys.push([4, 6, , 7]);\n return [4 /*yield*/, this.currentCredentials()];\n case 5:\n credentials = _a.sent();\n return [3 /*break*/, 7];\n case 6:\n e_12 = _a.sent();\n logger.debug('Failed to retrieve credentials while getting current user info', e_12);\n return [3 /*break*/, 7];\n case 7:\n info = {\n id: credentials ? credentials.identityId : undefined,\n username: user.getUsername(),\n attributes: userAttrs,\n };\n return [2 /*return*/, info];\n case 8:\n err_1 = _a.sent();\n logger.error('currentUserInfo error', err_1);\n return [2 /*return*/, {}];\n case 9:\n if (source === 'federated') {\n user = this.user;\n return [2 /*return*/, user ? user : {}];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.federatedSignIn = function (providerOrOptions, response, user) {\n return __awaiter(this, void 0, void 0, function () {\n var options, provider, customState, client_id, redirect_uri, provider, loggedInUser, token, identity_id, expires_at, credentials, currentUser;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this._config.identityPoolId && !this._config.userPoolId) {\n throw new Error(\"Federation requires either a User Pool or Identity Pool in config\");\n }\n // Ensure backwards compatability\n if (typeof providerOrOptions === 'undefined') {\n if (this._config.identityPoolId && !this._config.userPoolId) {\n throw new Error(\"Federation with Identity Pools requires tokens passed as arguments\");\n }\n }\n if (!(isFederatedSignInOptions(providerOrOptions) ||\n isFederatedSignInOptionsCustom(providerOrOptions) ||\n hasCustomState(providerOrOptions) ||\n typeof providerOrOptions === 'undefined')) return [3 /*break*/, 1];\n options = providerOrOptions || {\n provider: CognitoHostedUIIdentityProvider.Cognito,\n };\n provider = isFederatedSignInOptions(options)\n ? options.provider\n : options.customProvider;\n customState = isFederatedSignInOptions(options)\n ? options.customState\n : options.customState;\n if (this._config.userPoolId) {\n client_id = isCognitoHostedOpts(this._config.oauth)\n ? this._config.userPoolWebClientId\n : this._config.oauth.clientID;\n redirect_uri = isCognitoHostedOpts(this._config.oauth)\n ? this._config.oauth.redirectSignIn\n : this._config.oauth.redirectUri;\n this._oAuthHandler.oauthSignIn(this._config.oauth.responseType, this._config.oauth.domain, redirect_uri, client_id, provider, customState);\n }\n return [3 /*break*/, 4];\n case 1:\n provider = providerOrOptions;\n // To check if the user is already logged in\n try {\n loggedInUser = JSON.stringify(JSON.parse(this._storage.getItem('aws-amplify-federatedInfo')).user);\n if (loggedInUser) {\n logger.warn(\"There is already a signed in user: \" + loggedInUser + \" in your app.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tYou should not call Auth.federatedSignIn method again as it may cause unexpected behavior.\");\n }\n }\n catch (e) { }\n token = response.token, identity_id = response.identity_id, expires_at = response.expires_at;\n return [4 /*yield*/, this.Credentials.set({ provider: provider, token: token, identity_id: identity_id, user: user, expires_at: expires_at }, 'federation')];\n case 2:\n credentials = _a.sent();\n return [4 /*yield*/, this.currentAuthenticatedUser()];\n case 3:\n currentUser = _a.sent();\n dispatchAuthEvent('signIn', currentUser, \"A user \" + currentUser.username + \" has been signed in\");\n logger.debug('federated sign in credentials', credentials);\n return [2 /*return*/, credentials];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Used to complete the OAuth flow with or without the Cognito Hosted UI\n * @param {String} URL - optional parameter for customers to pass in the response URL\n */\n AuthClass.prototype._handleAuthResponse = function (URL) {\n return __awaiter(this, void 0, void 0, function () {\n var currentUrl, hasCodeOrError, hasTokenOrError, _a, accessToken, idToken, refreshToken, state, session, credentials, isCustomStateIncluded, currentUser, customState, err_2;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.oAuthFlowInProgress) {\n logger.debug(\"Skipping URL \" + URL + \" current flow in progress\");\n return [2 /*return*/];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 8, 9]);\n this.oAuthFlowInProgress = true;\n if (!this._config.userPoolId) {\n throw new Error(\"OAuth responses require a User Pool defined in config\");\n }\n dispatchAuthEvent('parsingCallbackUrl', { url: URL }, \"The callback url is being parsed\");\n currentUrl = URL || (browserOrNode().isBrowser ? window.location.href : '');\n hasCodeOrError = !!(parse(currentUrl).query || '')\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .find(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k === 'code' || k === 'error';\n });\n hasTokenOrError = !!(parse(currentUrl).hash || '#')\n .substr(1)\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .find(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k === 'access_token' || k === 'error';\n });\n if (!(hasCodeOrError || hasTokenOrError)) return [3 /*break*/, 7];\n this._storage.setItem('amplify-redirected-from-hosted-ui', 'true');\n _b.label = 2;\n case 2:\n _b.trys.push([2, 6, , 7]);\n return [4 /*yield*/, this._oAuthHandler.handleAuthResponse(currentUrl)];\n case 3:\n _a = _b.sent(), accessToken = _a.accessToken, idToken = _a.idToken, refreshToken = _a.refreshToken, state = _a.state;\n session = new CognitoUserSession({\n IdToken: new CognitoIdToken({ IdToken: idToken }),\n RefreshToken: new CognitoRefreshToken({\n RefreshToken: refreshToken,\n }),\n AccessToken: new CognitoAccessToken({\n AccessToken: accessToken,\n }),\n });\n credentials = void 0;\n if (!this._config.identityPoolId) return [3 /*break*/, 5];\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 4:\n credentials = _b.sent();\n logger.debug('AWS credentials', credentials);\n _b.label = 5;\n case 5:\n isCustomStateIncluded = /-/.test(state);\n currentUser = this.createCognitoUser(session.getIdToken().decodePayload()['cognito:username']);\n // This calls cacheTokens() in Cognito SDK\n currentUser.setSignInUserSession(session);\n if (window && typeof window.history !== 'undefined') {\n window.history.replaceState({}, null, this._config.oauth.redirectSignIn);\n }\n dispatchAuthEvent('signIn', currentUser, \"A user \" + currentUser.getUsername() + \" has been signed in\");\n dispatchAuthEvent('cognitoHostedUI', currentUser, \"A user \" + currentUser.getUsername() + \" has been signed in via Cognito Hosted UI\");\n if (isCustomStateIncluded) {\n customState = state.split('-').splice(1).join('-');\n dispatchAuthEvent('customOAuthState', urlSafeDecode(customState), \"State for user \" + currentUser.getUsername());\n }\n //#endregion\n return [2 /*return*/, credentials];\n case 6:\n err_2 = _b.sent();\n logger.debug('Error in cognito hosted auth response', err_2);\n // Just like a successful handling of `?code`, replace the window history to \"dispose\" of the `code`.\n // Otherwise, reloading the page will throw errors as the `code` has already been spent.\n if (window && typeof window.history !== 'undefined') {\n window.history.replaceState({}, null, this._config.oauth.redirectSignIn);\n }\n dispatchAuthEvent('signIn_failure', err_2, \"The OAuth response flow failed\");\n dispatchAuthEvent('cognitoHostedUI_failure', err_2, \"A failure occurred when returning to the Cognito Hosted UI\");\n dispatchAuthEvent('customState_failure', err_2, \"A failure occurred when returning state\");\n return [3 /*break*/, 7];\n case 7: return [3 /*break*/, 9];\n case 8:\n this.oAuthFlowInProgress = false;\n return [7 /*endfinally*/];\n case 9: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n AuthClass.prototype.essentialCredentials = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n AuthClass.prototype.attributesToObject = function (attributes) {\n var _this = this;\n var obj = {};\n if (attributes) {\n attributes.map(function (attribute) {\n if (attribute.Name === 'email_verified' ||\n attribute.Name === 'phone_number_verified') {\n obj[attribute.Name] =\n _this.isTruthyString(attribute.Value) || attribute.Value === true;\n }\n else {\n obj[attribute.Name] = attribute.Value;\n }\n });\n }\n return obj;\n };\n AuthClass.prototype.isTruthyString = function (value) {\n return (typeof value.toLowerCase === 'function' && value.toLowerCase() === 'true');\n };\n AuthClass.prototype.createCognitoUser = function (username) {\n var userData = {\n Username: username,\n Pool: this.userPool,\n };\n userData.Storage = this._storage;\n var authenticationFlowType = this._config.authenticationFlowType;\n var user = new CognitoUser(userData);\n if (authenticationFlowType) {\n user.setAuthenticationFlowType(authenticationFlowType);\n }\n return user;\n };\n AuthClass.prototype._isValidAuthStorage = function (obj) {\n // We need to check if the obj has the functions of Storage\n return (!!obj &&\n typeof obj.getItem === 'function' &&\n typeof obj.setItem === 'function' &&\n typeof obj.removeItem === 'function' &&\n typeof obj.clear === 'function');\n };\n AuthClass.prototype.noUserPoolErrorHandler = function (config) {\n if (config) {\n if (!config.userPoolId || !config.identityPoolId) {\n return AuthErrorTypes.MissingAuthConfig;\n }\n }\n return AuthErrorTypes.NoConfig;\n };\n AuthClass.prototype.rejectAuthError = function (type) {\n return Promise.reject(new AuthError(type));\n };\n AuthClass.prototype.rejectNoUserPool = function () {\n var type = this.noUserPoolErrorHandler(this._config);\n return Promise.reject(new NoUserPoolError(type));\n };\n AuthClass.prototype.rememberDevice = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_2 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_2);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n currUser.setDeviceStatusRemembered({\n onSuccess: function (data) {\n res(data);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n });\n })];\n }\n });\n });\n };\n AuthClass.prototype.forgetDevice = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_3 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_3);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n currUser.forgetDevice({\n onSuccess: function (data) {\n res(data);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n });\n })];\n }\n });\n });\n };\n AuthClass.prototype.fetchDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_4 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_4);\n throw new Error('The user is not authenticated');\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n var cb = {\n onSuccess: function (data) {\n var deviceList = data.Devices.map(function (device) {\n var deviceName = device.DeviceAttributes.find(function (_a) {\n var Name = _a.Name;\n return Name === 'device_name';\n }) || {};\n var deviceInfo = {\n id: device.DeviceKey,\n name: deviceName.Value,\n };\n return deviceInfo;\n });\n res(deviceList);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n };\n currUser.listDevices(MAX_DEVICES, null, cb);\n })];\n }\n });\n });\n };\n return AuthClass;\n}());\nexport { AuthClass };\nexport var Auth = new AuthClass(null);\nAmplify.register(Auth);\n//# sourceMappingURL=Auth.js.map","export var AuthErrorStrings;\n(function (AuthErrorStrings) {\n AuthErrorStrings[\"DEFAULT_MSG\"] = \"Authentication Error\";\n AuthErrorStrings[\"EMPTY_EMAIL\"] = \"Email cannot be empty\";\n AuthErrorStrings[\"EMPTY_PHONE\"] = \"Phone number cannot be empty\";\n AuthErrorStrings[\"EMPTY_USERNAME\"] = \"Username cannot be empty\";\n AuthErrorStrings[\"INVALID_USERNAME\"] = \"The username should either be a string or one of the sign in types\";\n AuthErrorStrings[\"EMPTY_PASSWORD\"] = \"Password cannot be empty\";\n AuthErrorStrings[\"EMPTY_CODE\"] = \"Confirmation code cannot be empty\";\n AuthErrorStrings[\"SIGN_UP_ERROR\"] = \"Error creating account\";\n AuthErrorStrings[\"NO_MFA\"] = \"No valid MFA method provided\";\n AuthErrorStrings[\"INVALID_MFA\"] = \"Invalid MFA type\";\n AuthErrorStrings[\"EMPTY_CHALLENGE\"] = \"Challenge response cannot be empty\";\n AuthErrorStrings[\"NO_USER_SESSION\"] = \"Failed to get the session because the user is empty\";\n AuthErrorStrings[\"NETWORK_ERROR\"] = \"Network Error\";\n AuthErrorStrings[\"DEVICE_CONFIG\"] = \"Device tracking has not been configured in this User Pool\";\n AuthErrorStrings[\"AUTOSIGNIN_ERROR\"] = \"Please use your credentials to sign in\";\n})(AuthErrorStrings || (AuthErrorStrings = {}));\n//# sourceMappingURL=AuthErrorStrings.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { Auth } from './Auth';\nimport { CognitoHostedUIIdentityProvider, GRAPHQL_AUTH_MODE, } from './types/Auth';\nimport { CognitoUser, CookieStorage, appendToCognitoUserAgent, } from 'amazon-cognito-identity-js';\nimport { AuthErrorStrings } from './common/AuthErrorStrings';\n/**\n * @deprecated use named import\n */\nexport default Auth;\nexport { Auth, CognitoUser, CookieStorage, CognitoHostedUIIdentityProvider, appendToCognitoUserAgent, AuthErrorStrings, GRAPHQL_AUTH_MODE, };\n//# sourceMappingURL=index.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { StorageHelper } from '@aws-amplify/core';\n/**\n * Default cache config\n */\nexport var defaultConfig = {\n keyPrefix: 'aws-amplify-cache',\n capacityInBytes: 1048576,\n itemMaxSize: 210000,\n defaultTTL: 259200000,\n defaultPriority: 5,\n warningThreshold: 0.8,\n // the storage helper will check if localStorage exists,\n // if not, will use a in-memory object instead\n storage: new StorageHelper().getStorage(),\n};\n/**\n * return the byte size of the string\n * @param str\n */\nexport function getByteLength(str) {\n var ret = 0;\n ret = str.length;\n for (var i = str.length; i >= 0; i -= 1) {\n var charCode = str.charCodeAt(i);\n if (charCode > 0x7f && charCode <= 0x7ff) {\n ret += 1;\n }\n else if (charCode > 0x7ff && charCode <= 0xffff) {\n ret += 2;\n }\n // trail surrogate\n if (charCode >= 0xdc00 && charCode <= 0xdfff) {\n i -= 1;\n }\n }\n return ret;\n}\n/**\n * get current time\n */\nexport function getCurrTime() {\n var currTime = new Date();\n return currTime.getTime();\n}\n/**\n * check if passed value is an integer\n */\nexport function isInteger(value) {\n if (Number.isInteger) {\n return Number.isInteger(value);\n }\n return _isInteger(value);\n}\nfunction _isInteger(value) {\n return (typeof value === 'number' && isFinite(value) && Math.floor(value) === value);\n}\n/**\n * provide an object as the in-memory cache\n */\nvar store = {};\nvar CacheObject = /** @class */ (function () {\n function CacheObject() {\n }\n CacheObject.clear = function () {\n store = {};\n };\n CacheObject.getItem = function (key) {\n return store[key] || null;\n };\n CacheObject.setItem = function (key, value) {\n store[key] = value;\n };\n CacheObject.removeItem = function (key) {\n delete store[key];\n };\n return CacheObject;\n}());\nexport { CacheObject };\n//# sourceMappingURL=CacheUtils.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { getCurrTime, getByteLength, defaultConfig, isInteger } from './Utils';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('StorageCache');\n/**\n * Initialization of the cache\n *\n */\nvar StorageCache = /** @class */ (function () {\n /**\n * Initialize the cache\n * @param config - the configuration of the cache\n */\n function StorageCache(config) {\n this.config = Object.assign({}, config);\n this.cacheCurSizeKey = this.config.keyPrefix + 'CurSize';\n this.checkConfig();\n }\n StorageCache.prototype.getModuleName = function () {\n return 'Cache';\n };\n StorageCache.prototype.checkConfig = function () {\n // check configuration\n if (!isInteger(this.config.capacityInBytes)) {\n logger.error('Invalid parameter: capacityInBytes. It should be an Integer. Setting back to default.');\n this.config.capacityInBytes = defaultConfig.capacityInBytes;\n }\n if (!isInteger(this.config.itemMaxSize)) {\n logger.error('Invalid parameter: itemMaxSize. It should be an Integer. Setting back to default.');\n this.config.itemMaxSize = defaultConfig.itemMaxSize;\n }\n if (!isInteger(this.config.defaultTTL)) {\n logger.error('Invalid parameter: defaultTTL. It should be an Integer. Setting back to default.');\n this.config.defaultTTL = defaultConfig.defaultTTL;\n }\n if (!isInteger(this.config.defaultPriority)) {\n logger.error('Invalid parameter: defaultPriority. It should be an Integer. Setting back to default.');\n this.config.defaultPriority = defaultConfig.defaultPriority;\n }\n if (this.config.itemMaxSize > this.config.capacityInBytes) {\n logger.error('Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default.');\n this.config.itemMaxSize = defaultConfig.itemMaxSize;\n }\n if (this.config.defaultPriority > 5 || this.config.defaultPriority < 1) {\n logger.error('Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.');\n this.config.defaultPriority = defaultConfig.defaultPriority;\n }\n if (Number(this.config.warningThreshold) > 1 ||\n Number(this.config.warningThreshold) < 0) {\n logger.error('Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.');\n this.config.warningThreshold = defaultConfig.warningThreshold;\n }\n // set 5MB limit\n var cacheLimit = 5 * 1024 * 1024;\n if (this.config.capacityInBytes > cacheLimit) {\n logger.error('Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.');\n this.config.capacityInBytes = defaultConfig.capacityInBytes;\n }\n };\n /**\n * produce a JSON object with meta-data and data value\n * @param value - the value of the item\n * @param options - optional, the specified meta-data\n *\n * @return - the item which has the meta-data and the value\n */\n StorageCache.prototype.fillCacheItem = function (key, value, options) {\n var ret = {\n key: key,\n data: value,\n timestamp: getCurrTime(),\n visitedTime: getCurrTime(),\n priority: options.priority,\n expires: options.expires,\n type: typeof value,\n byteSize: 0,\n };\n ret.byteSize = getByteLength(JSON.stringify(ret));\n // for accurate size\n ret.byteSize = getByteLength(JSON.stringify(ret));\n return ret;\n };\n /**\n * set cache with customized configuration\n * @param config - customized configuration\n *\n * @return - the current configuration\n */\n StorageCache.prototype.configure = function (config) {\n if (!config) {\n return this.config;\n }\n if (config.keyPrefix) {\n logger.warn(\"Don't try to configure keyPrefix!\");\n }\n this.config = Object.assign({}, this.config, config, config.Cache);\n this.checkConfig();\n return this.config;\n };\n return StorageCache;\n}());\nexport { StorageCache };\n/**\n * @deprecated use named import\n */\nexport default StorageCache;\n//# sourceMappingURL=StorageCache.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { defaultConfig, getCurrTime } from './Utils';\nimport { StorageCache } from './StorageCache';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('Cache');\n/**\n * Customized storage based on the SessionStorage or LocalStorage with LRU implemented\n */\nvar BrowserStorageCacheClass = /** @class */ (function (_super) {\n __extends(BrowserStorageCacheClass, _super);\n /**\n * initialize the cache\n * @param config - the configuration of the cache\n */\n function BrowserStorageCacheClass(config) {\n var _this = this;\n var cacheConfig = config\n ? Object.assign({}, defaultConfig, config)\n : defaultConfig;\n _this = _super.call(this, cacheConfig) || this;\n _this.config.storage = cacheConfig.storage;\n _this.getItem = _this.getItem.bind(_this);\n _this.setItem = _this.setItem.bind(_this);\n _this.removeItem = _this.removeItem.bind(_this);\n return _this;\n }\n /**\n * decrease current size of the cache\n *\n * @private\n * @param amount - the amount of the cache size which needs to be decreased\n */\n BrowserStorageCacheClass.prototype._decreaseCurSizeInBytes = function (amount) {\n var curSize = this.getCacheCurSize();\n this.config.storage.setItem(this.cacheCurSizeKey, (curSize - amount).toString());\n };\n /**\n * increase current size of the cache\n *\n * @private\n * @param amount - the amount of the cache szie which need to be increased\n */\n BrowserStorageCacheClass.prototype._increaseCurSizeInBytes = function (amount) {\n var curSize = this.getCacheCurSize();\n this.config.storage.setItem(this.cacheCurSizeKey, (curSize + amount).toString());\n };\n /**\n * update the visited time if item has been visited\n *\n * @private\n * @param item - the item which need to be refreshed\n * @param prefixedKey - the key of the item\n *\n * @return the refreshed item\n */\n BrowserStorageCacheClass.prototype._refreshItem = function (item, prefixedKey) {\n item.visitedTime = getCurrTime();\n this.config.storage.setItem(prefixedKey, JSON.stringify(item));\n return item;\n };\n /**\n * check wether item is expired\n *\n * @private\n * @param key - the key of the item\n *\n * @return true if the item is expired.\n */\n BrowserStorageCacheClass.prototype._isExpired = function (key) {\n var text = this.config.storage.getItem(key);\n var item = JSON.parse(text);\n if (getCurrTime() >= item.expires) {\n return true;\n }\n return false;\n };\n /**\n * delete item from cache\n *\n * @private\n * @param prefixedKey - the key of the item\n * @param size - optional, the byte size of the item\n */\n BrowserStorageCacheClass.prototype._removeItem = function (prefixedKey, size) {\n var itemSize = size\n ? size\n : JSON.parse(this.config.storage.getItem(prefixedKey)).byteSize;\n this._decreaseCurSizeInBytes(itemSize);\n // remove the cache item\n this.config.storage.removeItem(prefixedKey);\n };\n /**\n * put item into cache\n *\n * @private\n * @param prefixedKey - the key of the item\n * @param itemData - the value of the item\n * @param itemSizeInBytes - the byte size of the item\n */\n BrowserStorageCacheClass.prototype._setItem = function (prefixedKey, item) {\n // update the cache size\n this._increaseCurSizeInBytes(item.byteSize);\n try {\n this.config.storage.setItem(prefixedKey, JSON.stringify(item));\n }\n catch (setItemErr) {\n // if failed, we need to rollback the cache size\n this._decreaseCurSizeInBytes(item.byteSize);\n logger.error(\"Failed to set item \" + setItemErr);\n }\n };\n /**\n * total space needed when poping out items\n *\n * @private\n * @param itemSize\n *\n * @return total space needed\n */\n BrowserStorageCacheClass.prototype._sizeToPop = function (itemSize) {\n var spaceItemNeed = this.getCacheCurSize() + itemSize - this.config.capacityInBytes;\n var cacheThresholdSpace = (1 - this.config.warningThreshold) * this.config.capacityInBytes;\n return spaceItemNeed > cacheThresholdSpace\n ? spaceItemNeed\n : cacheThresholdSpace;\n };\n /**\n * see whether cache is full\n *\n * @private\n * @param itemSize\n *\n * @return true if cache is full\n */\n BrowserStorageCacheClass.prototype._isCacheFull = function (itemSize) {\n return itemSize + this.getCacheCurSize() > this.config.capacityInBytes;\n };\n /**\n * scan the storage and find out all the keys owned by this cache\n * also clean the expired keys while scanning\n *\n * @private\n *\n * @return array of keys\n */\n BrowserStorageCacheClass.prototype._findValidKeys = function () {\n var keys = [];\n var keyInCache = [];\n // get all keys in Storage\n for (var i = 0; i < this.config.storage.length; i += 1) {\n keyInCache.push(this.config.storage.key(i));\n }\n // find those items which belong to our cache and also clean those expired items\n for (var i = 0; i < keyInCache.length; i += 1) {\n var key = keyInCache[i];\n if (key.indexOf(this.config.keyPrefix) === 0 &&\n key !== this.cacheCurSizeKey) {\n if (this._isExpired(key)) {\n this._removeItem(key);\n }\n else {\n keys.push(key);\n }\n }\n }\n return keys;\n };\n /**\n * get all the items we have, sort them by their priority,\n * if priority is same, sort them by their last visited time\n * pop out items from the low priority (5 is the lowest)\n *\n * @private\n * @param keys - all the keys in this cache\n * @param sizeToPop - the total size of the items which needed to be poped out\n */\n BrowserStorageCacheClass.prototype._popOutItems = function (keys, sizeToPop) {\n var items = [];\n var remainedSize = sizeToPop;\n // get the items from Storage\n for (var i = 0; i < keys.length; i += 1) {\n var val = this.config.storage.getItem(keys[i]);\n if (val != null) {\n var item = JSON.parse(val);\n items.push(item);\n }\n }\n // first compare priority\n // then compare visited time\n items.sort(function (a, b) {\n if (a.priority > b.priority) {\n return -1;\n }\n else if (a.priority < b.priority) {\n return 1;\n }\n else {\n if (a.visitedTime < b.visitedTime) {\n return -1;\n }\n else\n return 1;\n }\n });\n for (var i = 0; i < items.length; i += 1) {\n // pop out items until we have enough room for new item\n this._removeItem(items[i].key, items[i].byteSize);\n remainedSize -= items[i].byteSize;\n if (remainedSize <= 0) {\n return;\n }\n }\n };\n /**\n * Set item into cache. You can put number, string, boolean or object.\n * The cache will first check whether has the same key.\n * If it has, it will delete the old item and then put the new item in\n * The cache will pop out items if it is full\n * You can specify the cache item options. The cache will abort and output a warning:\n * If the key is invalid\n * If the size of the item exceeds itemMaxSize.\n * If the value is undefined\n * If incorrect cache item configuration\n * If error happened with browser storage\n *\n * @param key - the key of the item\n * @param value - the value of the item\n * @param {Object} [options] - optional, the specified meta-data\n */\n BrowserStorageCacheClass.prototype.setItem = function (key, value, options) {\n logger.log(\"Set item: key is \" + key + \", value is \" + value + \" with options: \" + options);\n var prefixedKey = this.config.keyPrefix + key;\n // invalid keys\n if (prefixedKey === this.config.keyPrefix ||\n prefixedKey === this.cacheCurSizeKey) {\n logger.warn(\"Invalid key: should not be empty or 'CurSize'\");\n return;\n }\n if (typeof value === 'undefined') {\n logger.warn(\"The value of item should not be undefined!\");\n return;\n }\n var cacheItemOptions = {\n priority: options && options.priority !== undefined\n ? options.priority\n : this.config.defaultPriority,\n expires: options && options.expires !== undefined\n ? options.expires\n : this.config.defaultTTL + getCurrTime(),\n };\n if (cacheItemOptions.priority < 1 || cacheItemOptions.priority > 5) {\n logger.warn(\"Invalid parameter: priority due to out or range. It should be within 1 and 5.\");\n return;\n }\n var item = this.fillCacheItem(prefixedKey, value, cacheItemOptions);\n // check wether this item is too big;\n if (item.byteSize > this.config.itemMaxSize) {\n logger.warn(\"Item with key: \" + key + \" you are trying to put into is too big!\");\n return;\n }\n try {\n // first look into the storage, if it exists, delete it.\n var val = this.config.storage.getItem(prefixedKey);\n if (val) {\n this._removeItem(prefixedKey, JSON.parse(val).byteSize);\n }\n // check whether the cache is full\n if (this._isCacheFull(item.byteSize)) {\n var validKeys = this._findValidKeys();\n // check again and then pop out items\n if (this._isCacheFull(item.byteSize)) {\n var sizeToPop = this._sizeToPop(item.byteSize);\n this._popOutItems(validKeys, sizeToPop);\n }\n }\n // put item in the cache\n // may failed due to storage full\n this._setItem(prefixedKey, item);\n }\n catch (e) {\n logger.warn(\"setItem failed! \" + e);\n }\n };\n /**\n * Get item from cache. It will return null if item doesn’t exist or it has been expired.\n * If you specified callback function in the options,\n * then the function will be executed if no such item in the cache\n * and finally put the return value into cache.\n * Please make sure the callback function will return the value you want to put into the cache.\n * The cache will abort output a warning:\n * If the key is invalid\n * If error happened with browser storage\n *\n * @param key - the key of the item\n * @param {Object} [options] - the options of callback function\n *\n * @return - return the value of the item\n */\n BrowserStorageCacheClass.prototype.getItem = function (key, options) {\n logger.log(\"Get item: key is \" + key + \" with options \" + options);\n var ret = null;\n var prefixedKey = this.config.keyPrefix + key;\n if (prefixedKey === this.config.keyPrefix ||\n prefixedKey === this.cacheCurSizeKey) {\n logger.warn(\"Invalid key: should not be empty or 'CurSize'\");\n return null;\n }\n try {\n ret = this.config.storage.getItem(prefixedKey);\n if (ret != null) {\n if (this._isExpired(prefixedKey)) {\n // if expired, remove that item and return null\n this._removeItem(prefixedKey, JSON.parse(ret).byteSize);\n ret = null;\n }\n else {\n // if not expired, great, return the value and refresh it\n var item = JSON.parse(ret);\n item = this._refreshItem(item, prefixedKey);\n return item.data;\n }\n }\n if (options && options.callback !== undefined) {\n var val = options.callback();\n if (val !== null) {\n this.setItem(key, val, options);\n }\n return val;\n }\n return null;\n }\n catch (e) {\n logger.warn(\"getItem failed! \" + e);\n return null;\n }\n };\n /**\n * remove item from the cache\n * The cache will abort output a warning:\n * If error happened with browser storage\n * @param key - the key of the item\n */\n BrowserStorageCacheClass.prototype.removeItem = function (key) {\n logger.log(\"Remove item: key is \" + key);\n var prefixedKey = this.config.keyPrefix + key;\n if (prefixedKey === this.config.keyPrefix ||\n prefixedKey === this.cacheCurSizeKey) {\n return;\n }\n try {\n var val = this.config.storage.getItem(prefixedKey);\n if (val) {\n this._removeItem(prefixedKey, JSON.parse(val).byteSize);\n }\n }\n catch (e) {\n logger.warn(\"removeItem failed! \" + e);\n }\n };\n /**\n * clear the entire cache\n * The cache will abort output a warning:\n * If error happened with browser storage\n */\n BrowserStorageCacheClass.prototype.clear = function () {\n logger.log(\"Clear Cache\");\n var keysToRemove = [];\n for (var i = 0; i < this.config.storage.length; i += 1) {\n var key = this.config.storage.key(i);\n if (key.indexOf(this.config.keyPrefix) === 0) {\n keysToRemove.push(key);\n }\n }\n try {\n for (var i = 0; i < keysToRemove.length; i += 1) {\n this.config.storage.removeItem(keysToRemove[i]);\n }\n }\n catch (e) {\n logger.warn(\"clear failed! \" + e);\n }\n };\n /**\n * Return all the keys in the cache.\n *\n * @return - all keys in the cache\n */\n BrowserStorageCacheClass.prototype.getAllKeys = function () {\n var keys = [];\n for (var i = 0; i < this.config.storage.length; i += 1) {\n var key = this.config.storage.key(i);\n if (key.indexOf(this.config.keyPrefix) === 0 &&\n key !== this.cacheCurSizeKey) {\n keys.push(key.substring(this.config.keyPrefix.length));\n }\n }\n return keys;\n };\n /**\n * return the current size of the cache\n *\n * @return - current size of the cache\n */\n BrowserStorageCacheClass.prototype.getCacheCurSize = function () {\n var ret = this.config.storage.getItem(this.cacheCurSizeKey);\n if (!ret) {\n this.config.storage.setItem(this.cacheCurSizeKey, '0');\n ret = '0';\n }\n return Number(ret);\n };\n /**\n * Return a new instance of cache with customized configuration.\n * @param config - the customized configuration\n *\n * @return - new instance of Cache\n */\n BrowserStorageCacheClass.prototype.createInstance = function (config) {\n if (!config.keyPrefix || config.keyPrefix === defaultConfig.keyPrefix) {\n logger.error('invalid keyPrefix, setting keyPrefix with timeStamp');\n config.keyPrefix = getCurrTime.toString();\n }\n return new BrowserStorageCacheClass(config);\n };\n return BrowserStorageCacheClass;\n}(StorageCache));\nexport { BrowserStorageCacheClass };\nexport var BrowserStorageCache = new BrowserStorageCacheClass();\n/**\n * @deprecated use named import\n */\nexport default BrowserStorageCache;\n//# sourceMappingURL=BrowserStorageCache.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { Amplify } from '@aws-amplify/core';\nimport { BrowserStorageCache } from './BrowserStorageCache';\nimport { InMemoryCache } from './InMemoryCache';\nexport { BrowserStorageCache, InMemoryCache };\n/**\n * @deprecated use named import\n */\nexport default BrowserStorageCache;\nAmplify.register(BrowserStorageCache);\n//# sourceMappingURL=index.js.map","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { ConsoleLogger as LoggerClass } from './Logger';\nvar logger = new LoggerClass('Amplify');\nvar AmplifyClass = /** @class */ (function () {\n function AmplifyClass() {\n // Everything that is `register`ed is tracked here\n this._components = [];\n this._config = {};\n // All modules (with `getModuleName()`) are stored here for dependency injection\n this._modules = {};\n // for backward compatibility to avoid breaking change\n // if someone is using like Amplify.Auth\n this.Auth = null;\n this.Analytics = null;\n this.API = null;\n this.Credentials = null;\n this.Storage = null;\n this.I18n = null;\n this.Cache = null;\n this.PubSub = null;\n this.Interactions = null;\n this.Pushnotification = null;\n this.UI = null;\n this.XR = null;\n this.Predictions = null;\n this.DataStore = null;\n this.Geo = null;\n this.Logger = LoggerClass;\n this.ServiceWorker = null;\n }\n AmplifyClass.prototype.register = function (comp) {\n logger.debug('component registered in amplify', comp);\n this._components.push(comp);\n if (typeof comp.getModuleName === 'function') {\n this._modules[comp.getModuleName()] = comp;\n this[comp.getModuleName()] = comp;\n }\n else {\n logger.debug('no getModuleName method for component', comp);\n }\n // Finally configure this new component(category) loaded\n // With the new modularization changes in Amplify V3, all the Amplify\n // component are not loaded/registered right away but when they are\n // imported (and hence instantiated) in the client's app. This ensures\n // that all new components imported get correctly configured with the\n // configuration that Amplify.configure() was called with.\n comp.configure(this._config);\n };\n AmplifyClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config;\n this._config = Object.assign(this._config, config);\n logger.debug('amplify config', this._config);\n // Dependency Injection via property-setting.\n // This avoids introducing a public method/interface/setter that's difficult to remove later.\n // Plus, it reduces `if` statements within the `constructor` and `configure` of each module\n Object.entries(this._modules).forEach(function (_a) {\n var _b = __read(_a, 2), Name = _b[0], comp = _b[1];\n // e.g. Auth.*\n Object.keys(comp).forEach(function (property) {\n // e.g. Auth[\"Credentials\"] = this._modules[\"Credentials\"] when set\n if (_this._modules[property]) {\n comp[property] = _this._modules[property];\n }\n });\n });\n this._components.map(function (comp) {\n comp.configure(_this._config);\n });\n return this._config;\n };\n AmplifyClass.prototype.addPluggable = function (pluggable) {\n if (pluggable &&\n pluggable['getCategory'] &&\n typeof pluggable['getCategory'] === 'function') {\n this._components.map(function (comp) {\n if (comp['addPluggable'] &&\n typeof comp['addPluggable'] === 'function') {\n comp.addPluggable(pluggable);\n }\n });\n }\n };\n return AmplifyClass;\n}());\nexport { AmplifyClass };\nexport var Amplify = new AmplifyClass();\n/**\n * @deprecated use named import\n */\nexport default Amplify;\n//# sourceMappingURL=Amplify.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (ga) {\n logger.debug('google api already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar GoogleOAuth = /** @class */ (function () {\n function GoogleOAuth() {\n this.initialized = false;\n this.refreshGoogleToken = this.refreshGoogleToken.bind(this);\n this._refreshGoogleTokenImpl = this._refreshGoogleTokenImpl.bind(this);\n }\n GoogleOAuth.prototype.refreshGoogleToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Google SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshGoogleTokenImpl()];\n }\n });\n });\n };\n GoogleOAuth.prototype._refreshGoogleTokenImpl = function () {\n var ga = null;\n if (browserOrNode().isBrowser)\n ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (!ga) {\n logger.debug('no gapi auth2 available');\n return Promise.reject('no gapi auth2 available');\n }\n return new Promise(function (res, rej) {\n ga.getAuthInstance()\n .then(function (googleAuth) {\n if (!googleAuth) {\n logger.debug('google Auth undefined');\n rej(new NonRetryableError('google Auth undefined'));\n }\n var googleUser = googleAuth.currentUser.get();\n // refresh the token\n if (googleUser.isSignedIn()) {\n logger.debug('refreshing the google access token');\n googleUser\n .reloadAuthResponse()\n .then(function (authResponse) {\n var id_token = authResponse.id_token, expires_at = authResponse.expires_at;\n res({ token: id_token, expires_at: expires_at });\n })\n .catch(function (err) {\n if (err && err.error === 'network_error') {\n // Not using NonRetryableError so handler will be retried\n rej('Network error reloading google auth response');\n }\n else {\n rej(new NonRetryableError('Failed to reload google auth response'));\n }\n });\n }\n else {\n rej(new NonRetryableError('User is not signed in with Google'));\n }\n })\n .catch(function (err) {\n logger.debug('Failed to refresh google token', err);\n rej(new NonRetryableError('Failed to refresh google token'));\n });\n });\n };\n return GoogleOAuth;\n}());\nexport { GoogleOAuth };\n/**\n * @deprecated use named import\n */\nexport default GoogleOAuth;\n//# sourceMappingURL=GoogleOAuth.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var fb = window['FB'];\n if (fb) {\n logger.debug('FB SDK already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar FacebookOAuth = /** @class */ (function () {\n function FacebookOAuth() {\n this.initialized = false;\n this.refreshFacebookToken = this.refreshFacebookToken.bind(this);\n this._refreshFacebookTokenImpl = this._refreshFacebookTokenImpl.bind(this);\n }\n FacebookOAuth.prototype.refreshFacebookToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Facebook SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshFacebookTokenImpl()];\n }\n });\n });\n };\n FacebookOAuth.prototype._refreshFacebookTokenImpl = function () {\n var fb = null;\n if (browserOrNode().isBrowser)\n fb = window['FB'];\n if (!fb) {\n var errorMessage = 'no fb sdk available';\n logger.debug(errorMessage);\n return Promise.reject(new NonRetryableError(errorMessage));\n }\n return new Promise(function (res, rej) {\n fb.getLoginStatus(function (fbResponse) {\n if (!fbResponse || !fbResponse.authResponse) {\n var errorMessage = 'no response from facebook when refreshing the jwt token';\n logger.debug(errorMessage);\n // There is no definitive indication for a network error in\n // fbResponse, so we are treating it as an invalid token.\n rej(new NonRetryableError(errorMessage));\n }\n else {\n var response = fbResponse.authResponse;\n var accessToken = response.accessToken, expiresIn = response.expiresIn;\n var date = new Date();\n var expires_at = expiresIn * 1000 + date.getTime();\n if (!accessToken) {\n var errorMessage = 'the jwtToken is undefined';\n logger.debug(errorMessage);\n rej(new NonRetryableError(errorMessage));\n }\n res({\n token: accessToken,\n expires_at: expires_at,\n });\n }\n }, { scope: 'public_profile,email' });\n });\n };\n return FacebookOAuth;\n}());\nexport { FacebookOAuth };\n/**\n * @deprecated use named import\n */\nexport default FacebookOAuth;\n//# sourceMappingURL=FacebookOAuth.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { GoogleOAuth as GoogleOAuthClass } from './GoogleOAuth';\nimport { FacebookOAuth as FacebookOAuthClass } from './FacebookOAuth';\nexport var GoogleOAuth = new GoogleOAuthClass();\nexport var FacebookOAuth = new FacebookOAuthClass();\n//# sourceMappingURL=index.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { __assign } from \"tslib\";\nexport var AmbiguousRoleResolutionType;\n(function (AmbiguousRoleResolutionType) {\n AmbiguousRoleResolutionType[\"AUTHENTICATED_ROLE\"] = \"AuthenticatedRole\";\n AmbiguousRoleResolutionType[\"DENY\"] = \"Deny\";\n})(AmbiguousRoleResolutionType || (AmbiguousRoleResolutionType = {}));\nexport var CognitoIdentityProvider;\n(function (CognitoIdentityProvider) {\n CognitoIdentityProvider.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CognitoIdentityProvider || (CognitoIdentityProvider = {}));\nexport var CreateIdentityPoolInput;\n(function (CreateIdentityPoolInput) {\n CreateIdentityPoolInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CreateIdentityPoolInput || (CreateIdentityPoolInput = {}));\nexport var IdentityPool;\n(function (IdentityPool) {\n IdentityPool.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IdentityPool || (IdentityPool = {}));\nexport var InternalErrorException;\n(function (InternalErrorException) {\n InternalErrorException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InternalErrorException || (InternalErrorException = {}));\nexport var InvalidParameterException;\n(function (InvalidParameterException) {\n InvalidParameterException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InvalidParameterException || (InvalidParameterException = {}));\nexport var LimitExceededException;\n(function (LimitExceededException) {\n LimitExceededException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LimitExceededException || (LimitExceededException = {}));\nexport var NotAuthorizedException;\n(function (NotAuthorizedException) {\n NotAuthorizedException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NotAuthorizedException || (NotAuthorizedException = {}));\nexport var ResourceConflictException;\n(function (ResourceConflictException) {\n ResourceConflictException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ResourceConflictException || (ResourceConflictException = {}));\nexport var TooManyRequestsException;\n(function (TooManyRequestsException) {\n TooManyRequestsException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TooManyRequestsException || (TooManyRequestsException = {}));\nexport var DeleteIdentitiesInput;\n(function (DeleteIdentitiesInput) {\n DeleteIdentitiesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteIdentitiesInput || (DeleteIdentitiesInput = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ErrorCode[\"ACCESS_DENIED\"] = \"AccessDenied\";\n ErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"InternalServerError\";\n})(ErrorCode || (ErrorCode = {}));\nexport var UnprocessedIdentityId;\n(function (UnprocessedIdentityId) {\n UnprocessedIdentityId.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UnprocessedIdentityId || (UnprocessedIdentityId = {}));\nexport var DeleteIdentitiesResponse;\n(function (DeleteIdentitiesResponse) {\n DeleteIdentitiesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteIdentitiesResponse || (DeleteIdentitiesResponse = {}));\nexport var DeleteIdentityPoolInput;\n(function (DeleteIdentityPoolInput) {\n DeleteIdentityPoolInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteIdentityPoolInput || (DeleteIdentityPoolInput = {}));\nexport var ResourceNotFoundException;\n(function (ResourceNotFoundException) {\n ResourceNotFoundException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ResourceNotFoundException || (ResourceNotFoundException = {}));\nexport var DescribeIdentityInput;\n(function (DescribeIdentityInput) {\n DescribeIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DescribeIdentityInput || (DescribeIdentityInput = {}));\nexport var IdentityDescription;\n(function (IdentityDescription) {\n IdentityDescription.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IdentityDescription || (IdentityDescription = {}));\nexport var DescribeIdentityPoolInput;\n(function (DescribeIdentityPoolInput) {\n DescribeIdentityPoolInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DescribeIdentityPoolInput || (DescribeIdentityPoolInput = {}));\nexport var ExternalServiceException;\n(function (ExternalServiceException) {\n ExternalServiceException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ExternalServiceException || (ExternalServiceException = {}));\nexport var GetCredentialsForIdentityInput;\n(function (GetCredentialsForIdentityInput) {\n GetCredentialsForIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetCredentialsForIdentityInput || (GetCredentialsForIdentityInput = {}));\nexport var Credentials;\n(function (Credentials) {\n Credentials.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Credentials || (Credentials = {}));\nexport var GetCredentialsForIdentityResponse;\n(function (GetCredentialsForIdentityResponse) {\n GetCredentialsForIdentityResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetCredentialsForIdentityResponse || (GetCredentialsForIdentityResponse = {}));\nexport var InvalidIdentityPoolConfigurationException;\n(function (InvalidIdentityPoolConfigurationException) {\n InvalidIdentityPoolConfigurationException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InvalidIdentityPoolConfigurationException || (InvalidIdentityPoolConfigurationException = {}));\nexport var GetIdInput;\n(function (GetIdInput) {\n GetIdInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdInput || (GetIdInput = {}));\nexport var GetIdResponse;\n(function (GetIdResponse) {\n GetIdResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdResponse || (GetIdResponse = {}));\nexport var GetIdentityPoolRolesInput;\n(function (GetIdentityPoolRolesInput) {\n GetIdentityPoolRolesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdentityPoolRolesInput || (GetIdentityPoolRolesInput = {}));\nexport var MappingRuleMatchType;\n(function (MappingRuleMatchType) {\n MappingRuleMatchType[\"CONTAINS\"] = \"Contains\";\n MappingRuleMatchType[\"EQUALS\"] = \"Equals\";\n MappingRuleMatchType[\"NOT_EQUAL\"] = \"NotEqual\";\n MappingRuleMatchType[\"STARTS_WITH\"] = \"StartsWith\";\n})(MappingRuleMatchType || (MappingRuleMatchType = {}));\nexport var MappingRule;\n(function (MappingRule) {\n MappingRule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MappingRule || (MappingRule = {}));\nexport var RulesConfigurationType;\n(function (RulesConfigurationType) {\n RulesConfigurationType.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RulesConfigurationType || (RulesConfigurationType = {}));\nexport var RoleMappingType;\n(function (RoleMappingType) {\n RoleMappingType[\"RULES\"] = \"Rules\";\n RoleMappingType[\"TOKEN\"] = \"Token\";\n})(RoleMappingType || (RoleMappingType = {}));\nexport var RoleMapping;\n(function (RoleMapping) {\n RoleMapping.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RoleMapping || (RoleMapping = {}));\nexport var GetIdentityPoolRolesResponse;\n(function (GetIdentityPoolRolesResponse) {\n GetIdentityPoolRolesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdentityPoolRolesResponse || (GetIdentityPoolRolesResponse = {}));\nexport var GetOpenIdTokenInput;\n(function (GetOpenIdTokenInput) {\n GetOpenIdTokenInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenInput || (GetOpenIdTokenInput = {}));\nexport var GetOpenIdTokenResponse;\n(function (GetOpenIdTokenResponse) {\n GetOpenIdTokenResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenResponse || (GetOpenIdTokenResponse = {}));\nexport var DeveloperUserAlreadyRegisteredException;\n(function (DeveloperUserAlreadyRegisteredException) {\n DeveloperUserAlreadyRegisteredException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeveloperUserAlreadyRegisteredException || (DeveloperUserAlreadyRegisteredException = {}));\nexport var GetOpenIdTokenForDeveloperIdentityInput;\n(function (GetOpenIdTokenForDeveloperIdentityInput) {\n GetOpenIdTokenForDeveloperIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenForDeveloperIdentityInput || (GetOpenIdTokenForDeveloperIdentityInput = {}));\nexport var GetOpenIdTokenForDeveloperIdentityResponse;\n(function (GetOpenIdTokenForDeveloperIdentityResponse) {\n GetOpenIdTokenForDeveloperIdentityResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenForDeveloperIdentityResponse || (GetOpenIdTokenForDeveloperIdentityResponse = {}));\nexport var ListIdentitiesInput;\n(function (ListIdentitiesInput) {\n ListIdentitiesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentitiesInput || (ListIdentitiesInput = {}));\nexport var ListIdentitiesResponse;\n(function (ListIdentitiesResponse) {\n ListIdentitiesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentitiesResponse || (ListIdentitiesResponse = {}));\nexport var ListIdentityPoolsInput;\n(function (ListIdentityPoolsInput) {\n ListIdentityPoolsInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentityPoolsInput || (ListIdentityPoolsInput = {}));\nexport var IdentityPoolShortDescription;\n(function (IdentityPoolShortDescription) {\n IdentityPoolShortDescription.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IdentityPoolShortDescription || (IdentityPoolShortDescription = {}));\nexport var ListIdentityPoolsResponse;\n(function (ListIdentityPoolsResponse) {\n ListIdentityPoolsResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentityPoolsResponse || (ListIdentityPoolsResponse = {}));\nexport var ListTagsForResourceInput;\n(function (ListTagsForResourceInput) {\n ListTagsForResourceInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListTagsForResourceInput || (ListTagsForResourceInput = {}));\nexport var ListTagsForResourceResponse;\n(function (ListTagsForResourceResponse) {\n ListTagsForResourceResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListTagsForResourceResponse || (ListTagsForResourceResponse = {}));\nexport var LookupDeveloperIdentityInput;\n(function (LookupDeveloperIdentityInput) {\n LookupDeveloperIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LookupDeveloperIdentityInput || (LookupDeveloperIdentityInput = {}));\nexport var LookupDeveloperIdentityResponse;\n(function (LookupDeveloperIdentityResponse) {\n LookupDeveloperIdentityResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LookupDeveloperIdentityResponse || (LookupDeveloperIdentityResponse = {}));\nexport var MergeDeveloperIdentitiesInput;\n(function (MergeDeveloperIdentitiesInput) {\n MergeDeveloperIdentitiesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MergeDeveloperIdentitiesInput || (MergeDeveloperIdentitiesInput = {}));\nexport var MergeDeveloperIdentitiesResponse;\n(function (MergeDeveloperIdentitiesResponse) {\n MergeDeveloperIdentitiesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MergeDeveloperIdentitiesResponse || (MergeDeveloperIdentitiesResponse = {}));\nexport var ConcurrentModificationException;\n(function (ConcurrentModificationException) {\n ConcurrentModificationException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ConcurrentModificationException || (ConcurrentModificationException = {}));\nexport var SetIdentityPoolRolesInput;\n(function (SetIdentityPoolRolesInput) {\n SetIdentityPoolRolesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(SetIdentityPoolRolesInput || (SetIdentityPoolRolesInput = {}));\nexport var TagResourceInput;\n(function (TagResourceInput) {\n TagResourceInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TagResourceInput || (TagResourceInput = {}));\nexport var TagResourceResponse;\n(function (TagResourceResponse) {\n TagResourceResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TagResourceResponse || (TagResourceResponse = {}));\nexport var UnlinkDeveloperIdentityInput;\n(function (UnlinkDeveloperIdentityInput) {\n UnlinkDeveloperIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UnlinkDeveloperIdentityInput || (UnlinkDeveloperIdentityInput = {}));\nexport var UnlinkIdentityInput;\n(function (UnlinkIdentityInput) {\n UnlinkIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UnlinkIdentityInput || (UnlinkIdentityInput = {}));\nexport var UntagResourceInput;\n(function (UntagResourceInput) {\n UntagResourceInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UntagResourceInput || (UntagResourceInput = {}));\nexport var UntagResourceResponse;\n(function (UntagResourceResponse) {\n UntagResourceResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UntagResourceResponse || (UntagResourceResponse = {}));\n//# sourceMappingURL=models_0.js.map","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { HttpRequest as __HttpRequest } from \"@aws-sdk/protocol-http\";\nexport var serializeAws_json1_1CreateIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.CreateIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1CreateIdentityPoolInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DeleteIdentitiesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentities\",\n };\n body = JSON.stringify(serializeAws_json1_1DeleteIdentitiesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DeleteIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1DeleteIdentityPoolInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DescribeIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DescribeIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityPoolInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetCredentialsForIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetCredentialsForIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1GetCredentialsForIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetIdCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetId\",\n };\n body = JSON.stringify(serializeAws_json1_1GetIdInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetIdentityPoolRolesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetIdentityPoolRoles\",\n };\n body = JSON.stringify(serializeAws_json1_1GetIdentityPoolRolesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetOpenIdTokenCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdToken\",\n };\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdTokenForDeveloperIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1ListIdentitiesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentities\",\n };\n body = JSON.stringify(serializeAws_json1_1ListIdentitiesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1ListIdentityPoolsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentityPools\",\n };\n body = JSON.stringify(serializeAws_json1_1ListIdentityPoolsInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1ListTagsForResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListTagsForResource\",\n };\n body = JSON.stringify(serializeAws_json1_1ListTagsForResourceInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1LookupDeveloperIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.LookupDeveloperIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1LookupDeveloperIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1MergeDeveloperIdentitiesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.MergeDeveloperIdentities\",\n };\n body = JSON.stringify(serializeAws_json1_1MergeDeveloperIdentitiesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1SetIdentityPoolRolesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.SetIdentityPoolRoles\",\n };\n body = JSON.stringify(serializeAws_json1_1SetIdentityPoolRolesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1TagResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.TagResource\",\n };\n body = JSON.stringify(serializeAws_json1_1TagResourceInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UnlinkDeveloperIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkDeveloperIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1UnlinkDeveloperIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UnlinkIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1UnlinkIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UntagResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UntagResource\",\n };\n body = JSON.stringify(serializeAws_json1_1UntagResourceInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UpdateIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UpdateIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1IdentityPool(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var deserializeAws_json1_1CreateIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1CreateIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1CreateIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"LimitExceededException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#LimitExceededException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DeleteIdentitiesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DeleteIdentitiesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1DeleteIdentitiesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DeleteIdentitiesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, parsedBody, message;\n var _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n _a = [__assign({}, output)];\n _f = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_f.body = _g.sent(), _f)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"TooManyRequestsException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 6];\n }\n return [3 /*break*/, 8];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_g.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 9];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_g.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 9];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_g.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 9];\n case 8:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _g.label = 9;\n case 9:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DeleteIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DeleteIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DeleteIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DescribeIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DescribeIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityDescription(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DescribeIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DescribeIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DescribeIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DescribeIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetCredentialsForIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetCredentialsForIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetCredentialsForIdentityResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetCredentialsForIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidIdentityPoolConfigurationException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException\": return [3 /*break*/, 6];\n case \"InvalidParameterException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 8];\n case \"NotAuthorizedException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 10];\n case \"ResourceConflictException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 12];\n case \"ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"TooManyRequestsException\": return [3 /*break*/, 16];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetIdCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetIdCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetIdResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetIdCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotAuthorizedException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 10];\n case \"ResourceConflictException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 12];\n case \"ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"TooManyRequestsException\": return [3 /*break*/, 16];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetIdentityPoolRolesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetIdentityPoolRolesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetIdentityPoolRolesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetIdentityPoolRolesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetOpenIdTokenCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetOpenIdTokenCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetOpenIdTokenResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetOpenIdTokenCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"DeveloperUserAlreadyRegisteredException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#DeveloperUserAlreadyRegisteredException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1ListIdentitiesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1ListIdentitiesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1ListIdentitiesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1ListIdentitiesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1ListIdentityPoolsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1ListIdentityPoolsCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1ListIdentityPoolsResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1ListIdentityPoolsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1ListTagsForResourceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1ListTagsForResourceCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1ListTagsForResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1LookupDeveloperIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1LookupDeveloperIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1LookupDeveloperIdentityResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1LookupDeveloperIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1MergeDeveloperIdentitiesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1MergeDeveloperIdentitiesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1MergeDeveloperIdentitiesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1MergeDeveloperIdentitiesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1SetIdentityPoolRolesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1SetIdentityPoolRolesCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1SetIdentityPoolRolesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1TagResourceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1TagResourceCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1TagResourceResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1TagResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UnlinkDeveloperIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UnlinkDeveloperIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UnlinkDeveloperIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UnlinkIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UnlinkIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UnlinkIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UntagResourceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UntagResourceCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1UntagResourceResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UntagResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UpdateIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UpdateIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UpdateIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotAuthorizedException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 10];\n case \"ResourceConflictException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 12];\n case \"ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"TooManyRequestsException\": return [3 /*break*/, 16];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nvar deserializeAws_json1_1ConcurrentModificationExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ConcurrentModificationException(body, context);\n contents = __assign({ name: \"ConcurrentModificationException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1DeveloperUserAlreadyRegisteredException(body, context);\n contents = __assign({ name: \"DeveloperUserAlreadyRegisteredException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1ExternalServiceExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ExternalServiceException(body, context);\n contents = __assign({ name: \"ExternalServiceException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1InternalErrorExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1InternalErrorException(body, context);\n contents = __assign({ name: \"InternalErrorException\", $fault: \"server\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1InvalidIdentityPoolConfigurationException(body, context);\n contents = __assign({ name: \"InvalidIdentityPoolConfigurationException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1InvalidParameterExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1InvalidParameterException(body, context);\n contents = __assign({ name: \"InvalidParameterException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1LimitExceededExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1LimitExceededException(body, context);\n contents = __assign({ name: \"LimitExceededException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1NotAuthorizedExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1NotAuthorizedException(body, context);\n contents = __assign({ name: \"NotAuthorizedException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1ResourceConflictExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ResourceConflictException(body, context);\n contents = __assign({ name: \"ResourceConflictException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1ResourceNotFoundExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ResourceNotFoundException(body, context);\n contents = __assign({ name: \"ResourceNotFoundException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1TooManyRequestsExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1TooManyRequestsException(body, context);\n contents = __assign({ name: \"TooManyRequestsException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar serializeAws_json1_1CognitoIdentityProvider = function (input, context) {\n return __assign(__assign(__assign({}, (input.ClientId !== undefined && input.ClientId !== null && { ClientId: input.ClientId })), (input.ProviderName !== undefined && input.ProviderName !== null && { ProviderName: input.ProviderName })), (input.ServerSideTokenCheck !== undefined &&\n input.ServerSideTokenCheck !== null && { ServerSideTokenCheck: input.ServerSideTokenCheck }));\n};\nvar serializeAws_json1_1CognitoIdentityProviderList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return serializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\nvar serializeAws_json1_1CreateIdentityPoolInput = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow })), (input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n })), (input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(input.CognitoIdentityProviders, context),\n })), (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName })), (input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n })), (input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n })), (input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n })), (input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }));\n};\nvar serializeAws_json1_1DeleteIdentitiesInput = function (input, context) {\n return __assign({}, (input.IdentityIdsToDelete !== undefined &&\n input.IdentityIdsToDelete !== null && {\n IdentityIdsToDelete: serializeAws_json1_1IdentityIdList(input.IdentityIdsToDelete, context),\n }));\n};\nvar serializeAws_json1_1DeleteIdentityPoolInput = function (input, context) {\n return __assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1DescribeIdentityInput = function (input, context) {\n return __assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }));\n};\nvar serializeAws_json1_1DescribeIdentityPoolInput = function (input, context) {\n return __assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1GetCredentialsForIdentityInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.CustomRoleArn !== undefined && input.CustomRoleArn !== null && { CustomRoleArn: input.CustomRoleArn })), (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }));\n};\nvar serializeAws_json1_1GetIdentityPoolRolesInput = function (input, context) {\n return __assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1GetIdInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.AccountId !== undefined && input.AccountId !== null && { AccountId: input.AccountId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }));\n};\nvar serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) })), (input.TokenDuration !== undefined && input.TokenDuration !== null && { TokenDuration: input.TokenDuration }));\n};\nvar serializeAws_json1_1GetOpenIdTokenInput = function (input, context) {\n return __assign(__assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }));\n};\nvar serializeAws_json1_1IdentityIdList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1IdentityPool = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow })), (input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n })), (input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(input.CognitoIdentityProviders, context),\n })), (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName })), (input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n })), (input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n })), (input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n })), (input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }));\n};\nvar serializeAws_json1_1IdentityPoolTagsListType = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1IdentityPoolTagsType = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1IdentityProviders = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1ListIdentitiesInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.HideDisabled !== undefined && input.HideDisabled !== null && { HideDisabled: input.HideDisabled })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults })), (input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }));\n};\nvar serializeAws_json1_1ListIdentityPoolsInput = function (input, context) {\n return __assign(__assign({}, (input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults })), (input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }));\n};\nvar serializeAws_json1_1ListTagsForResourceInput = function (input, context) {\n return __assign({}, (input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }));\n};\nvar serializeAws_json1_1LoginsList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1LoginsMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1LookupDeveloperIdentityInput = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign({}, (input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier })), (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults })), (input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }));\n};\nvar serializeAws_json1_1MappingRule = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.Claim !== undefined && input.Claim !== null && { Claim: input.Claim })), (input.MatchType !== undefined && input.MatchType !== null && { MatchType: input.MatchType })), (input.RoleARN !== undefined && input.RoleARN !== null && { RoleARN: input.RoleARN })), (input.Value !== undefined && input.Value !== null && { Value: input.Value }));\n};\nvar serializeAws_json1_1MappingRulesList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return serializeAws_json1_1MappingRule(entry, context);\n });\n};\nvar serializeAws_json1_1MergeDeveloperIdentitiesInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.DestinationUserIdentifier !== undefined &&\n input.DestinationUserIdentifier !== null && { DestinationUserIdentifier: input.DestinationUserIdentifier })), (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.SourceUserIdentifier !== undefined &&\n input.SourceUserIdentifier !== null && { SourceUserIdentifier: input.SourceUserIdentifier }));\n};\nvar serializeAws_json1_1OIDCProviderList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1RoleMapping = function (input, context) {\n return __assign(__assign(__assign({}, (input.AmbiguousRoleResolution !== undefined &&\n input.AmbiguousRoleResolution !== null && { AmbiguousRoleResolution: input.AmbiguousRoleResolution })), (input.RulesConfiguration !== undefined &&\n input.RulesConfiguration !== null && {\n RulesConfiguration: serializeAws_json1_1RulesConfigurationType(input.RulesConfiguration, context),\n })), (input.Type !== undefined && input.Type !== null && { Type: input.Type }));\n};\nvar serializeAws_json1_1RoleMappingMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = serializeAws_json1_1RoleMapping(value, context), _b));\n }, {});\n};\nvar serializeAws_json1_1RolesMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1RulesConfigurationType = function (input, context) {\n return __assign({}, (input.Rules !== undefined &&\n input.Rules !== null && { Rules: serializeAws_json1_1MappingRulesList(input.Rules, context) }));\n};\nvar serializeAws_json1_1SAMLProviderList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1SetIdentityPoolRolesInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.RoleMappings !== undefined &&\n input.RoleMappings !== null && { RoleMappings: serializeAws_json1_1RoleMappingMap(input.RoleMappings, context) })), (input.Roles !== undefined &&\n input.Roles !== null && { Roles: serializeAws_json1_1RolesMap(input.Roles, context) }));\n};\nvar serializeAws_json1_1TagResourceInput = function (input, context) {\n return __assign(__assign({}, (input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn })), (input.Tags !== undefined &&\n input.Tags !== null && { Tags: serializeAws_json1_1IdentityPoolTagsType(input.Tags, context) }));\n};\nvar serializeAws_json1_1UnlinkDeveloperIdentityInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier })), (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1UnlinkIdentityInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) })), (input.LoginsToRemove !== undefined &&\n input.LoginsToRemove !== null && {\n LoginsToRemove: serializeAws_json1_1LoginsList(input.LoginsToRemove, context),\n }));\n};\nvar serializeAws_json1_1UntagResourceInput = function (input, context) {\n return __assign(__assign({}, (input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn })), (input.TagKeys !== undefined &&\n input.TagKeys !== null && { TagKeys: serializeAws_json1_1IdentityPoolTagsListType(input.TagKeys, context) }));\n};\nvar deserializeAws_json1_1CognitoIdentityProvider = function (output, context) {\n return {\n ClientId: output.ClientId !== undefined && output.ClientId !== null ? output.ClientId : undefined,\n ProviderName: output.ProviderName !== undefined && output.ProviderName !== null ? output.ProviderName : undefined,\n ServerSideTokenCheck: output.ServerSideTokenCheck !== undefined && output.ServerSideTokenCheck !== null\n ? output.ServerSideTokenCheck\n : undefined,\n };\n};\nvar deserializeAws_json1_1CognitoIdentityProviderList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\nvar deserializeAws_json1_1ConcurrentModificationException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1Credentials = function (output, context) {\n return {\n AccessKeyId: output.AccessKeyId !== undefined && output.AccessKeyId !== null ? output.AccessKeyId : undefined,\n Expiration: output.Expiration !== undefined && output.Expiration !== null\n ? new Date(Math.round(output.Expiration * 1000))\n : undefined,\n SecretKey: output.SecretKey !== undefined && output.SecretKey !== null ? output.SecretKey : undefined,\n SessionToken: output.SessionToken !== undefined && output.SessionToken !== null ? output.SessionToken : undefined,\n };\n};\nvar deserializeAws_json1_1DeleteIdentitiesResponse = function (output, context) {\n return {\n UnprocessedIdentityIds: output.UnprocessedIdentityIds !== undefined && output.UnprocessedIdentityIds !== null\n ? deserializeAws_json1_1UnprocessedIdentityIdList(output.UnprocessedIdentityIds, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1DeveloperUserAlreadyRegisteredException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1DeveloperUserIdentifierList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1ExternalServiceException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1GetCredentialsForIdentityResponse = function (output, context) {\n return {\n Credentials: output.Credentials !== undefined && output.Credentials !== null\n ? deserializeAws_json1_1Credentials(output.Credentials, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1GetIdentityPoolRolesResponse = function (output, context) {\n return {\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n RoleMappings: output.RoleMappings !== undefined && output.RoleMappings !== null\n ? deserializeAws_json1_1RoleMappingMap(output.RoleMappings, context)\n : undefined,\n Roles: output.Roles !== undefined && output.Roles !== null\n ? deserializeAws_json1_1RolesMap(output.Roles, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1GetIdResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n };\n};\nvar deserializeAws_json1_1GetOpenIdTokenResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n };\n};\nvar deserializeAws_json1_1IdentitiesList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1IdentityDescription(entry, context);\n });\n};\nvar deserializeAws_json1_1IdentityDescription = function (output, context) {\n return {\n CreationDate: output.CreationDate !== undefined && output.CreationDate !== null\n ? new Date(Math.round(output.CreationDate * 1000))\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n LastModifiedDate: output.LastModifiedDate !== undefined && output.LastModifiedDate !== null\n ? new Date(Math.round(output.LastModifiedDate * 1000))\n : undefined,\n Logins: output.Logins !== undefined && output.Logins !== null\n ? deserializeAws_json1_1LoginsList(output.Logins, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1IdentityPool = function (output, context) {\n return {\n AllowClassicFlow: output.AllowClassicFlow !== undefined && output.AllowClassicFlow !== null ? output.AllowClassicFlow : undefined,\n AllowUnauthenticatedIdentities: output.AllowUnauthenticatedIdentities !== undefined && output.AllowUnauthenticatedIdentities !== null\n ? output.AllowUnauthenticatedIdentities\n : undefined,\n CognitoIdentityProviders: output.CognitoIdentityProviders !== undefined && output.CognitoIdentityProviders !== null\n ? deserializeAws_json1_1CognitoIdentityProviderList(output.CognitoIdentityProviders, context)\n : undefined,\n DeveloperProviderName: output.DeveloperProviderName !== undefined && output.DeveloperProviderName !== null\n ? output.DeveloperProviderName\n : undefined,\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName: output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n IdentityPoolTags: output.IdentityPoolTags !== undefined && output.IdentityPoolTags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.IdentityPoolTags, context)\n : undefined,\n OpenIdConnectProviderARNs: output.OpenIdConnectProviderARNs !== undefined && output.OpenIdConnectProviderARNs !== null\n ? deserializeAws_json1_1OIDCProviderList(output.OpenIdConnectProviderARNs, context)\n : undefined,\n SamlProviderARNs: output.SamlProviderARNs !== undefined && output.SamlProviderARNs !== null\n ? deserializeAws_json1_1SAMLProviderList(output.SamlProviderARNs, context)\n : undefined,\n SupportedLoginProviders: output.SupportedLoginProviders !== undefined && output.SupportedLoginProviders !== null\n ? deserializeAws_json1_1IdentityProviders(output.SupportedLoginProviders, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1IdentityPoolShortDescription = function (output, context) {\n return {\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName: output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n };\n};\nvar deserializeAws_json1_1IdentityPoolsList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1IdentityPoolShortDescription(entry, context);\n });\n};\nvar deserializeAws_json1_1IdentityPoolTagsType = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_json1_1IdentityProviders = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_json1_1InternalErrorException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1InvalidIdentityPoolConfigurationException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1InvalidParameterException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1LimitExceededException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1ListIdentitiesResponse = function (output, context) {\n return {\n Identities: output.Identities !== undefined && output.Identities !== null\n ? deserializeAws_json1_1IdentitiesList(output.Identities, context)\n : undefined,\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n };\n};\nvar deserializeAws_json1_1ListIdentityPoolsResponse = function (output, context) {\n return {\n IdentityPools: output.IdentityPools !== undefined && output.IdentityPools !== null\n ? deserializeAws_json1_1IdentityPoolsList(output.IdentityPools, context)\n : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n };\n};\nvar deserializeAws_json1_1ListTagsForResourceResponse = function (output, context) {\n return {\n Tags: output.Tags !== undefined && output.Tags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.Tags, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1LoginsList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1LookupDeveloperIdentityResponse = function (output, context) {\n return {\n DeveloperUserIdentifierList: output.DeveloperUserIdentifierList !== undefined && output.DeveloperUserIdentifierList !== null\n ? deserializeAws_json1_1DeveloperUserIdentifierList(output.DeveloperUserIdentifierList, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n };\n};\nvar deserializeAws_json1_1MappingRule = function (output, context) {\n return {\n Claim: output.Claim !== undefined && output.Claim !== null ? output.Claim : undefined,\n MatchType: output.MatchType !== undefined && output.MatchType !== null ? output.MatchType : undefined,\n RoleARN: output.RoleARN !== undefined && output.RoleARN !== null ? output.RoleARN : undefined,\n Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined,\n };\n};\nvar deserializeAws_json1_1MappingRulesList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1MappingRule(entry, context);\n });\n};\nvar deserializeAws_json1_1MergeDeveloperIdentitiesResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1NotAuthorizedException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1OIDCProviderList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1ResourceConflictException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1ResourceNotFoundException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1RoleMapping = function (output, context) {\n return {\n AmbiguousRoleResolution: output.AmbiguousRoleResolution !== undefined && output.AmbiguousRoleResolution !== null\n ? output.AmbiguousRoleResolution\n : undefined,\n RulesConfiguration: output.RulesConfiguration !== undefined && output.RulesConfiguration !== null\n ? deserializeAws_json1_1RulesConfigurationType(output.RulesConfiguration, context)\n : undefined,\n Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined,\n };\n};\nvar deserializeAws_json1_1RoleMappingMap = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = deserializeAws_json1_1RoleMapping(value, context), _b));\n }, {});\n};\nvar deserializeAws_json1_1RolesMap = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_json1_1RulesConfigurationType = function (output, context) {\n return {\n Rules: output.Rules !== undefined && output.Rules !== null\n ? deserializeAws_json1_1MappingRulesList(output.Rules, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1SAMLProviderList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1TagResourceResponse = function (output, context) {\n return {};\n};\nvar deserializeAws_json1_1TooManyRequestsException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1UnprocessedIdentityId = function (output, context) {\n return {\n ErrorCode: output.ErrorCode !== undefined && output.ErrorCode !== null ? output.ErrorCode : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1UnprocessedIdentityIdList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1UnprocessedIdentityId(entry, context);\n });\n};\nvar deserializeAws_json1_1UntagResourceResponse = function (output, context) {\n return {};\n};\nvar deserializeMetadata = function (output) {\n var _a;\n return ({\n httpStatusCode: output.statusCode,\n requestId: (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n });\n};\n// Collect low-level response body stream to Uint8Array.\nvar collectBody = function (streamBody, context) {\n if (streamBody === void 0) { streamBody = new Uint8Array(); }\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n// Encode Uint8Array data into string with utf-8.\nvar collectBodyString = function (streamBody, context) {\n return collectBody(streamBody, context).then(function (body) { return context.utf8Encoder(body); });\n};\nvar buildHttpRpcRequest = function (context, headers, path, resolvedHostname, body) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, contents;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n contents = {\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n path: path,\n headers: headers,\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return [2 /*return*/, new __HttpRequest(contents)];\n }\n });\n}); };\nvar parseBody = function (streamBody, context) {\n return collectBodyString(streamBody, context).then(function (encoded) {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n });\n};\n/**\n * Load an error code for the aws.rest-json-1.1 protocol.\n */\nvar loadRestJsonErrorCode = function (output, data) {\n var findKey = function (object, key) { return Object.keys(object).find(function (k) { return k.toLowerCase() === key.toLowerCase(); }); };\n var sanitizeErrorCode = function (rawValue) {\n var cleanValue = rawValue;\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n var headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n return \"\";\n};\n//# sourceMappingURL=Aws_json1_1.js.map","import { __extends } from \"tslib\";\nimport { GetCredentialsForIdentityInput, GetCredentialsForIdentityResponse } from \"../models/models_0\";\nimport { deserializeAws_json1_1GetCredentialsForIdentityCommand, serializeAws_json1_1GetCredentialsForIdentityCommand, } from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Returns credentials for the provided identity ID. Any provided logins will be\n * validated against supported login providers. If the token is for\n * cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service\n * with the appropriate role for the token.

\n *

This is a public API. You do not need any credentials to call this API.

\n */\nvar GetCredentialsForIdentityCommand = /** @class */ (function (_super) {\n __extends(GetCredentialsForIdentityCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function GetCredentialsForIdentityCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n GetCredentialsForIdentityCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"CognitoIdentityClient\";\n var commandName = \"GetCredentialsForIdentityCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: GetCredentialsForIdentityInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetCredentialsForIdentityResponse.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n GetCredentialsForIdentityCommand.prototype.serialize = function (input, context) {\n return serializeAws_json1_1GetCredentialsForIdentityCommand(input, context);\n };\n GetCredentialsForIdentityCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_json1_1GetCredentialsForIdentityCommand(output, context);\n };\n return GetCredentialsForIdentityCommand;\n}($Command));\nexport { GetCredentialsForIdentityCommand };\n//# sourceMappingURL=GetCredentialsForIdentityCommand.js.map","import { __extends } from \"tslib\";\n/**\n * An error representing a failure of an individual credential provider.\n *\n * This error class has special meaning to the {@link chain} method. If a\n * provider in the chain is rejected with an error, the chain will only proceed\n * to the next provider if the value of the `tryNextLink` property on the error\n * is truthy. This allows individual providers to halt the chain and also\n * ensures the chain will stop if an entirely unexpected error is encountered.\n */\nvar ProviderError = /** @class */ (function (_super) {\n __extends(ProviderError, _super);\n function ProviderError(message, tryNextLink) {\n if (tryNextLink === void 0) { tryNextLink = true; }\n var _this = _super.call(this, message) || this;\n _this.tryNextLink = tryNextLink;\n return _this;\n }\n return ProviderError;\n}(Error));\nexport { ProviderError };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXJFcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qcm92aWRlckVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7R0FRRztBQUNIO0lBQW1DLGlDQUFLO0lBQ3RDLHVCQUFZLE9BQWUsRUFBa0IsV0FBMkI7UUFBM0IsNEJBQUEsRUFBQSxrQkFBMkI7UUFBeEUsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FDZjtRQUY0QyxpQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7O0lBRXhFLENBQUM7SUFDSCxvQkFBQztBQUFELENBQUMsQUFKRCxDQUFtQyxLQUFLLEdBSXZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbiBlcnJvciByZXByZXNlbnRpbmcgYSBmYWlsdXJlIG9mIGFuIGluZGl2aWR1YWwgY3JlZGVudGlhbCBwcm92aWRlci5cbiAqXG4gKiBUaGlzIGVycm9yIGNsYXNzIGhhcyBzcGVjaWFsIG1lYW5pbmcgdG8gdGhlIHtAbGluayBjaGFpbn0gbWV0aG9kLiBJZiBhXG4gKiBwcm92aWRlciBpbiB0aGUgY2hhaW4gaXMgcmVqZWN0ZWQgd2l0aCBhbiBlcnJvciwgdGhlIGNoYWluIHdpbGwgb25seSBwcm9jZWVkXG4gKiB0byB0aGUgbmV4dCBwcm92aWRlciBpZiB0aGUgdmFsdWUgb2YgdGhlIGB0cnlOZXh0TGlua2AgcHJvcGVydHkgb24gdGhlIGVycm9yXG4gKiBpcyB0cnV0aHkuIFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgcHJvdmlkZXJzIHRvIGhhbHQgdGhlIGNoYWluIGFuZCBhbHNvXG4gKiBlbnN1cmVzIHRoZSBjaGFpbiB3aWxsIHN0b3AgaWYgYW4gZW50aXJlbHkgdW5leHBlY3RlZCBlcnJvciBpcyBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb3ZpZGVyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IHRyeU5leHRMaW5rOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG59XG4iXX0=","import { __read } from \"tslib\";\n/**\n * @internal\n */\nexport function resolveLogins(logins) {\n return Promise.all(Object.keys(logins).reduce(function (arr, name) {\n var tokenOrProvider = logins[name];\n if (typeof tokenOrProvider === \"string\") {\n arr.push([name, tokenOrProvider]);\n }\n else {\n arr.push(tokenOrProvider().then(function (token) { return [name, token]; }));\n }\n return arr;\n }, [])).then(function (resolvedPairs) {\n return resolvedPairs.reduce(function (logins, _a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n logins[key] = value;\n return logins;\n }, {});\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUxvZ2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvbHZlTG9naW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBYztJQUMxQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBd0QsRUFBRSxJQUFZO1FBQ2hHLElBQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRTtZQUN2QyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBcUIsQ0FBQyxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLEtBQUssSUFBSyxPQUFBLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBcUIsRUFBakMsQ0FBaUMsQ0FBQyxDQUFDLENBQUM7U0FDaEY7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUFzQyxDQUFDLENBQzNDLENBQUMsSUFBSSxDQUFDLFVBQUMsYUFBYTtRQUNuQixPQUFBLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBQyxNQUFzQixFQUFFLEVBQVk7Z0JBQVosS0FBQSxhQUFZLEVBQVgsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFBO1lBQ3ZELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDcEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLEVBQW9CLENBQUM7SUFIeEIsQ0FHd0IsQ0FDekIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dpbnMsIFJlc29sdmVkTG9naW5zIH0gZnJvbSBcIi4vTG9naW5zXCI7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTG9naW5zKGxvZ2luczogTG9naW5zKTogUHJvbWlzZTxSZXNvbHZlZExvZ2lucz4ge1xuICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgT2JqZWN0LmtleXMobG9naW5zKS5yZWR1Y2UoKGFycjogQXJyYXk8W3N0cmluZywgc3RyaW5nXSB8IFByb21pc2U8W3N0cmluZywgc3RyaW5nXT4+LCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHRva2VuT3JQcm92aWRlciA9IGxvZ2luc1tuYW1lXTtcbiAgICAgIGlmICh0eXBlb2YgdG9rZW5PclByb3ZpZGVyID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGFyci5wdXNoKFtuYW1lLCB0b2tlbk9yUHJvdmlkZXJdIGFzIFtzdHJpbmcsIHN0cmluZ10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXJyLnB1c2godG9rZW5PclByb3ZpZGVyKCkudGhlbigodG9rZW4pID0+IFtuYW1lLCB0b2tlbl0gYXMgW3N0cmluZywgc3RyaW5nXSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9LCBbXSBhcyBBcnJheTxQcm9taXNlPFtzdHJpbmcsIHN0cmluZ10+PilcbiAgKS50aGVuKChyZXNvbHZlZFBhaXJzKSA9PlxuICAgIHJlc29sdmVkUGFpcnMucmVkdWNlKChsb2dpbnM6IFJlc29sdmVkTG9naW5zLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGxvZ2luc1trZXldID0gdmFsdWU7XG4gICAgICByZXR1cm4gbG9naW5zO1xuICAgIH0sIHt9IGFzIFJlc29sdmVkTG9naW5zKVxuICApO1xufVxuIl19","import { __awaiter, __generator } from \"tslib\";\nimport { GetCredentialsForIdentityCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { resolveLogins } from \"./resolveLogins\";\n/**\n * Retrieves temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from this function call are not cached internally.\n */\nexport function fromCognitoIdentity(parameters) {\n var _this = this;\n return function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, _b, _c, AccessKeyId, Expiration, _d, SecretKey, SessionToken, _e, _f, _g, _h;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _f = (_e = parameters.client).send;\n _g = GetCredentialsForIdentityCommand.bind;\n _j = {\n CustomRoleArn: parameters.customRoleArn,\n IdentityId: parameters.identityId\n };\n if (!parameters.logins) return [3 /*break*/, 2];\n return [4 /*yield*/, resolveLogins(parameters.logins)];\n case 1:\n _h = _k.sent();\n return [3 /*break*/, 3];\n case 2:\n _h = undefined;\n _k.label = 3;\n case 3: return [4 /*yield*/, _f.apply(_e, [new (_g.apply(GetCredentialsForIdentityCommand, [void 0, (_j.Logins = _h,\n _j)]))()])];\n case 4:\n _a = (_k.sent()).Credentials, _b = _a === void 0 ? throwOnMissingCredentials() : _a, _c = _b.AccessKeyId, AccessKeyId = _c === void 0 ? throwOnMissingAccessKeyId() : _c, Expiration = _b.Expiration, _d = _b.SecretKey, SecretKey = _d === void 0 ? throwOnMissingSecretKey() : _d, SessionToken = _b.SessionToken;\n return [2 /*return*/, {\n identityId: parameters.identityId,\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n }];\n }\n });\n }); };\n}\nfunction throwOnMissingAccessKeyId() {\n throw new ProviderError(\"Response from Amazon Cognito contained no access key ID\");\n}\nfunction throwOnMissingCredentials() {\n throw new ProviderError(\"Response from Amazon Cognito contained no credentials\");\n}\nfunction throwOnMissingSecretKey() {\n throw new ProviderError(\"Response from Amazon Cognito contained no secret key\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvZ25pdG9JZGVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcm9tQ29nbml0b0lkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBU2hEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFVBQXlDO0lBQTdFLGlCQXlCQztJQXhCQyxPQUFPOzs7Ozs7b0JBUUssS0FBQSxDQUFBLEtBQUEsVUFBVSxDQUFDLE1BQU0sQ0FBQSxDQUFDLElBQUksQ0FBQTt5QkFDMUIsZ0NBQWdDOzt3QkFDbEMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhO3dCQUN2QyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVU7O3lCQUN6QixVQUFVLENBQUMsTUFBTSxFQUFqQix3QkFBaUI7b0JBQUcscUJBQU0sYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBQTs7b0JBQXRDLEtBQUEsU0FBc0MsQ0FBQTs7O29CQUFHLEtBQUEsU0FBUyxDQUFBOzt3QkFKOUUscUJBQU0sY0FDUixjQUFJLGdDQUFnQyxZQUdsQyxTQUFNLEtBQXdFO3dDQUM5RSxFQUNILEVBQUE7O29CQVpDLEtBTUUsQ0FBQSxTQU1ILENBQUEsWUFQZ0MsRUFML0IscUJBS0kseUJBQXlCLEVBQUUsS0FBQSxFQUo3QixtQkFBeUMsRUFBekMsV0FBVyxtQkFBRyx5QkFBeUIsRUFBRSxLQUFBLEVBQ3pDLFVBQVUsZ0JBQUEsRUFDVixpQkFBcUMsRUFBckMsU0FBUyxtQkFBRyx1QkFBdUIsRUFBRSxLQUFBLEVBQ3JDLFlBQVksa0JBQUE7b0JBVWhCLHNCQUFPOzRCQUNMLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTs0QkFDakMsV0FBVyxFQUFFLFdBQVc7NEJBQ3hCLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixZQUFZLEVBQUUsWUFBWTs0QkFDMUIsVUFBVSxFQUFFLFVBQVU7eUJBQ3ZCLEVBQUM7OztTQUNILENBQUM7QUFDSixDQUFDO0FBVUQsU0FBUyx5QkFBeUI7SUFDaEMsTUFBTSxJQUFJLGFBQWEsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRCxTQUFTLHlCQUF5QjtJQUNoQyxNQUFNLElBQUksYUFBYSxDQUFDLHVEQUF1RCxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELFNBQVMsdUJBQXVCO0lBQzlCLE1BQU0sSUFBSSxhQUFhLENBQUMsc0RBQXNELENBQUMsQ0FBQztBQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0Q3JlZGVudGlhbHNGb3JJZGVudGl0eUNvbW1hbmQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZ25pdG8taWRlbnRpdHlcIjtcbmltcG9ydCB7IFByb3ZpZGVyRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvcHJvcGVydHktcHJvdmlkZXJcIjtcbmltcG9ydCB7IENyZWRlbnRpYWxQcm92aWRlciwgQ3JlZGVudGlhbHMgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQ29nbml0b1Byb3ZpZGVyUGFyYW1ldGVycyB9IGZyb20gXCIuL0NvZ25pdG9Qcm92aWRlclBhcmFtZXRlcnNcIjtcbmltcG9ydCB7IHJlc29sdmVMb2dpbnMgfSBmcm9tIFwiLi9yZXNvbHZlTG9naW5zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29nbml0b0lkZW50aXR5Q3JlZGVudGlhbHMgZXh0ZW5kcyBDcmVkZW50aWFscyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBJRCByZXR1cm5lZCBieSB0aGUgbGFzdCBjYWxsIHRvIEFXUy5Db2duaXRvSWRlbnRpdHkuZ2V0T3BlbklkVG9rZW4oKS5cbiAgICovXG4gIGlkZW50aXR5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGVtcG9yYXJ5IEFXUyBjcmVkZW50aWFscyB1c2luZyBBbWF6b24gQ29nbml0bydzXG4gKiBgR2V0Q3JlZGVudGlhbHNGb3JJZGVudGl0eWAgb3BlcmF0aW9uLlxuICpcbiAqIFJlc3VsdHMgZnJvbSB0aGlzIGZ1bmN0aW9uIGNhbGwgYXJlIG5vdCBjYWNoZWQgaW50ZXJuYWxseS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21Db2duaXRvSWRlbnRpdHkocGFyYW1ldGVyczogRnJvbUNvZ25pdG9JZGVudGl0eVBhcmFtZXRlcnMpOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICByZXR1cm4gYXN5bmMgKCk6IFByb21pc2U8Q29nbml0b0lkZW50aXR5Q3JlZGVudGlhbHM+ID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBDcmVkZW50aWFsczoge1xuICAgICAgICBBY2Nlc3NLZXlJZCA9IHRocm93T25NaXNzaW5nQWNjZXNzS2V5SWQoKSxcbiAgICAgICAgRXhwaXJhdGlvbixcbiAgICAgICAgU2VjcmV0S2V5ID0gdGhyb3dPbk1pc3NpbmdTZWNyZXRLZXkoKSxcbiAgICAgICAgU2Vzc2lvblRva2VuLFxuICAgICAgfSA9IHRocm93T25NaXNzaW5nQ3JlZGVudGlhbHMoKSxcbiAgICB9ID0gYXdhaXQgcGFyYW1ldGVycy5jbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRDcmVkZW50aWFsc0ZvcklkZW50aXR5Q29tbWFuZCh7XG4gICAgICAgIEN1c3RvbVJvbGVBcm46IHBhcmFtZXRlcnMuY3VzdG9tUm9sZUFybixcbiAgICAgICAgSWRlbnRpdHlJZDogcGFyYW1ldGVycy5pZGVudGl0eUlkLFxuICAgICAgICBMb2dpbnM6IHBhcmFtZXRlcnMubG9naW5zID8gYXdhaXQgcmVzb2x2ZUxvZ2lucyhwYXJhbWV0ZXJzLmxvZ2lucykgOiB1bmRlZmluZWQsXG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWRlbnRpdHlJZDogcGFyYW1ldGVycy5pZGVudGl0eUlkLFxuICAgICAgYWNjZXNzS2V5SWQ6IEFjY2Vzc0tleUlkLFxuICAgICAgc2VjcmV0QWNjZXNzS2V5OiBTZWNyZXRLZXksXG4gICAgICBzZXNzaW9uVG9rZW46IFNlc3Npb25Ub2tlbixcbiAgICAgIGV4cGlyYXRpb246IEV4cGlyYXRpb24sXG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcm9tQ29nbml0b0lkZW50aXR5UGFyYW1ldGVycyBleHRlbmRzIENvZ25pdG9Qcm92aWRlclBhcmFtZXRlcnMge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaWRlbnRpdHkgYWdhaW5zdCB3aGljaCBjcmVkZW50aWFscyB3aWxsIGJlXG4gICAqIGlzc3VlZC5cbiAgICovXG4gIGlkZW50aXR5SWQ6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gdGhyb3dPbk1pc3NpbmdBY2Nlc3NLZXlJZCgpOiBuZXZlciB7XG4gIHRocm93IG5ldyBQcm92aWRlckVycm9yKFwiUmVzcG9uc2UgZnJvbSBBbWF6b24gQ29nbml0byBjb250YWluZWQgbm8gYWNjZXNzIGtleSBJRFwiKTtcbn1cblxuZnVuY3Rpb24gdGhyb3dPbk1pc3NpbmdDcmVkZW50aWFscygpOiBuZXZlciB7XG4gIHRocm93IG5ldyBQcm92aWRlckVycm9yKFwiUmVzcG9uc2UgZnJvbSBBbWF6b24gQ29nbml0byBjb250YWluZWQgbm8gY3JlZGVudGlhbHNcIik7XG59XG5cbmZ1bmN0aW9uIHRocm93T25NaXNzaW5nU2VjcmV0S2V5KCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IFByb3ZpZGVyRXJyb3IoXCJSZXNwb25zZSBmcm9tIEFtYXpvbiBDb2duaXRvIGNvbnRhaW5lZCBubyBzZWNyZXQga2V5XCIpO1xufVxuIl19","import { __extends } from \"tslib\";\nimport { GetIdInput, GetIdResponse } from \"../models/models_0\";\nimport { deserializeAws_json1_1GetIdCommand, serializeAws_json1_1GetIdCommand } from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an\n * implicit linked account.

\n *

This is a public API. You do not need any credentials to call this API.

\n */\nvar GetIdCommand = /** @class */ (function (_super) {\n __extends(GetIdCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function GetIdCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n GetIdCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"CognitoIdentityClient\";\n var commandName = \"GetIdCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: GetIdInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetIdResponse.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n GetIdCommand.prototype.serialize = function (input, context) {\n return serializeAws_json1_1GetIdCommand(input, context);\n };\n GetIdCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_json1_1GetIdCommand(output, context);\n };\n return GetIdCommand;\n}($Command));\nexport { GetIdCommand };\n//# sourceMappingURL=GetIdCommand.js.map","var STORE_NAME = \"IdentityIds\";\nvar IndexedDbStorage = /** @class */ (function () {\n function IndexedDbStorage(dbName) {\n if (dbName === void 0) { dbName = \"aws:cognito-identity-ids\"; }\n this.dbName = dbName;\n }\n IndexedDbStorage.prototype.getItem = function (key) {\n return this.withObjectStore(\"readonly\", function (store) {\n var req = store.get(key);\n return new Promise(function (resolve) {\n req.onerror = function () { return resolve(null); };\n req.onsuccess = function () { return resolve(req.result ? req.result.value : null); };\n });\n }).catch(function () { return null; });\n };\n IndexedDbStorage.prototype.removeItem = function (key) {\n return this.withObjectStore(\"readwrite\", function (store) {\n var req = store.delete(key);\n return new Promise(function (resolve, reject) {\n req.onerror = function () { return reject(req.error); };\n req.onsuccess = function () { return resolve(); };\n });\n });\n };\n IndexedDbStorage.prototype.setItem = function (id, value) {\n return this.withObjectStore(\"readwrite\", function (store) {\n var req = store.put({ id: id, value: value });\n return new Promise(function (resolve, reject) {\n req.onerror = function () { return reject(req.error); };\n req.onsuccess = function () { return resolve(); };\n });\n });\n };\n IndexedDbStorage.prototype.getDb = function () {\n var openDbRequest = self.indexedDB.open(this.dbName, 1);\n return new Promise(function (resolve, reject) {\n openDbRequest.onsuccess = function () {\n resolve(openDbRequest.result);\n };\n openDbRequest.onerror = function () {\n reject(openDbRequest.error);\n };\n openDbRequest.onblocked = function () {\n reject(new Error(\"Unable to access DB\"));\n };\n openDbRequest.onupgradeneeded = function () {\n var db = openDbRequest.result;\n db.onerror = function () {\n reject(new Error(\"Failed to create object store\"));\n };\n db.createObjectStore(STORE_NAME, { keyPath: \"id\" });\n };\n });\n };\n IndexedDbStorage.prototype.withObjectStore = function (mode, action) {\n return this.getDb().then(function (db) {\n var tx = db.transaction(STORE_NAME, mode);\n tx.oncomplete = function () { return db.close(); };\n return new Promise(function (resolve, reject) {\n tx.onerror = function () { return reject(tx.error); };\n resolve(action(tx.objectStore(STORE_NAME)));\n }).catch(function (err) {\n db.close();\n throw err;\n });\n });\n };\n return IndexedDbStorage;\n}());\nexport { IndexedDbStorage };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhlZERiU3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9JbmRleGVkRGJTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztBQUVqQztJQUNFLDBCQUE2QixNQUEyQztRQUEzQyx1QkFBQSxFQUFBLG1DQUEyQztRQUEzQyxXQUFNLEdBQU4sTUFBTSxDQUFxQztJQUFHLENBQUM7SUFFNUUsa0NBQU8sR0FBUCxVQUFRLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxVQUFDLEtBQUs7WUFDNUMsSUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUzQixPQUFPLElBQUksT0FBTyxDQUFnQixVQUFDLE9BQU87Z0JBQ3hDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsY0FBTSxPQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBYixDQUFhLENBQUM7Z0JBRWxDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsY0FBTSxPQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQTdDLENBQTZDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQscUNBQVUsR0FBVixVQUFXLEdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxVQUFDLEtBQUs7WUFDN0MsSUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU5QixPQUFPLElBQUksT0FBTyxDQUFPLFVBQUMsT0FBTyxFQUFFLE1B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S0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxHQUFHLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILHVCQUFDO0FBQUQsQ0FBQyxBQWhGRCxJQWdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tIFwiLi9TdG9yYWdlXCI7XG5cbmNvbnN0IFNUT1JFX05BTUUgPSBcIklkZW50aXR5SWRzXCI7XG5cbmV4cG9ydCBjbGFzcyBJbmRleGVkRGJTdG9yYWdlIGltcGxlbWVudHMgU3RvcmFnZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGJOYW1lOiBzdHJpbmcgPSBcImF3czpjb2duaXRvLWlkZW50aXR5LWlkc1wiKSB7fVxuXG4gIGdldEl0ZW0oa2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy53aXRoT2JqZWN0U3RvcmUoXCJyZWFkb25seVwiLCAoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHJlcSA9IHN0b3JlLmdldChrZXkpO1xuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nIHwgbnVsbD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgcmVxLm9uZXJyb3IgPSAoKSA9PiByZXNvbHZlKG51bGwpO1xuXG4gICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSAoKSA9PiByZXNvbHZlKHJlcS5yZXN1bHQgPyByZXEucmVzdWx0LnZhbHVlIDogbnVsbCk7XG4gICAgICB9KTtcbiAgICB9KS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy53aXRoT2JqZWN0U3RvcmUoXCJyZWFkd3JpdGVcIiwgKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCByZXEgPSBzdG9yZS5kZWxldGUoa2V5KTtcblxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgcmVxLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxLmVycm9yKTtcblxuICAgICAgICByZXEub25zdWNjZXNzID0gKCkgPT4gcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzZXRJdGVtKGlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy53aXRoT2JqZWN0U3RvcmUoXCJyZWFkd3JpdGVcIiwgKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCByZXEgPSBzdG9yZS5wdXQoeyBpZCwgdmFsdWUgfSk7XG5cbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHJlcS5vbmVycm9yID0gKCkgPT4gcmVqZWN0KHJlcS5lcnJvcik7XG5cbiAgICAgICAgcmVxLm9uc3VjY2VzcyA9ICgpID0+IHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYigpOiBQcm9taXNlPElEQkRhdGFiYXNlPiB7XG4gICAgY29uc3Qgb3BlbkRiUmVxdWVzdCA9IHNlbGYuaW5kZXhlZERCLm9wZW4odGhpcy5kYk5hbWUsIDEpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBvcGVuRGJSZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpID0+IHtcbiAgICAgICAgcmVzb2x2ZShvcGVuRGJSZXF1ZXN0LnJlc3VsdCk7XG4gICAgICB9O1xuXG4gICAgICBvcGVuRGJSZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIHJlamVjdChvcGVuRGJSZXF1ZXN0LmVycm9yKTtcbiAgICAgIH07XG5cbiAgICAgIG9wZW5EYlJlcXVlc3Qub25ibG9ja2VkID0gKCkgPT4ge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKFwiVW5hYmxlIHRvIGFjY2VzcyBEQlwiKSk7XG4gICAgICB9O1xuXG4gICAgICBvcGVuRGJSZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZGIgPSBvcGVuRGJSZXF1ZXN0LnJlc3VsdDtcbiAgICAgICAgZGIub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKFwiRmFpbGVkIHRvIGNyZWF0ZSBvYmplY3Qgc3RvcmVcIikpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKFNUT1JFX05BTUUsIHsga2V5UGF0aDogXCJpZFwiIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgd2l0aE9iamVjdFN0b3JlPFI+KG1vZGU6IElEQlRyYW5zYWN0aW9uTW9kZSwgYWN0aW9uOiAoc3RvcmU6IElEQk9iamVjdFN0b3JlKSA9PiBQcm9taXNlPFI+KTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGIoKS50aGVuKChkYikgPT4ge1xuICAgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbihTVE9SRV9OQU1FLCBtb2RlKTtcbiAgICAgIHR4Lm9uY29tcGxldGUgPSAoKSA9PiBkYi5jbG9zZSgpO1xuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0eC5vbmVycm9yID0gKCkgPT4gcmVqZWN0KHR4LmVycm9yKTtcblxuICAgICAgICByZXNvbHZlKGFjdGlvbih0eC5vYmplY3RTdG9yZShTVE9SRV9OQU1FKSkpO1xuICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19","var InMemoryStorage = /** @class */ (function () {\n function InMemoryStorage(store) {\n if (store === void 0) { store = {}; }\n this.store = store;\n }\n InMemoryStorage.prototype.getItem = function (key) {\n if (key in this.store) {\n return this.store[key];\n }\n return null;\n };\n InMemoryStorage.prototype.removeItem = function (key) {\n delete this.store[key];\n };\n InMemoryStorage.prototype.setItem = function (key, value) {\n this.store[key] = value;\n };\n return InMemoryStorage;\n}());\nexport { InMemoryStorage };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5NZW1vcnlTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0luTWVtb3J5U3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtJQUNFLHlCQUFvQixLQUFxQztRQUFyQyxzQkFBQSxFQUFBLFVBQXFDO1FBQXJDLFVBQUssR0FBTCxLQUFLLENBQWdDO0lBQUcsQ0FBQztJQUU3RCxpQ0FBTyxHQUFQLFVBQVEsR0FBVztRQUNqQixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG9DQUFVLEdBQVYsVUFBVyxHQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsaUNBQU8sR0FBUCxVQUFRLEdBQVcsRUFBRSxLQUFhO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUFsQkQsSUFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xuXG5leHBvcnQgY2xhc3MgSW5NZW1vcnlTdG9yYWdlIGltcGxlbWVudHMgU3RvcmFnZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSkge31cblxuICBnZXRJdGVtKGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKGtleSBpbiB0aGlzLnN0b3JlKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9yZVtrZXldO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLnN0b3JlW2tleV07XG4gIH1cblxuICBzZXRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZVtrZXldID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==","import { IndexedDbStorage } from \"./IndexedDbStorage\";\nimport { InMemoryStorage } from \"./InMemoryStorage\";\nvar inMemoryStorage = new InMemoryStorage();\nexport function localStorage() {\n if (typeof self === \"object\" && self.indexedDB) {\n return new IndexedDbStorage();\n }\n if (typeof window === \"object\" && window.localStorage) {\n return window.localStorage;\n }\n return inMemoryStorage;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvY2FsU3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHcEQsSUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUU5QyxNQUFNLFVBQVUsWUFBWTtJQUMxQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQzlDLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQy9CO0lBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtRQUNyRCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7S0FDNUI7SUFFRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5kZXhlZERiU3RvcmFnZSB9IGZyb20gXCIuL0luZGV4ZWREYlN0b3JhZ2VcIjtcbmltcG9ydCB7IEluTWVtb3J5U3RvcmFnZSB9IGZyb20gXCIuL0luTWVtb3J5U3RvcmFnZVwiO1xuaW1wb3J0IHsgU3RvcmFnZSB9IGZyb20gXCIuL1N0b3JhZ2VcIjtcblxuY29uc3QgaW5NZW1vcnlTdG9yYWdlID0gbmV3IEluTWVtb3J5U3RvcmFnZSgpO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxTdG9yYWdlKCk6IFN0b3JhZ2Uge1xuICBpZiAodHlwZW9mIHNlbGYgPT09IFwib2JqZWN0XCIgJiYgc2VsZi5pbmRleGVkREIpIHtcbiAgICByZXR1cm4gbmV3IEluZGV4ZWREYlN0b3JhZ2UoKTtcbiAgfVxuXG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2UpIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgfVxuXG4gIHJldHVybiBpbk1lbW9yeVN0b3JhZ2U7XG59XG4iXX0=","import { __awaiter, __generator } from \"tslib\";\nimport { GetIdCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { fromCognitoIdentity } from \"./fromCognitoIdentity\";\nimport { localStorage } from \"./localStorage\";\nimport { resolveLogins } from \"./resolveLogins\";\n/**\n * Retrieves or generates a unique identifier using Amazon Cognito's `GetId`\n * operation, then generates temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from `GetId` are cached internally, but results from\n * `GetCredentialsForIdentity` are not.\n */\nexport function fromCognitoIdentityPool(_a) {\n var _this = this;\n var accountId = _a.accountId, _b = _a.cache, cache = _b === void 0 ? localStorage() : _b, client = _a.client, customRoleArn = _a.customRoleArn, identityPoolId = _a.identityPoolId, logins = _a.logins, _c = _a.userIdentifier, userIdentifier = _c === void 0 ? !logins || Object.keys(logins).length === 0 ? \"ANONYMOUS\" : undefined : _c;\n var cacheKey = userIdentifier ? \"aws:cognito-identity-credentials:\" + identityPoolId + \":\" + userIdentifier : undefined;\n var provider = function () { return __awaiter(_this, void 0, void 0, function () {\n var identityId, _a, _b, IdentityId, _c, _d, _e, _f;\n var _g;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n _a = cacheKey;\n if (!_a) return [3 /*break*/, 2];\n return [4 /*yield*/, cache.getItem(cacheKey)];\n case 1:\n _a = (_h.sent());\n _h.label = 2;\n case 2:\n identityId = _a;\n if (!!identityId) return [3 /*break*/, 7];\n _d = (_c = client).send;\n _e = GetIdCommand.bind;\n _g = {\n AccountId: accountId,\n IdentityPoolId: identityPoolId\n };\n if (!logins) return [3 /*break*/, 4];\n return [4 /*yield*/, resolveLogins(logins)];\n case 3:\n _f = _h.sent();\n return [3 /*break*/, 5];\n case 4:\n _f = undefined;\n _h.label = 5;\n case 5: return [4 /*yield*/, _d.apply(_c, [new (_e.apply(GetIdCommand, [void 0, (_g.Logins = _f,\n _g)]))()])];\n case 6:\n _b = (_h.sent()).IdentityId, IdentityId = _b === void 0 ? throwOnMissingId() : _b;\n identityId = IdentityId;\n if (cacheKey) {\n Promise.resolve(cache.setItem(cacheKey, identityId)).catch(function () { });\n }\n _h.label = 7;\n case 7:\n provider = fromCognitoIdentity({\n client: client,\n customRoleArn: customRoleArn,\n logins: logins,\n identityId: identityId,\n });\n return [2 /*return*/, provider()];\n }\n });\n }); };\n return function () {\n return provider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (cacheKey) {\n Promise.resolve(cache.removeItem(cacheKey)).catch(function () { });\n }\n throw err;\n });\n }); });\n };\n}\nfunction throwOnMissingId() {\n throw new ProviderError(\"Response from Amazon Cognito contained no identity ID\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvZ25pdG9JZGVudGl0eVBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnJvbUNvZ25pdG9JZGVudGl0eVBvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdoRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEVBUUo7SUFScEMsaUJBNkNDO1FBNUNDLFNBQVMsZUFBQSxFQUNULGFBQXNCLEVBQXRCLEtBQUssbUJBQUcsWUFBWSxFQUFFLEtBQUEsRUFDdEIsTUFBTSxZQUFBLEVBQ04sYUFBYSxtQkFBQSxFQUNiLGNBQWMsb0JBQUEsRUFDZCxNQUFNLFlBQUEsRUFDTixzQkFBc0YsRUFBdEYsY0FBYyxtQkFBRyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFBO0lBRXRGLElBQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsc0NBQW9DLGNBQWMsU0FBSSxjQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFckgsSUFBSSxRQUFRLEdBQXVCOzs7Ozs7b0JBQ2hCLEtBQUEsUUFBUSxDQUFBOzZCQUFSLHdCQUFRO29CQUFLLHFCQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUE7O29CQUE5QixLQUFBLENBQUMsU0FBNkIsQ0FBQyxDQUFBOzs7b0JBQXhELFVBQVUsS0FBOEM7eUJBQ3hELENBQUMsVUFBVSxFQUFYLHdCQUFXO29CQUNxQyxLQUFBLENBQUEsS0FBQSxNQUFNLENBQUEsQ0FBQyxJQUFJLENBQUE7eUJBQ3ZELFlBQVk7O3dCQUNkLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixjQUFjLEVBQUUsY0FBYzs7eUJBQ3RCLE1BQU0sRUFBTix3QkFBTTtvQkFBRyxxQkFBTSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUE7O29CQUEzQixLQUFBLFNBQTJCLENBQUE7OztvQkFBRyxLQUFBLFNBQVMsQ0FBQTs7d0JBSmhCLHFCQUFNLGNBQ2hELGNBQUksWUFBWSxZQUdkLFNBQU0sS0FBa0Q7d0NBQ3hELEVBQ0gsRUFBQTs7b0JBTk8sS0FBb0MsQ0FBQSxTQU0zQyxDQUFBLFdBTnNDLEVBQS9CLFVBQVUsbUJBQUcsZ0JBQWdCLEVBQUUsS0FBQTtvQkFPdkMsVUFBVSxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsSUFBSSxRQUFRLEVBQUU7d0JBQ1osT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO3FCQUN0RTs7O29CQUdILFFBQVEsR0FBRyxtQkFBbUIsQ0FBQzt3QkFDN0IsTUFBTSxRQUFBO3dCQUNOLGFBQWEsZUFBQTt3QkFDYixNQUFNLFFBQUE7d0JBQ04sVUFBVSxZQUFBO3FCQUNYLENBQUMsQ0FBQztvQkFFSCxzQkFBTyxRQUFRLEVBQUUsRUFBQzs7O1NBQ25CLENBQUM7SUFFRixPQUFPO1FBQ0wsT0FBQSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBTyxHQUFHOztnQkFDekIsSUFBSSxRQUFRLEVBQUU7b0JBQ1osT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7aUJBQzdEO2dCQUVELE1BQU0sR0FBRyxDQUFDOzthQUNYLENBQUM7SUFORixDQU1FLENBQUM7QUFDUCxDQUFDO0FBc0NELFNBQVMsZ0JBQWdCO0lBQ3ZCLE1BQU0sSUFBSSxhQUFhLENBQUMsdURBQXVELENBQUMsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SWRDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jb2duaXRvLWlkZW50aXR5XCI7XG5pbXBvcnQgeyBQcm92aWRlckVycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBDcmVkZW50aWFsUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQ29nbml0b1Byb3ZpZGVyUGFyYW1ldGVycyB9IGZyb20gXCIuL0NvZ25pdG9Qcm92aWRlclBhcmFtZXRlcnNcIjtcbmltcG9ydCB7IGZyb21Db2duaXRvSWRlbnRpdHkgfSBmcm9tIFwiLi9mcm9tQ29nbml0b0lkZW50aXR5XCI7XG5pbXBvcnQgeyBsb2NhbFN0b3JhZ2UgfSBmcm9tIFwiLi9sb2NhbFN0b3JhZ2VcIjtcbmltcG9ydCB7IHJlc29sdmVMb2dpbnMgfSBmcm9tIFwiLi9yZXNvbHZlTG9naW5zXCI7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xuXG4vKipcbiAqIFJldHJpZXZlcyBvciBnZW5lcmF0ZXMgYSB1bmlxdWUgaWRlbnRpZmllciB1c2luZyBBbWF6b24gQ29nbml0bydzIGBHZXRJZGBcbiAqIG9wZXJhdGlvbiwgdGhlbiBnZW5lcmF0ZXMgdGVtcG9yYXJ5IEFXUyBjcmVkZW50aWFscyB1c2luZyBBbWF6b24gQ29nbml0bydzXG4gKiBgR2V0Q3JlZGVudGlhbHNGb3JJZGVudGl0eWAgb3BlcmF0aW9uLlxuICpcbiAqIFJlc3VsdHMgZnJvbSBgR2V0SWRgIGFyZSBjYWNoZWQgaW50ZXJuYWxseSwgYnV0IHJlc3VsdHMgZnJvbVxuICogYEdldENyZWRlbnRpYWxzRm9ySWRlbnRpdHlgIGFyZSBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tQ29nbml0b0lkZW50aXR5UG9vbCh7XG4gIGFjY291bnRJZCxcbiAgY2FjaGUgPSBsb2NhbFN0b3JhZ2UoKSxcbiAgY2xpZW50LFxuICBjdXN0b21Sb2xlQXJuLFxuICBpZGVudGl0eVBvb2xJZCxcbiAgbG9naW5zLFxuICB1c2VySWRlbnRpZmllciA9ICFsb2dpbnMgfHwgT2JqZWN0LmtleXMobG9naW5zKS5sZW5ndGggPT09IDAgPyBcIkFOT05ZTU9VU1wiIDogdW5kZWZpbmVkLFxufTogRnJvbUNvZ25pdG9JZGVudGl0eVBvb2xQYXJhbWV0ZXJzKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgY29uc3QgY2FjaGVLZXkgPSB1c2VySWRlbnRpZmllciA/IGBhd3M6Y29nbml0by1pZGVudGl0eS1jcmVkZW50aWFsczoke2lkZW50aXR5UG9vbElkfToke3VzZXJJZGVudGlmaWVyfWAgOiB1bmRlZmluZWQ7XG5cbiAgbGV0IHByb3ZpZGVyOiBDcmVkZW50aWFsUHJvdmlkZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgbGV0IGlkZW50aXR5SWQgPSBjYWNoZUtleSAmJiAoYXdhaXQgY2FjaGUuZ2V0SXRlbShjYWNoZUtleSkpO1xuICAgIGlmICghaWRlbnRpdHlJZCkge1xuICAgICAgY29uc3QgeyBJZGVudGl0eUlkID0gdGhyb3dPbk1pc3NpbmdJZCgpIH0gPSBhd2FpdCBjbGllbnQuc2VuZChcbiAgICAgICAgbmV3IEdldElkQ29tbWFuZCh7XG4gICAgICAgICAgQWNjb3VudElkOiBhY2NvdW50SWQsXG4gICAgICAgICAgSWRlbnRpdHlQb29sSWQ6IGlkZW50aXR5UG9vbElkLFxuICAgICAgICAgIExvZ2luczogbG9naW5zID8gYXdhaXQgcmVzb2x2ZUxvZ2lucyhsb2dpbnMpIDogdW5kZWZpbmVkLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIGlkZW50aXR5SWQgPSBJZGVudGl0eUlkO1xuICAgICAgaWYgKGNhY2hlS2V5KSB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShjYWNoZS5zZXRJdGVtKGNhY2hlS2V5LCBpZGVudGl0eUlkKSkuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3ZpZGVyID0gZnJvbUNvZ25pdG9JZGVudGl0eSh7XG4gICAgICBjbGllbnQsXG4gICAgICBjdXN0b21Sb2xlQXJuLFxuICAgICAgbG9naW5zLFxuICAgICAgaWRlbnRpdHlJZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBwcm92aWRlcigpO1xuICB9O1xuXG4gIHJldHVybiAoKSA9PlxuICAgIHByb3ZpZGVyKCkuY2F0Y2goYXN5bmMgKGVycikgPT4ge1xuICAgICAgaWYgKGNhY2hlS2V5KSB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShjYWNoZS5yZW1vdmVJdGVtKGNhY2hlS2V5KSkuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbUNvZ25pdG9JZGVudGl0eVBvb2xQYXJhbWV0ZXJzIGV4dGVuZHMgQ29nbml0b1Byb3ZpZGVyUGFyYW1ldGVycyB7XG4gIC8qKlxuICAgKiBBIHN0YW5kYXJkIEFXUyBhY2NvdW50IElEICg5KyBkaWdpdHMpLlxuICAgKi9cbiAgYWNjb3VudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGNhY2hlIGluIHdoaWNoIHRvIHN0b3JlIHJlc29sdmVkIENvZ25pdG8gSWRlbnRpdHlJZHMuIElmIG5vdCBzdXBwbGllZCxcbiAgICogdGhlIGNyZWRlbnRpYWwgcHJvdmlkZXIgd2lsbCBhdHRlbXB0IHRvIHN0b3JlIElkZW50aXR5SWRzIGluIG9uZSBvZiB0aGVcbiAgICogZm9sbG93aW5nIChpbiBvcmRlciBvZiBwcmVmZXJlbmNlKTpcbiAgICogICAxLiBJbmRleGVkREJcbiAgICogICAyLiBMb2NhbFN0b3JhZ2VcbiAgICogICAzLiBBbiBpbi1tZW1vcnkgY2FjaGUgb2JqZWN0IHRoYXQgd2lsbCBub3QgcGVyc2lzdCBiZXR3ZWVuIHBhZ2VzLlxuICAgKlxuICAgKiBJbmRleGVkREIgaXMgcHJlZmVycmVkIHRvIG1heGltaXplIGRhdGEgc2hhcmluZyBiZXR3ZWVuIHRvcC1sZXZlbFxuICAgKiBicm93c2luZyBjb250ZXh0cyBhbmQgd2ViIHdvcmtlcnMuXG4gICAqXG4gICAqIFRoZSBwcm92aWRlciB3aWxsIG5vdCBjYWNoZSBJZGVudGl0eUlkcyBvZiBhdXRoZW50aWNhdGVkIHVzZXJzIHVubGVzcyBhXG4gICAqIHNlcGFyYXRlIGB1c2VySWRlbnRpdGlmZXJgIHBhcmFtZXRlciBpcyBzdXBwbGllZC5cbiAgICovXG4gIGNhY2hlPzogU3RvcmFnZTtcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaWRlbnRpdHkgcG9vbCBmcm9tIHdoaWNoIGFuIGlkZW50aXR5IHNob3VsZFxuICAgKiBiZSByZXRyaWV2ZWQgb3IgZ2VuZXJhdGVkLlxuICAgKi9cbiAgaWRlbnRpdHlQb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHVzZXIuIFRoaXMgaXMgZGlzdGluY3QgZnJvbSBhIENvZ25pdG9cbiAgICogSWRlbnRpdHlJZCBhbmQgc2hvdWxkIGluc3RlYWQgYmUgYW4gaWRlbnRpZmllciBtZWFuaW5nZnVsIHRvIHlvdXJcbiAgICogYXBwbGljYXRpb24uIFVzZWQgdG8gY2FjaGUgQ29nbml0byBJZGVudGl0eUlkcyBvbiBhIHBlci11c2VyIGJhc2lzLlxuICAgKi9cbiAgdXNlcklkZW50aWZpZXI/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHRocm93T25NaXNzaW5nSWQoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgUHJvdmlkZXJFcnJvcihcIlJlc3BvbnNlIGZyb20gQW1hem9uIENvZ25pdG8gY29udGFpbmVkIG5vIGlkZW50aXR5IElEXCIpO1xufVxuIl19","import { __assign } from \"tslib\";\n// Partition default templates\nvar AWS_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\nvar AWS_CN_TEMPLATE = \"cognito-identity.{region}.amazonaws.com.cn\";\nvar AWS_ISO_TEMPLATE = \"cognito-identity.{region}.c2s.ic.gov\";\nvar AWS_ISO_B_TEMPLATE = \"cognito-identity.{region}.sc2s.sgov.gov\";\nvar AWS_US_GOV_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\n// Partition regions\nvar AWS_REGIONS = new Set([\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ca-central-1\",\n \"eu-central-1\",\n \"eu-north-1\",\n \"eu-south-1\",\n \"eu-west-1\",\n \"eu-west-2\",\n \"eu-west-3\",\n \"me-south-1\",\n \"sa-east-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\",\n]);\nvar AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nvar AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nvar AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nvar AWS_US_GOV_REGIONS = new Set([\"us-gov-east-1\", \"us-gov-west-1\"]);\nexport var defaultRegionInfoProvider = function (region, options) {\n var regionInfo = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"ap-northeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-south-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ca-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.ca-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"cn-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.cn-north-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"eu-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-north-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-3\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-3.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"fips-us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-1.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"fips-us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-2\",\n };\n break;\n case \"fips-us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n signingRegion: \"us-gov-west-1\",\n };\n break;\n case \"fips-us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-west-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-west-2\",\n };\n break;\n case \"sa-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.sa-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-cn\",\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso\",\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso-b\",\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-us-gov\",\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n }\n return Promise.resolve(__assign({ signingService: \"cognito-identity\" }, regionInfo));\n};\n//# sourceMappingURL=endpoints.js.map","import { defaultRegionInfoProvider } from \"./endpoints\";\nimport { parseUrl } from \"@aws-sdk/url-parser\";\n/**\n * @internal\n */\nexport var ClientSharedValues = {\n apiVersion: \"2014-06-30\",\n disableHostPrefix: false,\n logger: {},\n regionInfoProvider: defaultRegionInfoProvider,\n serviceId: \"Cognito Identity\",\n urlParser: parseUrl,\n};\n//# sourceMappingURL=runtimeConfig.shared.js.map","import { __assign } from \"tslib\";\nimport packageInfo from \"./package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { DEFAULT_MAX_ATTEMPTS } from \"@aws-sdk/middleware-retry\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\n/**\n * @internal\n */\nexport var ClientDefaultValues = __assign(__assign({}, ClientSharedValues), { runtime: \"browser\", base64Decoder: fromBase64, base64Encoder: toBase64, bodyLengthChecker: calculateBodyLength, credentialDefaultProvider: function (_) { return function () { return Promise.reject(new Error(\"Credential is missing\")); }; }, defaultUserAgentProvider: defaultUserAgent({\n serviceId: ClientSharedValues.serviceId,\n clientVersion: packageInfo.version,\n }), maxAttempts: DEFAULT_MAX_ATTEMPTS, region: invalidProvider(\"Region is missing\"), requestHandler: new FetchHttpHandler(), sha256: Sha256, streamCollector: streamCollector, utf8Decoder: fromUtf8, utf8Encoder: toUtf8 });\n//# sourceMappingURL=runtimeConfig.browser.js.map","import { __assign, __extends } from \"tslib\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport { resolveEndpointsConfig, resolveRegionConfig, } from \"@aws-sdk/config-resolver\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { resolveAwsAuthConfig } from \"@aws-sdk/middleware-signing\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { Client as __Client, } from \"@aws-sdk/smithy-client\";\n/**\n * Amazon Cognito Federated Identities\n *

Amazon Cognito Federated Identities is a web service that delivers scoped temporary\n * credentials to mobile devices and other untrusted environments. It uniquely identifies a\n * device and supplies the user with a consistent identity over the lifetime of an\n * application.

\n *

Using Amazon Cognito Federated Identities, you can enable authentication with one or\n * more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon\n * Cognito user pool, and you can also choose to support unauthenticated access from your app.\n * Cognito delivers a unique identifier for each user and acts as an OpenID token provider\n * trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS\n * credentials.

\n *

For a description of the authentication flow from the Amazon Cognito Developer Guide\n * see Authentication Flow.

\n *

For more information see Amazon Cognito Federated Identities.

\n */\nvar CognitoIdentityClient = /** @class */ (function (_super) {\n __extends(CognitoIdentityClient, _super);\n function CognitoIdentityClient(configuration) {\n var _this = this;\n var _config_0 = __assign(__assign({}, __ClientDefaultValues), configuration);\n var _config_1 = resolveRegionConfig(_config_0);\n var _config_2 = resolveEndpointsConfig(_config_1);\n var _config_3 = resolveAwsAuthConfig(_config_2);\n var _config_4 = resolveRetryConfig(_config_3);\n var _config_5 = resolveHostHeaderConfig(_config_4);\n var _config_6 = resolveUserAgentConfig(_config_5);\n _this = _super.call(this, _config_6) || this;\n _this.config = _config_6;\n _this.middlewareStack.use(getRetryPlugin(_this.config));\n _this.middlewareStack.use(getContentLengthPlugin(_this.config));\n _this.middlewareStack.use(getHostHeaderPlugin(_this.config));\n _this.middlewareStack.use(getLoggerPlugin(_this.config));\n _this.middlewareStack.use(getUserAgentPlugin(_this.config));\n return _this;\n }\n CognitoIdentityClient.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return CognitoIdentityClient;\n}(__Client));\nexport { CognitoIdentityClient };\n//# sourceMappingURL=CognitoIdentityClient.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { ConsoleLogger as Logger } from './Logger';\nimport { StorageHelper } from './StorageHelper';\nimport { makeQuerablePromise } from './JS';\nimport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nimport { jitteredExponentialRetry } from './Util';\nimport { getAmplifyUserAgent } from './Platform';\nimport { Amplify } from './Amplify';\nimport { fromCognitoIdentity, fromCognitoIdentityPool, } from '@aws-sdk/credential-provider-cognito-identity';\nimport { CognitoIdentityClient, GetIdCommand, GetCredentialsForIdentityCommand, } from '@aws-sdk/client-cognito-identity';\nvar logger = new Logger('Credentials');\nvar CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nvar COGNITO_IDENTITY_KEY_PREFIX = 'CognitoIdentityId-';\nvar CredentialsClass = /** @class */ (function () {\n function CredentialsClass(config) {\n this._gettingCredPromise = null;\n this._refreshHandlers = {};\n // Allow `Auth` to be injected for SSR, but Auth isn't a required dependency for Credentials\n this.Auth = undefined;\n this.configure(config);\n this._refreshHandlers['google'] = GoogleOAuth.refreshGoogleToken;\n this._refreshHandlers['facebook'] = FacebookOAuth.refreshFacebookToken;\n }\n CredentialsClass.prototype.getModuleName = function () {\n return 'Credentials';\n };\n CredentialsClass.prototype.getCredSource = function () {\n return this._credentials_source;\n };\n CredentialsClass.prototype.configure = function (config) {\n if (!config)\n return this._config || {};\n this._config = Object.assign({}, this._config, config);\n var refreshHandlers = this._config.refreshHandlers;\n // If the developer has provided an object of refresh handlers,\n // then we can merge the provided handlers with the current handlers.\n if (refreshHandlers) {\n this._refreshHandlers = __assign(__assign({}, this._refreshHandlers), refreshHandlers);\n }\n this._storage = this._config.storage;\n if (!this._storage) {\n this._storage = new StorageHelper().getStorage();\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n return this._config;\n };\n CredentialsClass.prototype.get = function () {\n logger.debug('getting credentials');\n return this._pickupCredentials();\n };\n // currently we only store the guest identity in local storage\n CredentialsClass.prototype._getCognitoIdentityIdStorageKey = function (identityPoolId) {\n return \"\" + COGNITO_IDENTITY_KEY_PREFIX + identityPoolId;\n };\n CredentialsClass.prototype._pickupCredentials = function () {\n logger.debug('picking up credentials');\n if (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) {\n logger.debug('getting new cred promise');\n this._gettingCredPromise = makeQuerablePromise(this._keepAlive());\n }\n else {\n logger.debug('getting old cred promise');\n }\n return this._gettingCredPromise;\n };\n CredentialsClass.prototype._keepAlive = function () {\n return __awaiter(this, void 0, void 0, function () {\n var cred, _a, Auth, user_1, session, refreshToken_1, refreshRequest, err_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug('checking if credentials exists and not expired');\n cred = this._credentials;\n if (cred && !this._isExpired(cred) && !this._isPastTTL()) {\n logger.debug('credentials not changed and not expired, directly return');\n return [2 /*return*/, Promise.resolve(cred)];\n }\n logger.debug('need to get a new credential or refresh the existing one');\n _a = this.Auth, Auth = _a === void 0 ? Amplify.Auth : _a;\n if (!Auth || typeof Auth.currentUserCredentials !== 'function') {\n return [2 /*return*/, Promise.reject('No Auth module registered in Amplify')];\n }\n if (!(!this._isExpired(cred) && this._isPastTTL())) return [3 /*break*/, 6];\n logger.debug('ttl has passed but token is not yet expired');\n _b.label = 1;\n case 1:\n _b.trys.push([1, 5, , 6]);\n return [4 /*yield*/, Auth.currentUserPoolUser()];\n case 2:\n user_1 = _b.sent();\n return [4 /*yield*/, Auth.currentSession()];\n case 3:\n session = _b.sent();\n refreshToken_1 = session.refreshToken;\n refreshRequest = new Promise(function (res, rej) {\n user_1.refreshSession(refreshToken_1, function (err, data) {\n return err ? rej(err) : res(data);\n });\n });\n return [4 /*yield*/, refreshRequest];\n case 4:\n _b.sent(); // note that rejections will be caught and handled in the catch block.\n return [3 /*break*/, 6];\n case 5:\n err_1 = _b.sent();\n // should not throw because user might just be on guest access or is authenticated through federation\n logger.debug('Error attempting to refreshing the session', err_1);\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/, Auth.currentUserCredentials()];\n }\n });\n });\n };\n CredentialsClass.prototype.refreshFederatedToken = function (federatedInfo) {\n logger.debug('Getting federated credentials');\n var provider = federatedInfo.provider, user = federatedInfo.user, token = federatedInfo.token, identity_id = federatedInfo.identity_id;\n var expires_at = federatedInfo.expires_at;\n // Make sure expires_at is in millis\n expires_at =\n new Date(expires_at).getFullYear() === 1970\n ? expires_at * 1000\n : expires_at;\n var that = this;\n logger.debug('checking if federated jwt token expired');\n if (expires_at > new Date().getTime()) {\n // if not expired\n logger.debug('token not expired');\n return this._setCredentialsFromFederation({\n provider: provider,\n token: token,\n user: user,\n identity_id: identity_id,\n expires_at: expires_at,\n });\n }\n else {\n // if refresh handler exists\n if (that._refreshHandlers[provider] &&\n typeof that._refreshHandlers[provider] === 'function') {\n logger.debug('getting refreshed jwt token from federation provider');\n return this._providerRefreshWithRetry({\n refreshHandler: that._refreshHandlers[provider],\n provider: provider,\n user: user,\n });\n }\n else {\n logger.debug('no refresh handler for provider:', provider);\n this.clear();\n return Promise.reject('no refresh handler for provider');\n }\n }\n };\n CredentialsClass.prototype._providerRefreshWithRetry = function (_a) {\n var _this = this;\n var refreshHandler = _a.refreshHandler, provider = _a.provider, user = _a.user;\n var MAX_DELAY_MS = 10 * 1000;\n // refreshHandler will retry network errors, otherwise it will\n // return NonRetryableError to break out of jitteredExponentialRetry\n return jitteredExponentialRetry(refreshHandler, [], MAX_DELAY_MS)\n .then(function (data) {\n logger.debug('refresh federated token sucessfully', data);\n return _this._setCredentialsFromFederation({\n provider: provider,\n token: data.token,\n user: user,\n identity_id: data.identity_id,\n expires_at: data.expires_at,\n });\n })\n .catch(function (e) {\n var isNetworkError = typeof e === 'string' &&\n e.toLowerCase().lastIndexOf('network error', e.length) === 0;\n if (!isNetworkError) {\n _this.clear();\n }\n logger.debug('refresh federated token failed', e);\n return Promise.reject('refreshing federation token failed: ' + e);\n });\n };\n CredentialsClass.prototype._isExpired = function (credentials) {\n if (!credentials) {\n logger.debug('no credentials for expiration check');\n return true;\n }\n logger.debug('are these credentials expired?', credentials);\n var ts = Date.now();\n /* returns date object.\n https://github.com/aws/aws-sdk-js-v3/blob/v1.0.0-beta.1/packages/types/src/credentials.ts#L26\n */\n var expiration = credentials.expiration;\n return expiration.getTime() <= ts;\n };\n CredentialsClass.prototype._isPastTTL = function () {\n return this._nextCredentialsRefresh <= Date.now();\n };\n CredentialsClass.prototype._setCredentialsForGuest = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, identityPoolId, region, mandatorySignIn, identityId, _b, cognitoClient, credentials, cognitoIdentityParams, credentialsProvider;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n logger.debug('setting credentials for guest');\n _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region, mandatorySignIn = _a.mandatorySignIn;\n if (mandatorySignIn) {\n return [2 /*return*/, Promise.reject('cannot get guest credentials when mandatory signin enabled')];\n }\n if (!identityPoolId) {\n logger.debug('No Cognito Identity pool provided for unauthenticated access');\n return [2 /*return*/, Promise.reject('No Cognito Identity pool provided for unauthenticated access')];\n }\n if (!region) {\n logger.debug('region is not configured for getting the credentials');\n return [2 /*return*/, Promise.reject('region is not configured for getting the credentials')];\n }\n _b = this;\n return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n identityId = _b._identityId = _c.sent();\n cognitoClient = new CognitoIdentityClient({\n region: region,\n customUserAgent: getAmplifyUserAgent(),\n });\n credentials = undefined;\n if (identityId) {\n cognitoIdentityParams = {\n identityId: identityId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n }\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)\n .then(function (res) {\n return res;\n })\n .catch(function (e) { return __awaiter(_this, void 0, void 0, function () {\n var credentialsProvider;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(e.name === 'ResourceNotFoundException' &&\n e.message === \"Identity '\" + identityId + \"' not found.\")) return [3 /*break*/, 2];\n logger.debug('Failed to load guest credentials');\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 1:\n _a.sent();\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)];\n case 2: return [2 /*return*/, e];\n }\n });\n }); })];\n }\n });\n });\n };\n CredentialsClass.prototype._setCredentialsFromFederation = function (params) {\n var provider = params.provider, token = params.token, identity_id = params.identity_id;\n var domains = {\n google: 'accounts.google.com',\n facebook: 'graph.facebook.com',\n amazon: 'www.amazon.com',\n developer: 'cognito-identity.amazonaws.com',\n };\n // Use custom provider url instead of the predefined ones\n var domain = domains[provider] || provider;\n if (!domain) {\n return Promise.reject('You must specify a federated provider');\n }\n var logins = {};\n logins[domain] = token;\n var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var cognitoClient = new CognitoIdentityClient({\n region: region,\n customUserAgent: getAmplifyUserAgent(),\n });\n var credentials = undefined;\n if (identity_id) {\n var cognitoIdentityParams = {\n identityId: identity_id,\n logins: logins,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n var cognitoIdentityParams = {\n logins: logins,\n identityPoolId: identityPoolId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentityPool(cognitoIdentityParams)();\n }\n return this._loadCredentials(credentials, 'federated', true, params);\n };\n CredentialsClass.prototype._setCredentialsFromSession = function (session) {\n var _this = this;\n logger.debug('set credentials from session');\n var idToken = session.getIdToken().getJwtToken();\n var _a = this._config, region = _a.region, userPoolId = _a.userPoolId, identityPoolId = _a.identityPoolId;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId;\n var logins = {};\n logins[key] = idToken;\n var cognitoClient = new CognitoIdentityClient({\n region: region,\n customUserAgent: getAmplifyUserAgent(),\n });\n /*\n Retreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n https://git.io/JeDxU\n\n Note: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n */\n var credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var guestIdentityId, generatedOrRetrievedIdentityId, IdentityId, _a, _b, AccessKeyId, Expiration, SecretKey, SessionToken, primaryIdentityId;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n guestIdentityId = _c.sent();\n if (!!guestIdentityId) return [3 /*break*/, 3];\n return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n Logins: logins,\n }))];\n case 2:\n IdentityId = (_c.sent()).IdentityId;\n generatedOrRetrievedIdentityId = IdentityId;\n _c.label = 3;\n case 3: return [4 /*yield*/, cognitoClient.send(new GetCredentialsForIdentityCommand({\n IdentityId: guestIdentityId || generatedOrRetrievedIdentityId,\n Logins: logins,\n }))];\n case 4:\n _a = _c.sent(), _b = _a.Credentials, AccessKeyId = _b.AccessKeyId, Expiration = _b.Expiration, SecretKey = _b.SecretKey, SessionToken = _b.SessionToken, primaryIdentityId = _a.IdentityId;\n this._identityId = primaryIdentityId;\n if (!guestIdentityId) return [3 /*break*/, 6];\n // if guestIdentity is found and used by GetCredentialsForIdentity\n // it will be linked to the logins provided, and disqualified as an unauth identity\n logger.debug(\"The guest identity \" + guestIdentityId + \" has been successfully linked to the logins\");\n if (guestIdentityId === primaryIdentityId) {\n logger.debug(\"The guest identity \" + guestIdentityId + \" has become the primary identity\");\n }\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 5:\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n _c.sent();\n _c.label = 6;\n case 6: \n // https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts#L40\n return [2 /*return*/, {\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n identityId: primaryIdentityId,\n }];\n }\n });\n }); };\n var credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return this._loadCredentials(credentials, 'userPool', true, null);\n };\n CredentialsClass.prototype._loadCredentials = function (credentials, source, authenticated, info) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n credentials\n .then(function (credentials) { return __awaiter(_this, void 0, void 0, function () {\n var user, provider, token, expires_at, identity_id;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Load credentials successfully', credentials);\n if (this._identityId && !credentials.identityId) {\n credentials['identityId'] = this._identityId;\n }\n that._credentials = credentials;\n that._credentials.authenticated = authenticated;\n that._credentials_source = source;\n that._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n if (source === 'federated') {\n user = Object.assign({ id: this._credentials.identityId }, info.user);\n provider = info.provider, token = info.token, expires_at = info.expires_at, identity_id = info.identity_id;\n try {\n this._storage.setItem('aws-amplify-federatedInfo', JSON.stringify({\n provider: provider,\n token: token,\n user: user,\n expires_at: expires_at,\n identity_id: identity_id,\n }));\n }\n catch (e) {\n logger.debug('Failed to put federated info into auth storage', e);\n }\n }\n if (!(source === 'guest')) return [3 /*break*/, 2];\n return [4 /*yield*/, this._setGuestIdentityId(credentials.identityId)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n res(that._credentials);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (err) {\n if (err) {\n logger.debug('Failed to load credentials', credentials);\n logger.debug('Error loading credentials', err);\n rej(err);\n return;\n }\n });\n });\n };\n CredentialsClass.prototype.set = function (params, source) {\n if (source === 'session') {\n return this._setCredentialsFromSession(params);\n }\n else if (source === 'federation') {\n return this._setCredentialsFromFederation(params);\n }\n else if (source === 'guest') {\n return this._setCredentialsForGuest();\n }\n else {\n logger.debug('no source specified for setting credentials');\n return Promise.reject('invalid source');\n }\n };\n CredentialsClass.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._credentials = null;\n this._credentials_source = null;\n logger.debug('removing aws-amplify-federatedInfo from storage');\n this._storage.removeItem('aws-amplify-federatedInfo');\n return [2 /*return*/];\n });\n });\n };\n /* operations on local stored guest identity */\n CredentialsClass.prototype._getGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [2 /*return*/, this._storage.getItem(this._getCognitoIdentityIdStorageKey(identityPoolId))];\n case 3:\n e_1 = _a.sent();\n logger.debug('Failed to get the cached guest identityId', e_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._setGuestIdentityId = function (identityId) {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n this._storage.setItem(this._getCognitoIdentityIdStorageKey(identityPoolId), identityId);\n return [3 /*break*/, 4];\n case 3:\n e_2 = _a.sent();\n logger.debug('Failed to cache guest identityId', e_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._removeGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId;\n return __generator(this, function (_a) {\n identityPoolId = this._config.identityPoolId;\n logger.debug(\"removing \" + this._getCognitoIdentityIdStorageKey(identityPoolId) + \" from storage\");\n this._storage.removeItem(this._getCognitoIdentityIdStorageKey(identityPoolId));\n return [2 /*return*/];\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n CredentialsClass.prototype.shear = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n return CredentialsClass;\n}());\nexport { CredentialsClass };\nexport var Credentials = new CredentialsClass(null);\nAmplify.register(Credentials);\n/**\n * @deprecated use named import\n */\nexport default Credentials;\n//# sourceMappingURL=Credentials.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Hub');\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' &&\n typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nfunction isLegacyCallback(callback) {\n return callback.onHubCapsule !== undefined;\n}\nvar HubClass = /** @class */ (function () {\n function HubClass(name) {\n this.listeners = [];\n this.patterns = [];\n this.protectedChannels = [\n 'core',\n 'auth',\n 'api',\n 'analytics',\n 'interactions',\n 'pubsub',\n 'storage',\n 'ui',\n 'xr',\n ];\n this.name = name;\n }\n // Note - Need to pass channel as a reference for removal to work and not anonymous function\n HubClass.prototype.remove = function (channel, listener) {\n if (channel instanceof RegExp) {\n var pattern_1 = this.patterns.find(function (_a) {\n var pattern = _a.pattern;\n return pattern.source === channel.source;\n });\n if (!pattern_1) {\n logger.warn(\"No listeners for \" + channel);\n return;\n }\n this.patterns = __spread(this.patterns.filter(function (x) { return x !== pattern_1; }));\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n logger.warn(\"No listeners for \" + channel);\n return;\n }\n this.listeners[channel] = __spread(holder.filter(function (_a) {\n var callback = _a.callback;\n return callback !== listener;\n }));\n }\n };\n HubClass.prototype.dispatch = function (channel, payload, source, ampSymbol) {\n if (source === void 0) { source = ''; }\n if (this.protectedChannels.indexOf(channel) > -1) {\n var hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n if (!hasAccess) {\n logger.warn(\"WARNING: \" + channel + \" is protected and dispatching on it can have unintended consequences\");\n }\n }\n var capsule = {\n channel: channel,\n payload: __assign({}, payload),\n source: source,\n patternInfo: [],\n };\n try {\n this._toListeners(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n };\n HubClass.prototype.listen = function (channel, callback, listenerName) {\n var _this = this;\n if (listenerName === void 0) { listenerName = 'noname'; }\n var cb;\n // Check for legacy onHubCapsule callback for backwards compatability\n if (isLegacyCallback(callback)) {\n logger.warn(\"WARNING onHubCapsule is Deprecated. Please pass in a callback.\");\n cb = callback.onHubCapsule.bind(callback);\n }\n else if (typeof callback !== 'function') {\n throw new Error('No callback supplied to Hub');\n }\n else {\n cb = callback;\n }\n if (channel instanceof RegExp) {\n this.patterns.push({\n pattern: channel,\n callback: cb,\n });\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n holder = [];\n this.listeners[channel] = holder;\n }\n holder.push({\n name: listenerName,\n callback: cb,\n });\n }\n return function () {\n _this.remove(channel, cb);\n };\n };\n HubClass.prototype._toListeners = function (capsule) {\n var channel = capsule.channel, payload = capsule.payload;\n var holder = this.listeners[channel];\n if (holder) {\n holder.forEach(function (listener) {\n logger.debug(\"Dispatching to \" + channel + \" with \", payload);\n try {\n listener.callback(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n });\n }\n if (this.patterns.length > 0) {\n if (!payload.message) {\n logger.warn(\"Cannot perform pattern matching without a message key\");\n return;\n }\n var payloadStr_1 = payload.message;\n this.patterns.forEach(function (pattern) {\n var match = payloadStr_1.match(pattern.pattern);\n if (match) {\n var _a = __read(match), groups = _a.slice(1);\n var dispatchingCapsule = __assign(__assign({}, capsule), { patternInfo: groups });\n try {\n pattern.callback(dispatchingCapsule);\n }\n catch (e) {\n logger.error(e);\n }\n }\n });\n }\n };\n return HubClass;\n}());\nexport { HubClass };\n/*We export a __default__ instance of HubClass to use it as a\npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events.*/\nexport var Hub = new HubClass('__default__');\n/**\n * @deprecated use named import\n */\nexport default Hub;\n//# sourceMappingURL=Hub.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nvar logger = new Logger('I18n');\n/**\n * Language transition class\n */\nvar I18n = /** @class */ (function () {\n /**\n * @constructor\n * Initialize with configurations\n * @param {Object} options\n */\n function I18n(options) {\n /**\n * @private\n */\n this._options = null;\n /**\n * @private\n */\n this._lang = null;\n /**\n * @private\n */\n this._dict = {};\n this._options = Object.assign({}, options);\n this._lang = this._options.language;\n if (!this._lang &&\n typeof window !== 'undefined' &&\n window &&\n window.navigator) {\n this._lang = window.navigator.language;\n }\n logger.debug(this._lang);\n }\n /**\n * @method\n * Explicitly setting language\n * @param {String} lang\n */\n I18n.prototype.setLanguage = function (lang) {\n this._lang = lang;\n };\n /**\n * @method\n * Get value\n * @param {String} key\n * @param {String} defVal - Default value\n */\n I18n.prototype.get = function (key, defVal) {\n if (defVal === void 0) { defVal = undefined; }\n if (!this._lang) {\n return typeof defVal !== 'undefined' ? defVal : key;\n }\n var lang = this._lang;\n var val = this.getByLanguage(key, lang);\n if (val) {\n return val;\n }\n if (lang.indexOf('-') > 0) {\n val = this.getByLanguage(key, lang.split('-')[0]);\n }\n if (val) {\n return val;\n }\n return typeof defVal !== 'undefined' ? defVal : key;\n };\n /**\n * @method\n * Get value according to specified language\n * @param {String} key\n * @param {String} language - Specified langurage to be used\n * @param {String} defVal - Default value\n */\n I18n.prototype.getByLanguage = function (key, language, defVal) {\n if (defVal === void 0) { defVal = null; }\n if (!language) {\n return defVal;\n }\n var lang_dict = this._dict[language];\n if (!lang_dict) {\n return defVal;\n }\n return lang_dict[key];\n };\n /**\n * @method\n * Add vocabularies for one language\n * @param {String} language - Language of the dictionary\n * @param {Object} vocabularies - Object that has key-value as dictionary entry\n */\n I18n.prototype.putVocabulariesForLanguage = function (language, vocabularies) {\n var lang_dict = this._dict[language];\n if (!lang_dict) {\n lang_dict = this._dict[language] = {};\n }\n Object.assign(lang_dict, vocabularies);\n };\n /**\n * @method\n * Add vocabularies for one language\n * @param {Object} vocabularies - Object that has language as key,\n * vocabularies of each language as value\n */\n I18n.prototype.putVocabularies = function (vocabularies) {\n var _this = this;\n Object.keys(vocabularies).map(function (key) {\n _this.putVocabulariesForLanguage(key, vocabularies[key]);\n });\n };\n return I18n;\n}());\nexport { I18n };\n//# sourceMappingURL=I18n.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { I18n as I18nClass } from './I18n';\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { Amplify } from '../Amplify';\nvar logger = new Logger('I18n');\nvar _config = null;\nvar _i18n = null;\n/**\n * Export I18n APIs\n */\nvar I18n = /** @class */ (function () {\n function I18n() {\n }\n /**\n * @static\n * @method\n * Configure I18n part\n * @param {Object} config - Configuration of the I18n\n */\n I18n.configure = function (config) {\n logger.debug('configure I18n');\n if (!config) {\n return _config;\n }\n _config = Object.assign({}, _config, config.I18n || config);\n I18n.createInstance();\n return _config;\n };\n I18n.getModuleName = function () {\n return 'I18n';\n };\n /**\n * @static\n * @method\n * Create an instance of I18n for the library\n */\n I18n.createInstance = function () {\n logger.debug('create I18n instance');\n if (_i18n) {\n return;\n }\n _i18n = new I18nClass(_config);\n };\n /**\n * @static @method\n * Explicitly setting language\n * @param {String} lang\n */\n I18n.setLanguage = function (lang) {\n I18n.checkConfig();\n return _i18n.setLanguage(lang);\n };\n /**\n * @static @method\n * Get value\n * @param {String} key\n * @param {String} defVal - Default value\n */\n I18n.get = function (key, defVal) {\n if (!I18n.checkConfig()) {\n return typeof defVal === 'undefined' ? key : defVal;\n }\n return _i18n.get(key, defVal);\n };\n /**\n * @static\n * @method\n * Add vocabularies for one language\n * @param {String} langurage - Language of the dictionary\n * @param {Object} vocabularies - Object that has key-value as dictionary entry\n */\n I18n.putVocabulariesForLanguage = function (language, vocabularies) {\n I18n.checkConfig();\n return _i18n.putVocabulariesForLanguage(language, vocabularies);\n };\n /**\n * @static\n * @method\n * Add vocabularies for one language\n * @param {Object} vocabularies - Object that has language as key,\n * vocabularies of each language as value\n */\n I18n.putVocabularies = function (vocabularies) {\n I18n.checkConfig();\n return _i18n.putVocabularies(vocabularies);\n };\n I18n.checkConfig = function () {\n if (!_i18n) {\n _i18n = new I18nClass(_config);\n }\n return true;\n };\n return I18n;\n}());\nexport { I18n };\nAmplify.register(I18n);\n/**\n * @deprecated use named import\n */\nexport default I18n;\n//# sourceMappingURL=index.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar MIME_MAP = [\n { type: 'text/plain', ext: 'txt' },\n { type: 'text/html', ext: 'html' },\n { type: 'text/javascript', ext: 'js' },\n { type: 'text/css', ext: 'css' },\n { type: 'text/csv', ext: 'csv' },\n { type: 'text/yaml', ext: 'yml' },\n { type: 'text/yaml', ext: 'yaml' },\n { type: 'text/calendar', ext: 'ics' },\n { type: 'text/calendar', ext: 'ical' },\n { type: 'image/apng', ext: 'apng' },\n { type: 'image/bmp', ext: 'bmp' },\n { type: 'image/gif', ext: 'gif' },\n { type: 'image/x-icon', ext: 'ico' },\n { type: 'image/x-icon', ext: 'cur' },\n { type: 'image/jpeg', ext: 'jpg' },\n { type: 'image/jpeg', ext: 'jpeg' },\n { type: 'image/jpeg', ext: 'jfif' },\n { type: 'image/jpeg', ext: 'pjp' },\n { type: 'image/jpeg', ext: 'pjpeg' },\n { type: 'image/png', ext: 'png' },\n { type: 'image/svg+xml', ext: 'svg' },\n { type: 'image/tiff', ext: 'tif' },\n { type: 'image/tiff', ext: 'tiff' },\n { type: 'image/webp', ext: 'webp' },\n { type: 'application/json', ext: 'json' },\n { type: 'application/xml', ext: 'xml' },\n { type: 'application/x-sh', ext: 'sh' },\n { type: 'application/zip', ext: 'zip' },\n { type: 'application/x-rar-compressed', ext: 'rar' },\n { type: 'application/x-tar', ext: 'tar' },\n { type: 'application/x-bzip', ext: 'bz' },\n { type: 'application/x-bzip2', ext: 'bz2' },\n { type: 'application/pdf', ext: 'pdf' },\n { type: 'application/java-archive', ext: 'jar' },\n { type: 'application/msword', ext: 'doc' },\n { type: 'application/vnd.ms-excel', ext: 'xls' },\n { type: 'application/vnd.ms-excel', ext: 'xlsx' },\n { type: 'message/rfc822', ext: 'eml' },\n];\nexport var isEmpty = function (obj) {\n if (obj === void 0) { obj = {}; }\n return Object.keys(obj).length === 0;\n};\nexport var sortByField = function (list, field, dir) {\n if (!list || !list.sort) {\n return false;\n }\n var dirX = dir && dir === 'desc' ? -1 : 1;\n list.sort(function (a, b) {\n var a_val = a[field];\n var b_val = b[field];\n if (typeof b_val === 'undefined') {\n return typeof a_val === 'undefined' ? 0 : 1 * dirX;\n }\n if (typeof a_val === 'undefined') {\n return -1 * dirX;\n }\n if (a_val < b_val) {\n return -1 * dirX;\n }\n if (a_val > b_val) {\n return 1 * dirX;\n }\n return 0;\n });\n return true;\n};\nexport var objectLessAttributes = function (obj, less) {\n var ret = Object.assign({}, obj);\n if (less) {\n if (typeof less === 'string') {\n delete ret[less];\n }\n else {\n less.forEach(function (attr) {\n delete ret[attr];\n });\n }\n }\n return ret;\n};\nexport var filenameToContentType = function (filename, defVal) {\n if (defVal === void 0) { defVal = 'application/octet-stream'; }\n var name = filename.toLowerCase();\n var filtered = MIME_MAP.filter(function (mime) { return name.endsWith('.' + mime.ext); });\n return filtered.length > 0 ? filtered[0].type : defVal;\n};\nexport var isTextFile = function (contentType) {\n var type = contentType.toLowerCase();\n if (type.startsWith('text/')) {\n return true;\n }\n return ('application/json' === type ||\n 'application/xml' === type ||\n 'application/sh' === type);\n};\nexport var generateRandomString = function () {\n var result = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n for (var i = 32; i > 0; i -= 1) {\n result += chars[Math.floor(Math.random() * chars.length)];\n }\n return result;\n};\nexport var makeQuerablePromise = function (promise) {\n if (promise.isResolved)\n return promise;\n var isPending = true;\n var isRejected = false;\n var isFullfilled = false;\n var result = promise.then(function (data) {\n isFullfilled = true;\n isPending = false;\n return data;\n }, function (e) {\n isRejected = true;\n isPending = false;\n throw e;\n });\n result.isFullfilled = function () { return isFullfilled; };\n result.isPending = function () { return isPending; };\n result.isRejected = function () { return isRejected; };\n return result;\n};\nexport var isWebWorker = function () {\n if (typeof self === 'undefined') {\n return false;\n }\n var selfContext = self;\n return typeof selfContext.WorkerGlobalScope !== 'undefined' &&\n self instanceof selfContext.WorkerGlobalScope;\n};\nexport var browserOrNode = function () {\n var isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var isNode = typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null;\n return {\n isBrowser: isBrowser,\n isNode: isNode,\n };\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToLowerCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferedKey = whiteListForItself.includes(key)\n ? key\n : key[0].toLowerCase() + key.slice(1);\n ret[transferedKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToLowerCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToUpperCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferredKey = whiteListForItself.includes(key)\n ? key\n : key[0].toUpperCase() + key.slice(1);\n ret[transferredKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToUpperCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * Return true if the object is a strict object\n * which means it's not Array, Function, Number, String, Boolean or Null\n * @param obj the Object\n */\nexport var isStrictObject = function (obj) {\n return (obj instanceof Object &&\n !(obj instanceof Array) &&\n !(obj instanceof Function) &&\n !(obj instanceof Number) &&\n !(obj instanceof String) &&\n !(obj instanceof Boolean));\n};\n/**\n * @deprecated use per-function imports\n */\nvar JS = /** @class */ (function () {\n function JS() {\n }\n JS.isEmpty = isEmpty;\n JS.sortByField = sortByField;\n JS.objectLessAttributes = objectLessAttributes;\n JS.filenameToContentType = filenameToContentType;\n JS.isTextFile = isTextFile;\n JS.generateRandomString = generateRandomString;\n JS.makeQuerablePromise = makeQuerablePromise;\n JS.isWebWorker = isWebWorker;\n JS.browserOrNode = browserOrNode;\n JS.transferKeyToLowerCase = transferKeyToLowerCase;\n JS.transferKeyToUpperCase = transferKeyToUpperCase;\n JS.isStrictObject = isStrictObject;\n return JS;\n}());\nexport { JS };\n/**\n * @deprecated use per-function imports\n */\nexport default JS;\n//# sourceMappingURL=JS.js.map","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n// Logging constants\nvar AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;\nvar AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;\nvar AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;\nvar AWS_CLOUDWATCH_CATEGORY = 'Logging';\nvar AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';\nvar NO_CREDS_ERROR_STRING = 'No credentials';\nvar RETRY_ERROR_CODES = [\n 'ResourceNotFoundException',\n 'InvalidSequenceTokenException',\n];\nexport { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, };\n//# sourceMappingURL=Constants.js.map","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { AWS_CLOUDWATCH_CATEGORY } from '../Util/Constants';\nvar LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n};\nexport var LOG_TYPE;\n(function (LOG_TYPE) {\n LOG_TYPE[\"DEBUG\"] = \"DEBUG\";\n LOG_TYPE[\"ERROR\"] = \"ERROR\";\n LOG_TYPE[\"INFO\"] = \"INFO\";\n LOG_TYPE[\"WARN\"] = \"WARN\";\n LOG_TYPE[\"VERBOSE\"] = \"VERBOSE\";\n})(LOG_TYPE || (LOG_TYPE = {}));\n/**\n * Write logs\n * @class Logger\n */\nvar ConsoleLogger = /** @class */ (function () {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n function ConsoleLogger(name, level) {\n if (level === void 0) { level = LOG_TYPE.WARN; }\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n ConsoleLogger.prototype._padding = function (n) {\n return n < 10 ? '0' + n : '' + n;\n };\n ConsoleLogger.prototype._ts = function () {\n var dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n };\n ConsoleLogger.prototype.configure = function (config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n };\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LOG_TYPE|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype._log = function (type) {\n var e_1, _a;\n var msg = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n msg[_i - 1] = arguments[_i];\n }\n var logger_level_name = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n logger_level_name = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n logger_level_name = window.LOG_LEVEL;\n }\n var logger_level = LOG_LEVELS[logger_level_name];\n var type_level = LOG_LEVELS[type];\n if (!(type_level >= logger_level)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n var log = console.log.bind(console);\n if (type === LOG_TYPE.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LOG_TYPE.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n var prefix = \"[\" + type + \"] \" + this._ts() + \" \" + this.name;\n var message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = prefix + \" - \" + msg[0];\n log(message);\n }\n else if (msg.length === 1) {\n message = prefix + \" \" + msg[0];\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n var obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = prefix + \" - \" + msg[0] + \" \" + obj;\n log(prefix + \" - \" + msg[0], obj);\n }\n else {\n message = prefix + \" \" + msg;\n log(prefix, msg);\n }\n try {\n for (var _b = __values(this._pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {\n var plugin = _c.value;\n var logEvent = { message: message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.log = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.info = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.warn = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.WARN], msg));\n };\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.error = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.ERROR], msg));\n };\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.debug = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.DEBUG], msg));\n };\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.verbose = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.VERBOSE], msg));\n };\n ConsoleLogger.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n };\n ConsoleLogger.prototype.listPluggables = function () {\n return this._pluggables;\n };\n ConsoleLogger.LOG_LEVEL = null;\n return ConsoleLogger;\n}());\nexport { ConsoleLogger };\n//# sourceMappingURL=ConsoleLogger.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Parser');\nexport var parseMobileHubConfig = function (config) {\n var amplifyConfig = {};\n // Analytics\n if (config['aws_mobile_analytics_app_id']) {\n var Analytics = {\n AWSPinpoint: {\n appId: config['aws_mobile_analytics_app_id'],\n region: config['aws_mobile_analytics_app_region'],\n },\n };\n amplifyConfig.Analytics = Analytics;\n }\n // Auth\n if (config['aws_cognito_identity_pool_id'] || config['aws_user_pools_id']) {\n amplifyConfig.Auth = {\n userPoolId: config['aws_user_pools_id'],\n userPoolWebClientId: config['aws_user_pools_web_client_id'],\n region: config['aws_cognito_region'],\n identityPoolId: config['aws_cognito_identity_pool_id'],\n identityPoolRegion: config['aws_cognito_region'],\n mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable',\n signUpVerificationMethod: config['aws_cognito_sign_up_verification_method'] || 'code',\n };\n }\n // Storage\n var storageConfig;\n if (config['aws_user_files_s3_bucket']) {\n storageConfig = {\n AWSS3: {\n bucket: config['aws_user_files_s3_bucket'],\n region: config['aws_user_files_s3_bucket_region'],\n dangerouslyConnectToHttpEndpointForTesting: config['aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing'],\n },\n };\n }\n else {\n storageConfig = config ? config.Storage || config : {};\n }\n // Logging\n if (config['Logging']) {\n amplifyConfig.Logging = __assign(__assign({}, config['Logging']), { region: config['aws_project_region'] });\n }\n // Geo\n if (config['geo']) {\n amplifyConfig.Geo = Object.assign({}, config.geo);\n if (config.geo['amazon_location_service']) {\n amplifyConfig.Geo = {\n AmazonLocationService: config.geo['amazon_location_service'],\n };\n }\n }\n amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics);\n amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth);\n amplifyConfig.Storage = Object.assign({}, storageConfig);\n amplifyConfig.Logging = Object.assign({}, amplifyConfig.Logging, config.Logging);\n logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig);\n return amplifyConfig;\n};\n/**\n * @deprecated use per-function export\n */\nvar Parser = /** @class */ (function () {\n function Parser() {\n }\n Parser.parseMobilehubConfig = parseMobileHubConfig;\n return Parser;\n}());\nexport { Parser };\n/**\n * @deprecated use per-function export\n */\nexport default Parser;\n//# sourceMappingURL=Parser.js.map","// generated by genversion\nexport var version = '4.7.2';\n//# sourceMappingURL=version.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false,\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\nexport var getAmplifyUserAgent = function (content) {\n return \"\" + Platform.userAgent + (content ? content : '');\n};\n/**\n * @deprecated use named import\n */\nexport default Platform;\n//# sourceMappingURL=index.js.map","/**\n * Date & time utility functions to abstract the `aws-sdk` away from users.\n * (v2 => v3 modularization is a breaking change)\n *\n * @see https://github.com/aws/aws-sdk-js/blob/6edf586dcc1de7fe8fbfbbd9a0d2b1847921e6e1/lib/util.js#L262\n */\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// Comment - TODO: remove\nvar FIVE_MINUTES_IN_MS = 1000 * 60 * 5;\nexport var DateUtils = {\n /**\n * Milliseconds to offset the date to compensate for clock skew between device & services\n */\n clockOffset: 0,\n getDateWithClockOffset: function () {\n if (DateUtils.clockOffset) {\n return new Date(new Date().getTime() + DateUtils.clockOffset);\n }\n else {\n return new Date();\n }\n },\n /**\n * @returns {number} Clock offset in milliseconds\n */\n getClockOffset: function () {\n return DateUtils.clockOffset;\n },\n getHeaderStringFromDate: function (date) {\n if (date === void 0) { date = DateUtils.getDateWithClockOffset(); }\n return date.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n },\n getDateFromHeaderString: function (header) {\n var _a = __read(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];\n return new Date(Date.UTC(Number(year), Number(month) - 1, Number(day), Number(hour), Number(minute), Number(second)));\n },\n isClockSkewed: function (serverDate) {\n // API gateway permits client calls that are off by no more than ±5 minutes\n return (Math.abs(serverDate.getTime() - DateUtils.getDateWithClockOffset().getTime()) >= FIVE_MINUTES_IN_MS);\n },\n isClockSkewError: function (error) {\n if (!error.response || !error.response.headers) {\n return false;\n }\n var headers = error.response.headers;\n return Boolean(['BadRequestException', 'InvalidSignatureException'].includes(headers['x-amzn-errortype']) &&\n (headers.date || headers.Date));\n },\n /**\n * @param {number} offset Clock offset in milliseconds\n */\n setClockOffset: function (offset) {\n DateUtils.clockOffset = offset;\n },\n};\n//# sourceMappingURL=DateUtils.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { ConsoleLogger as Logger } from './Logger';\nimport { Sha256 as jsSha256 } from '@aws-crypto/sha256-js';\nimport { toHex } from '@aws-sdk/util-hex-encoding';\nimport { parse, format } from 'url';\nimport { DateUtils } from './Util';\nvar logger = new Logger('Signer');\nvar DEFAULT_ALGORITHM = 'AWS4-HMAC-SHA256';\nvar IOT_SERVICE_NAME = 'iotdevicegateway';\nvar encrypt = function (key, src) {\n var hash = new jsSha256(key);\n hash.update(src);\n return hash.digestSync();\n};\nvar hash = function (src) {\n var arg = src || '';\n var hash = new jsSha256();\n hash.update(arg);\n return toHex(hash.digestSync());\n};\n/**\n * @private\n * RFC 3986 compliant version of encodeURIComponent\n */\nvar escape_RFC3986 = function (component) {\n return component.replace(/[!'()*]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n};\n/**\n * @private\n * Create canonical query string\n *\n */\nvar canonical_query = function (query) {\n if (!query || query.length === 0) {\n return '';\n }\n return query\n .split('&')\n .map(function (e) {\n var key_val = e.split('=');\n if (key_val.length === 1) {\n return e;\n }\n else {\n var reencoded_val = escape_RFC3986(key_val[1]);\n return key_val[0] + '=' + reencoded_val;\n }\n })\n .sort(function (a, b) {\n var key_a = a.split('=')[0];\n var key_b = b.split('=')[0];\n if (key_a === key_b) {\n return a < b ? -1 : 1;\n }\n else {\n return key_a < key_b ? -1 : 1;\n }\n })\n .join('&');\n};\n/**\n* @private\n* Create canonical headers\n*\n
\nCanonicalHeaders =\n    CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ... + CanonicalHeadersEntryN\nCanonicalHeadersEntry =\n    Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\\n'\n
\n*/\nvar canonical_headers = function (headers) {\n if (!headers || Object.keys(headers).length === 0) {\n return '';\n }\n return (Object.keys(headers)\n .map(function (key) {\n return {\n key: key.toLowerCase(),\n value: headers[key] ? headers[key].trim().replace(/\\s+/g, ' ') : '',\n };\n })\n .sort(function (a, b) {\n return a.key < b.key ? -1 : 1;\n })\n .map(function (item) {\n return item.key + ':' + item.value;\n })\n .join('\\n') + '\\n');\n};\n/**\n * List of header keys included in the canonical headers.\n * @access private\n */\nvar signed_headers = function (headers) {\n return Object.keys(headers)\n .map(function (key) {\n return key.toLowerCase();\n })\n .sort()\n .join(';');\n};\n/**\n* @private\n* Create canonical request\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html|Create a Canonical Request}\n*\n
\nCanonicalRequest =\n    HTTPRequestMethod + '\\n' +\n    CanonicalURI + '\\n' +\n    CanonicalQueryString + '\\n' +\n    CanonicalHeaders + '\\n' +\n    SignedHeaders + '\\n' +\n    HexEncode(Hash(RequestPayload))\n
\n*/\nvar canonical_request = function (request) {\n var url_info = parse(request.url);\n return [\n request.method || '/',\n encodeURIComponent(url_info.pathname).replace(/%2F/gi, '/'),\n canonical_query(url_info.query),\n canonical_headers(request.headers),\n signed_headers(request.headers),\n hash(request.data),\n ].join('\\n');\n};\nvar parse_service_info = function (request) {\n var url_info = parse(request.url), host = url_info.host;\n var matched = host.match(/([^\\.]+)\\.(?:([^\\.]*)\\.)?amazonaws\\.com$/);\n var parsed = (matched || []).slice(1, 3);\n if (parsed[1] === 'es') {\n // Elastic Search\n parsed = parsed.reverse();\n }\n return {\n service: request.service || parsed[0],\n region: request.region || parsed[1],\n };\n};\nvar credential_scope = function (d_str, region, service) {\n return [d_str, region, service, 'aws4_request'].join('/');\n};\n/**\n* @private\n* Create a string to sign\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html|Create String to Sign}\n*\n
\nStringToSign =\n    Algorithm + \\n +\n    RequestDateTime + \\n +\n    CredentialScope + \\n +\n    HashedCanonicalRequest\n
\n*/\nvar string_to_sign = function (algorithm, canonical_request, dt_str, scope) {\n return [algorithm, dt_str, scope, hash(canonical_request)].join('\\n');\n};\n/**\n* @private\n* Create signing key\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html|Calculate Signature}\n*\n
\nkSecret = your secret access key\nkDate = HMAC(\"AWS4\" + kSecret, Date)\nkRegion = HMAC(kDate, Region)\nkService = HMAC(kRegion, Service)\nkSigning = HMAC(kService, \"aws4_request\")\n
\n*/\nvar get_signing_key = function (secret_key, d_str, service_info) {\n logger.debug(service_info);\n var k = 'AWS4' + secret_key, k_date = encrypt(k, d_str), k_region = encrypt(k_date, service_info.region), k_service = encrypt(k_region, service_info.service), k_signing = encrypt(k_service, 'aws4_request');\n return k_signing;\n};\nvar get_signature = function (signing_key, str_to_sign) {\n return toHex(encrypt(signing_key, str_to_sign));\n};\n/**\n * @private\n * Create authorization header\n * Refer to\n * {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html|Add the Signing Information}\n */\nvar get_authorization_header = function (algorithm, access_key, scope, signed_headers, signature) {\n return [\n algorithm + ' ' + 'Credential=' + access_key + '/' + scope,\n 'SignedHeaders=' + signed_headers,\n 'Signature=' + signature,\n ].join(', ');\n};\nvar Signer = /** @class */ (function () {\n function Signer() {\n }\n /**\n * Sign a HTTP request, add 'Authorization' header to request param\n * @method sign\n * @memberof Signer\n * @static\n *\n * @param {object} request - HTTP request object\n
\n    request: {\n        method: GET | POST | PUT ...\n        url: ...,\n        headers: {\n            header1: ...\n        },\n        data: data\n    }\n    
\n * @param {object} access_info - AWS access credential info\n
\n    access_info: {\n        access_key: ...,\n        secret_key: ...,\n        session_token: ...\n    }\n    
\n * @param {object} [service_info] - AWS service type and region, optional,\n * if not provided then parse out from url\n
\n    service_info: {\n        service: ...,\n        region: ...\n    }\n    
\n *\n * @returns {object} Signed HTTP request\n */\n Signer.sign = function (request, access_info, service_info) {\n if (service_info === void 0) { service_info = null; }\n request.headers = request.headers || {};\n if (request.body && !request.data) {\n throw new Error('The attribute \"body\" was found on the request object. Please use the attribute \"data\" instead.');\n }\n // datetime string and date string\n var dt = DateUtils.getDateWithClockOffset(), dt_str = dt.toISOString().replace(/[:\\-]|\\.\\d{3}/g, ''), d_str = dt_str.substr(0, 8);\n var url_info = parse(request.url);\n request.headers['host'] = url_info.host;\n request.headers['x-amz-date'] = dt_str;\n if (access_info.session_token) {\n request.headers['X-Amz-Security-Token'] = access_info.session_token;\n }\n // Task 1: Create a Canonical Request\n var request_str = canonical_request(request);\n logger.debug(request_str);\n // Task 2: Create a String to Sign\n var serviceInfo = service_info || parse_service_info(request), scope = credential_scope(d_str, serviceInfo.region, serviceInfo.service), str_to_sign = string_to_sign(DEFAULT_ALGORITHM, request_str, dt_str, scope);\n // Task 3: Calculate the Signature\n var signing_key = get_signing_key(access_info.secret_key, d_str, serviceInfo), signature = get_signature(signing_key, str_to_sign);\n // Task 4: Adding the Signing information to the Request\n var authorization_header = get_authorization_header(DEFAULT_ALGORITHM, access_info.access_key, scope, signed_headers(request.headers), signature);\n request.headers['Authorization'] = authorization_header;\n return request;\n };\n Signer.signUrl = function (urlOrRequest, accessInfo, serviceInfo, expiration) {\n var urlToSign = typeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;\n var method = typeof urlOrRequest === 'object' ? urlOrRequest.method : 'GET';\n var body = typeof urlOrRequest === 'object' ? urlOrRequest.body : undefined;\n var now = DateUtils.getDateWithClockOffset()\n .toISOString()\n .replace(/[:\\-]|\\.\\d{3}/g, '');\n var today = now.substr(0, 8);\n // Intentionally discarding search\n var _a = parse(urlToSign, true, true), search = _a.search, parsedUrl = __rest(_a, [\"search\"]);\n var host = parsedUrl.host;\n var signedHeaders = { host: host };\n var _b = serviceInfo || parse_service_info({ url: format(parsedUrl) }), region = _b.region, service = _b.service;\n var credentialScope = credential_scope(today, region, service);\n // IoT service does not allow the session token in the canonical request\n // https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html\n var sessionTokenRequired = accessInfo.session_token && service !== IOT_SERVICE_NAME;\n var queryParams = __assign(__assign(__assign({ 'X-Amz-Algorithm': DEFAULT_ALGORITHM, 'X-Amz-Credential': [accessInfo.access_key, credentialScope].join('/'), 'X-Amz-Date': now.substr(0, 16) }, (sessionTokenRequired\n ? { 'X-Amz-Security-Token': \"\" + accessInfo.session_token }\n : {})), (expiration ? { 'X-Amz-Expires': \"\" + expiration } : {})), { 'X-Amz-SignedHeaders': Object.keys(signedHeaders).join(',') });\n var canonicalRequest = canonical_request({\n method: method,\n url: format(__assign(__assign({}, parsedUrl), { query: __assign(__assign({}, parsedUrl.query), queryParams) })),\n headers: signedHeaders,\n data: body,\n });\n var stringToSign = string_to_sign(DEFAULT_ALGORITHM, canonicalRequest, now, credentialScope);\n var signing_key = get_signing_key(accessInfo.secret_key, today, {\n region: region,\n service: service,\n });\n var signature = get_signature(signing_key, stringToSign);\n var additionalQueryParams = __assign({ 'X-Amz-Signature': signature }, (accessInfo.session_token && {\n 'X-Amz-Security-Token': accessInfo.session_token,\n }));\n var result = format({\n protocol: parsedUrl.protocol,\n slashes: true,\n hostname: parsedUrl.hostname,\n port: parsedUrl.port,\n pathname: parsedUrl.pathname,\n query: __assign(__assign(__assign({}, parsedUrl.query), queryParams), additionalQueryParams),\n });\n return result;\n };\n return Signer;\n}());\nexport { Signer };\n/**\n * @deprecated use per-function import\n */\nexport default Signer;\n//# sourceMappingURL=Signer.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar dataMemory = {};\n/** @class */\nvar MemoryStorage = /** @class */ (function () {\n function MemoryStorage() {\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function (key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n };\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n MemoryStorage.getItem = function (key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key)\n ? dataMemory[key]\n : undefined;\n };\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n MemoryStorage.removeItem = function (key) {\n return delete dataMemory[key];\n };\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n MemoryStorage.clear = function () {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}());\nexport { MemoryStorage };\nvar StorageHelper = /** @class */ (function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.amplify.test-ls', 1);\n this.storageWindow.removeItem('aws.amplify.test-ls');\n }\n catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n StorageHelper.prototype.getStorage = function () {\n return this.storageWindow;\n };\n return StorageHelper;\n}());\nexport { StorageHelper };\n/**\n * @deprecated use named import\n */\nexport default StorageHelper;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { ConsoleLogger as Logger } from '../Logger/ConsoleLogger';\nvar logger = new Logger('Util');\nvar NonRetryableError = /** @class */ (function (_super) {\n __extends(NonRetryableError, _super);\n function NonRetryableError(message) {\n var _this = _super.call(this, message) || this;\n _this.nonRetryable = true;\n return _this;\n }\n return NonRetryableError;\n}(Error));\nexport { NonRetryableError };\nvar isNonRetryableError = function (obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) { attempt = 1; }\n return __awaiter(this, void 0, void 0, function () {\n var err_1, retryIn_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with this vars: \" + JSON.stringify(args));\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 8]);\n return [4 /*yield*/, functionToRetry.apply(void 0, __spread(args))];\n case 2: return [2 /*return*/, _a.sent()];\n case 3:\n err_1 = _a.sent();\n logger.debug(\"error on \" + functionToRetry.name, err_1);\n if (isNonRetryableError(err_1)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err_1);\n throw err_1;\n }\n retryIn_1 = delayFn(attempt, args, err_1);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn_1 + \" ms\");\n if (!(retryIn_1 !== false)) return [3 /*break*/, 6];\n return [4 /*yield*/, new Promise(function (res) { return setTimeout(res, retryIn_1); })];\n case 4:\n _a.sent();\n return [4 /*yield*/, retry(functionToRetry, args, delayFn, attempt + 1)];\n case 5: return [2 /*return*/, _a.sent()];\n case 6: throw err_1;\n case 7: return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(maxDelayMs) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n/**\n * @private\n * Internal use of Amplify only\n */\nexport var jitteredExponentialRetry = function (functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n};\n//# sourceMappingURL=Retry.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { MqttOverWSProvider } from './MqttOverWSProvider';\nimport { Signer, Credentials } from '@aws-amplify/core';\nvar SERVICE_NAME = 'iotdevicegateway';\nvar AWSIoTProvider = /** @class */ (function (_super) {\n __extends(AWSIoTProvider, _super);\n function AWSIoTProvider(options) {\n if (options === void 0) { options = {}; }\n return _super.call(this, options) || this;\n }\n Object.defineProperty(AWSIoTProvider.prototype, \"region\", {\n get: function () {\n return this.options.aws_pubsub_region;\n },\n enumerable: true,\n configurable: true\n });\n AWSIoTProvider.prototype.getProviderName = function () {\n return 'AWSIoTProvider';\n };\n Object.defineProperty(AWSIoTProvider.prototype, \"endpoint\", {\n get: function () {\n var _this = this;\n return (function () { return __awaiter(_this, void 0, void 0, function () {\n var endpoint, serviceInfo, _a, access_key, secret_key, session_token, result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n endpoint = this.options.aws_pubsub_endpoint;\n serviceInfo = {\n service: SERVICE_NAME,\n region: this.region,\n };\n return [4 /*yield*/, Credentials.get()];\n case 1:\n _a = _b.sent(), access_key = _a.accessKeyId, secret_key = _a.secretAccessKey, session_token = _a.sessionToken;\n result = Signer.signUrl(endpoint, { access_key: access_key, secret_key: secret_key, session_token: session_token }, serviceInfo);\n return [2 /*return*/, result];\n }\n });\n }); })();\n },\n enumerable: true,\n configurable: true\n });\n return AWSIoTProvider;\n}(MqttOverWSProvider));\nexport { AWSIoTProvider };\n//# sourceMappingURL=AWSIotProvider.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport * as Paho from 'paho-mqtt';\nimport { v4 as uuid } from 'uuid';\nimport Observable from 'zen-observable-ts';\nimport { AbstractPubSubProvider } from './PubSubProvider';\nimport { ConsoleLogger as Logger, Hub } from '@aws-amplify/core';\nimport { ConnectionStateMonitor, CONNECTION_CHANGE, } from '../utils/ConnectionStateMonitor';\nimport { AMPLIFY_SYMBOL } from './constants';\nimport { CONNECTION_STATE_CHANGE } from '..';\nvar logger = new Logger('MqttOverWSProvider');\nexport function mqttTopicMatch(filter, topic) {\n var filterArray = filter.split('/');\n var length = filterArray.length;\n var topicArray = topic.split('/');\n for (var i = 0; i < length; ++i) {\n var left = filterArray[i];\n var right = topicArray[i];\n if (left === '#')\n return topicArray.length >= length;\n if (left !== '+' && left !== right)\n return false;\n }\n return length === topicArray.length;\n}\nvar ClientsQueue = /** @class */ (function () {\n function ClientsQueue() {\n this.promises = new Map();\n }\n ClientsQueue.prototype.get = function (clientId, clientFactory) {\n return __awaiter(this, void 0, void 0, function () {\n var cachedPromise, newPromise;\n return __generator(this, function (_a) {\n cachedPromise = this.promises.get(clientId);\n if (cachedPromise) {\n return [2 /*return*/, cachedPromise];\n }\n if (clientFactory) {\n newPromise = clientFactory(clientId);\n this.promises.set(clientId, newPromise);\n return [2 /*return*/, newPromise];\n }\n return [2 /*return*/, undefined];\n });\n });\n };\n Object.defineProperty(ClientsQueue.prototype, \"allClients\", {\n get: function () {\n return Array.from(this.promises.keys());\n },\n enumerable: true,\n configurable: true\n });\n ClientsQueue.prototype.remove = function (clientId) {\n this.promises.delete(clientId);\n };\n return ClientsQueue;\n}());\nvar dispatchPubSubEvent = function (event, data, message) {\n Hub.dispatch('pubsub', { event: event, data: data, message: message }, 'PubSub', AMPLIFY_SYMBOL);\n};\nvar topicSymbol = typeof Symbol !== 'undefined' ? Symbol('topic') : '@@topic';\nvar MqttOverWSProvider = /** @class */ (function (_super) {\n __extends(MqttOverWSProvider, _super);\n function MqttOverWSProvider(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, __assign(__assign({}, options), { clientId: options.clientId || uuid() })) || this;\n _this._clientsQueue = new ClientsQueue();\n _this.connectionStateMonitor = new ConnectionStateMonitor();\n _this._topicObservers = new Map();\n _this._clientIdObservers = new Map();\n // Monitor the connection health state and pass changes along to Hub\n _this.connectionStateMonitor.connectionStateObservable.subscribe(function (connectionStateChange) {\n dispatchPubSubEvent(CONNECTION_STATE_CHANGE, {\n provider: _this,\n connectionState: connectionStateChange,\n }, \"Connection state is \" + connectionStateChange);\n });\n return _this;\n }\n Object.defineProperty(MqttOverWSProvider.prototype, \"clientId\", {\n get: function () {\n return this.options.clientId;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MqttOverWSProvider.prototype, \"endpoint\", {\n get: function () {\n return this.options.aws_pubsub_endpoint;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MqttOverWSProvider.prototype, \"clientsQueue\", {\n get: function () {\n return this._clientsQueue;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MqttOverWSProvider.prototype, \"isSSLEnabled\", {\n get: function () {\n return !this.options\n .aws_appsync_dangerously_connect_to_http_endpoint_for_testing;\n },\n enumerable: true,\n configurable: true\n });\n MqttOverWSProvider.prototype.getTopicForValue = function (value) {\n return typeof value === 'object' && value[topicSymbol];\n };\n MqttOverWSProvider.prototype.getProviderName = function () {\n return 'MqttOverWSProvider';\n };\n MqttOverWSProvider.prototype.onDisconnect = function (_a) {\n var _this = this;\n var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, [\"clientId\", \"errorCode\"]);\n if (errorCode !== 0) {\n logger.warn(clientId, JSON.stringify(__assign({ errorCode: errorCode }, args), null, 2));\n var topicsToDelete_1 = [];\n if (!clientId) {\n return;\n }\n var clientIdObservers = this._clientIdObservers.get(clientId);\n if (!clientIdObservers) {\n return;\n }\n clientIdObservers.forEach(function (observer) {\n observer.error('Disconnected, error code: ' + errorCode);\n // removing observers for disconnected clientId\n _this._topicObservers.forEach(function (observerForTopic, observerTopic) {\n observerForTopic.delete(observer);\n if (observerForTopic.size === 0) {\n topicsToDelete_1.push(observerTopic);\n }\n });\n });\n // forgiving any trace of clientId\n this._clientIdObservers.delete(clientId);\n // Removing topics that are not listen by an observer\n topicsToDelete_1.forEach(function (topic) {\n _this._topicObservers.delete(topic);\n });\n }\n };\n MqttOverWSProvider.prototype.newClient = function (_a) {\n var url = _a.url, clientId = _a.clientId;\n return __awaiter(this, void 0, void 0, function () {\n var client;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug('Creating new MQTT client', clientId);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.OPENING_CONNECTION);\n client = new Paho.Client(url, clientId);\n // client.trace = (args) => logger.debug(clientId, JSON.stringify(args, null, 2));\n client.onMessageArrived = function (_a) {\n var topic = _a.destinationName, msg = _a.payloadString;\n _this._onMessage(topic, msg);\n };\n client.onConnectionLost = function (_a) {\n var errorCode = _a.errorCode, args = __rest(_a, [\"errorCode\"]);\n _this.onDisconnect(__assign({ clientId: clientId, errorCode: errorCode }, args));\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n };\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n client.connect({\n useSSL: _this.isSSLEnabled,\n mqttVersion: 3,\n onSuccess: function () { return resolve(client); },\n onFailure: function () {\n reject();\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_FAILED);\n },\n });\n })];\n case 1:\n _b.sent();\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_ESTABLISHED);\n return [2 /*return*/, client];\n }\n });\n });\n };\n MqttOverWSProvider.prototype.connect = function (clientId, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function (clientId) {\n return _this.newClient(__assign(__assign({}, options), { clientId: clientId }));\n })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n MqttOverWSProvider.prototype.disconnect = function (clientId) {\n return __awaiter(this, void 0, void 0, function () {\n var client;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.clientsQueue.get(clientId)];\n case 1:\n client = _a.sent();\n if (client && client.isConnected()) {\n client.disconnect();\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n }\n this.clientsQueue.remove(clientId);\n return [2 /*return*/];\n }\n });\n });\n };\n MqttOverWSProvider.prototype.publish = function (topics, msg) {\n return __awaiter(this, void 0, void 0, function () {\n var targetTopics, message, url, client;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n targetTopics = [].concat(topics);\n message = JSON.stringify(msg);\n return [4 /*yield*/, this.endpoint];\n case 1:\n url = _a.sent();\n return [4 /*yield*/, this.connect(this.clientId, { url: url })];\n case 2:\n client = _a.sent();\n logger.debug('Publishing to topic(s)', targetTopics.join(','), message);\n targetTopics.forEach(function (topic) { return client.send(topic, message); });\n return [2 /*return*/];\n }\n });\n });\n };\n MqttOverWSProvider.prototype._onMessage = function (topic, msg) {\n try {\n var matchedTopicObservers_1 = [];\n this._topicObservers.forEach(function (observerForTopic, observerTopic) {\n if (mqttTopicMatch(observerTopic, topic)) {\n matchedTopicObservers_1.push(observerForTopic);\n }\n });\n var parsedMessage_1 = JSON.parse(msg);\n if (typeof parsedMessage_1 === 'object') {\n parsedMessage_1[topicSymbol] = topic;\n }\n matchedTopicObservers_1.forEach(function (observersForTopic) {\n observersForTopic.forEach(function (observer) { return observer.next(parsedMessage_1); });\n });\n }\n catch (error) {\n logger.warn('Error handling message', error, msg);\n }\n };\n MqttOverWSProvider.prototype.subscribe = function (topics, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n var targetTopics = [].concat(topics);\n logger.debug('Subscribing to topic(s)', targetTopics.join(','));\n return new Observable(function (observer) {\n targetTopics.forEach(function (topic) {\n // this._topicObservers is used to notify the observers according to the topic received on the message\n var observersForTopic = _this._topicObservers.get(topic);\n if (!observersForTopic) {\n observersForTopic = new Set();\n _this._topicObservers.set(topic, observersForTopic);\n }\n observersForTopic.add(observer);\n });\n // @ts-ignore\n var client;\n var _a = options.clientId, clientId = _a === void 0 ? _this.clientId : _a;\n // this._clientIdObservers is used to close observers when client gets disconnected\n var observersForClientId = _this._clientIdObservers.get(clientId);\n if (!observersForClientId) {\n observersForClientId = new Set();\n }\n observersForClientId.add(observer);\n _this._clientIdObservers.set(clientId, observersForClientId);\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, url, _b, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = options.url;\n if (!(_a === void 0)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.endpoint];\n case 1:\n _b = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _b = _a;\n _c.label = 3;\n case 3:\n url = _b;\n _c.label = 4;\n case 4:\n _c.trys.push([4, 6, , 7]);\n return [4 /*yield*/, this.connect(clientId, { url: url })];\n case 5:\n client = _c.sent();\n targetTopics.forEach(function (topic) {\n client.subscribe(topic);\n });\n return [3 /*break*/, 7];\n case 6:\n e_1 = _c.sent();\n observer.error(e_1);\n return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n }); })();\n return function () {\n var _a, _b;\n logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));\n if (client) {\n (_a = _this._clientIdObservers.get(clientId)) === null || _a === void 0 ? void 0 : _a.delete(observer);\n // No more observers per client => client not needed anymore\n if (((_b = _this._clientIdObservers.get(clientId)) === null || _b === void 0 ? void 0 : _b.size) === 0) {\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSING_CONNECTION);\n _this.disconnect(clientId);\n _this._clientIdObservers.delete(clientId);\n }\n targetTopics.forEach(function (topic) {\n var observersForTopic = _this._topicObservers.get(topic) ||\n new Set();\n observersForTopic.delete(observer);\n // if no observers exists for the topic, topic should be removed\n if (observersForTopic.size === 0) {\n _this._topicObservers.delete(topic);\n if (client.isConnected()) {\n client.unsubscribe(topic);\n }\n }\n });\n }\n return null;\n };\n });\n };\n return MqttOverWSProvider;\n}(AbstractPubSubProvider));\nexport { MqttOverWSProvider };\n//# sourceMappingURL=MqttOverWSProvider.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('AbstractPubSubProvider');\nvar AbstractPubSubProvider = /** @class */ (function () {\n function AbstractPubSubProvider(options) {\n if (options === void 0) { options = {}; }\n this._config = options;\n }\n AbstractPubSubProvider.prototype.configure = function (config) {\n if (config === void 0) { config = {}; }\n this._config = __assign(__assign({}, config), this._config);\n logger.debug(\"configure \" + this.getProviderName(), this._config);\n return this.options;\n };\n AbstractPubSubProvider.prototype.getCategory = function () {\n return 'PubSub';\n };\n Object.defineProperty(AbstractPubSubProvider.prototype, \"options\", {\n get: function () {\n return __assign({}, this._config);\n },\n enumerable: true,\n configurable: true\n });\n return AbstractPubSubProvider;\n}());\nexport { AbstractPubSubProvider };\n//# sourceMappingURL=PubSubProvider.js.map","export var MAX_DELAY_MS = 5000;\nexport var NON_RETRYABLE_CODES = [400, 401, 403];\nexport var MESSAGE_TYPES;\n(function (MESSAGE_TYPES) {\n /**\n * Client -> Server message.\n * This message type is the first message after handshake and this will initialize AWS AppSync RealTime communication\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_INIT\"] = \"connection_init\";\n /**\n * Server -> Client message\n * This message type is in case there is an issue with AWS AppSync RealTime when establishing connection\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_ERROR\"] = \"connection_error\";\n /**\n * Server -> Client message.\n * This message type is for the ack response from AWS AppSync RealTime for GQL_CONNECTION_INIT message\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_ACK\"] = \"connection_ack\";\n /**\n * Client -> Server message.\n * This message type is for register subscriptions with AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_START\"] = \"start\";\n /**\n * Server -> Client message.\n * This message type is for the ack response from AWS AppSync RealTime for GQL_START message\n */\n MESSAGE_TYPES[\"GQL_START_ACK\"] = \"start_ack\";\n /**\n * Server -> Client message.\n * This message type is for subscription message from AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_DATA\"] = \"data\";\n /**\n * Server -> Client message.\n * This message type helps the client to know is still receiving messages from AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_KEEP_ALIVE\"] = \"ka\";\n /**\n * Client -> Server message.\n * This message type is for unregister subscriptions with AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_STOP\"] = \"stop\";\n /**\n * Server -> Client message.\n * This message type is for the ack response from AWS AppSync RealTime for GQL_STOP message\n */\n MESSAGE_TYPES[\"GQL_COMPLETE\"] = \"complete\";\n /**\n * Server -> Client message.\n * This message type is for sending error messages from AWS AppSync RealTime to the client\n */\n MESSAGE_TYPES[\"GQL_ERROR\"] = \"error\";\n})(MESSAGE_TYPES || (MESSAGE_TYPES = {}));\nexport var SUBSCRIPTION_STATUS;\n(function (SUBSCRIPTION_STATUS) {\n SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS[\"PENDING\"] = 0] = \"PENDING\";\n SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS[\"CONNECTED\"] = 1] = \"CONNECTED\";\n SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS[\"FAILED\"] = 2] = \"FAILED\";\n})(SUBSCRIPTION_STATUS || (SUBSCRIPTION_STATUS = {}));\nexport var SOCKET_STATUS;\n(function (SOCKET_STATUS) {\n SOCKET_STATUS[SOCKET_STATUS[\"CLOSED\"] = 0] = \"CLOSED\";\n SOCKET_STATUS[SOCKET_STATUS[\"READY\"] = 1] = \"READY\";\n SOCKET_STATUS[SOCKET_STATUS[\"CONNECTING\"] = 2] = \"CONNECTING\";\n})(SOCKET_STATUS || (SOCKET_STATUS = {}));\nexport var AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nexport var AWS_APPSYNC_REALTIME_HEADERS = {\n accept: 'application/json, text/javascript',\n 'content-encoding': 'amz-1.0',\n 'content-type': 'application/json; charset=UTF-8',\n};\n/**\n * Time in milleseconds to wait for GQL_CONNECTION_INIT message\n */\nexport var CONNECTION_INIT_TIMEOUT = 15000;\n/**\n * Time in milleseconds to wait for GQL_START_ACK message\n */\nexport var START_ACK_TIMEOUT = 15000;\n/**\n * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message\n */\nexport var DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;\n/**\n * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message\n */\nexport var DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;\n//# sourceMappingURL=constants.js.map","/*\n * Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n/**\n * This Symbol is used to reference an internal-only PubSub provider that\n * is used for AppSync/GraphQL subscriptions in the API category.\n */\nvar hasSymbol = typeof Symbol !== 'undefined' && typeof Symbol.for === 'function';\n/**\n * @deprecated Unused, all usecases have migrated to INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER\n */\nexport var INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER = hasSymbol\n ? Symbol.for('INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER')\n : '@@INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER';\nexport var INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER = hasSymbol\n ? Symbol.for('INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER')\n : '@@INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER';\nexport var USER_AGENT_HEADER = 'x-amz-user-agent';\n//# sourceMappingURL=constants.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport Observable from 'zen-observable-ts';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { MqttOverWSProvider } from './MqttOverWSProvider';\nvar logger = new Logger('AWSAppSyncProvider');\n/**\n * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider\n */\nvar AWSAppSyncProvider = /** @class */ (function (_super) {\n __extends(AWSAppSyncProvider, _super);\n function AWSAppSyncProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._topicClient = new Map();\n _this._topicAlias = new Map();\n return _this;\n }\n Object.defineProperty(AWSAppSyncProvider.prototype, \"endpoint\", {\n get: function () {\n throw new Error('Not supported');\n },\n enumerable: true,\n configurable: true\n });\n AWSAppSyncProvider.prototype.getProviderName = function () {\n return 'AWSAppSyncProvider';\n };\n AWSAppSyncProvider.prototype.publish = function (topics, msg, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw new Error('Operation not supported');\n });\n });\n };\n AWSAppSyncProvider.prototype._cleanUp = function (clientId) {\n var _this = this;\n var topicsForClient = Array.from(this._topicClient.entries())\n .filter(function (_a) {\n var _b = __read(_a, 2), c = _b[1];\n return c.clientId === clientId;\n })\n .map(function (_a) {\n var _b = __read(_a, 1), t = _b[0];\n return t;\n });\n topicsForClient.forEach(function (t) { return _this._cleanUpForTopic(t); });\n };\n AWSAppSyncProvider.prototype._cleanUpForTopic = function (topic) {\n this._topicClient.delete(topic);\n this._topicAlias.delete(topic);\n };\n AWSAppSyncProvider.prototype.onDisconnect = function (_a) {\n var _this = this;\n var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, [\"clientId\", \"errorCode\"]);\n if (errorCode !== 0) {\n var topicsForClient = Array.from(this._topicClient.entries())\n .filter(function (_a) {\n var _b = __read(_a, 2), c = _b[1];\n return c.clientId === clientId;\n })\n .map(function (_a) {\n var _b = __read(_a, 1), t = _b[0];\n return t;\n });\n topicsForClient.forEach(function (topic) {\n if (_this._topicObservers.has(topic)) {\n _this._topicObservers.get(topic).forEach(function (obs) {\n if (!obs.closed) {\n obs.error(args);\n }\n });\n _this._topicObservers.delete(topic);\n }\n });\n this._cleanUp(clientId);\n }\n };\n AWSAppSyncProvider.prototype.disconnect = function (clientId) {\n return __awaiter(this, void 0, void 0, function () {\n var client;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function () { return null; })];\n case 1:\n client = _a.sent();\n return [4 /*yield*/, _super.prototype.disconnect.call(this, clientId)];\n case 2:\n _a.sent();\n this._cleanUp(clientId);\n return [2 /*return*/];\n }\n });\n });\n };\n AWSAppSyncProvider.prototype.subscribe = function (topics, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n var result = new Observable(function (observer) {\n var targetTopics = [].concat(topics);\n logger.debug('Subscribing to topic(s)', targetTopics.join(','));\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, mqttConnections, newSubscriptions, newAliases, map;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n // Add these topics to map\n targetTopics.forEach(function (t) {\n if (!_this._topicObservers.has(t)) {\n _this._topicObservers.set(t, new Set());\n }\n _this._topicObservers.get(t).add(observer);\n });\n _a = options.mqttConnections, mqttConnections = _a === void 0 ? [] : _a, newSubscriptions = options.newSubscriptions;\n newAliases = Object.entries(newSubscriptions).map(function (_a) {\n var _b = __read(_a, 2), alias = _b[0], v = _b[1];\n return [v.topic, alias];\n });\n // Merge new aliases with old ones\n this._topicAlias = new Map(__spread(Array.from(this._topicAlias.entries()), newAliases));\n map = Object.entries(targetTopics.reduce(function (acc, elem) {\n var connectionInfoForTopic = mqttConnections.find(function (c) { return c.topics.indexOf(elem) > -1; });\n if (connectionInfoForTopic) {\n var clientId = connectionInfoForTopic.client, url = connectionInfoForTopic.url;\n if (!acc[clientId]) {\n acc[clientId] = {\n url: url,\n topics: new Set(),\n };\n }\n acc[clientId].topics.add(elem);\n }\n return acc;\n }, {}));\n // reconnect everything we have in the map\n return [4 /*yield*/, Promise.all(map.map(function (_a) {\n var _b = __read(_a, 2), clientId = _b[0], _c = _b[1], url = _c.url, topics = _c.topics;\n return __awaiter(_this, void 0, void 0, function () {\n var client, err_1;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n client = null;\n _d.label = 1;\n case 1:\n _d.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.connect(clientId, {\n clientId: clientId,\n url: url,\n })];\n case 2:\n client = _d.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _d.sent();\n observer.error({ message: 'Failed to connect', error: err_1 });\n observer.complete();\n return [2 /*return*/, undefined];\n case 4:\n // subscribe to all topics for this client\n // store topic-client mapping\n topics.forEach(function (topic) {\n if (client.isConnected()) {\n client.subscribe(topic);\n _this._topicClient.set(topic, client);\n }\n });\n return [2 /*return*/, client];\n }\n });\n });\n }))];\n case 1:\n // reconnect everything we have in the map\n _b.sent();\n return [2 /*return*/];\n }\n });\n }); })();\n return function () {\n logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));\n targetTopics.forEach(function (t) {\n var client = _this._topicClient.get(t);\n if (client && client.isConnected()) {\n client.unsubscribe(t);\n _this._topicClient.delete(t);\n if (!Array.from(_this._topicClient.values()).some(function (c) { return c === client; })) {\n _this.disconnect(client.clientId);\n }\n }\n _this._topicObservers.delete(t);\n });\n };\n });\n return Observable.from(result).map(function (value) {\n var topic = _this.getTopicForValue(value);\n var alias = _this._topicAlias.get(topic);\n value.data = Object.entries(value.data).reduce(function (obj, _a) {\n var _b = __read(_a, 2), origKey = _b[0], val = _b[1];\n return ((obj[(alias || origKey)] = val), obj);\n }, {});\n return value;\n });\n };\n return AWSAppSyncProvider;\n}(MqttOverWSProvider));\nexport { AWSAppSyncProvider };\n//# sourceMappingURL=AWSAppSyncProvider.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { Amplify } from './Amplify';\nimport { Platform } from './Platform';\nexport { AmplifyClass } from './Amplify';\nexport { ClientDevice } from './ClientDevice';\nexport { ConsoleLogger, ConsoleLogger as Logger } from './Logger';\nexport * from './Errors';\nexport { Hub } from './Hub';\nexport { I18n } from './I18n';\nexport * from './JS';\nexport { Signer } from './Signer';\nexport * from './Parser';\nexport * from './Providers';\nexport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nexport * from './RNComponents';\nexport { Credentials, CredentialsClass } from './Credentials';\nexport { ServiceWorker } from './ServiceWorker';\nexport { StorageHelper, MemoryStorage } from './StorageHelper';\nexport { UniversalStorage } from './UniversalStorage';\nexport { Platform, getAmplifyUserAgent } from './Platform';\nexport * from './constants';\nexport var Constants = {\n userAgent: Platform.userAgent,\n};\nexport * from './constants';\nexport * from './Util';\nexport { Amplify };\n/**\n * @deprecated use named import\n */\nexport default Amplify;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n/*\n * Copyright 2017-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport Observable from 'zen-observable-ts';\nimport { GraphQLError } from 'graphql';\nimport * as url from 'url';\nimport { v4 as uuid } from 'uuid';\nimport { Buffer } from 'buffer';\nimport { Logger, Credentials, Signer, Hub, Constants, USER_AGENT_HEADER, jitteredExponentialRetry, NonRetryableError, } from '@aws-amplify/core';\nimport Cache from '@aws-amplify/cache';\nimport Auth from '@aws-amplify/auth';\nimport { AbstractPubSubProvider } from '../PubSubProvider';\nimport { CONNECTION_STATE_CHANGE, CONTROL_MSG } from '../../index';\nimport { AMPLIFY_SYMBOL, AWS_APPSYNC_REALTIME_HEADERS, CONNECTION_INIT_TIMEOUT, DEFAULT_KEEP_ALIVE_TIMEOUT, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT, MAX_DELAY_MS, MESSAGE_TYPES, NON_RETRYABLE_CODES, SOCKET_STATUS, START_ACK_TIMEOUT, SUBSCRIPTION_STATUS, } from '../constants';\nimport { ConnectionStateMonitor, CONNECTION_CHANGE, } from '../../utils/ConnectionStateMonitor';\nvar logger = new Logger('AWSAppSyncRealTimeProvider');\nvar dispatchApiEvent = function (event, data, message) {\n Hub.dispatch('api', { event: event, data: data, message: message }, 'PubSub', AMPLIFY_SYMBOL);\n};\nvar standardDomainPattern = /^https:\\/\\/\\w{26}\\.appsync\\-api\\.\\w{2}(?:(?:\\-\\w{2,})+)\\-\\d\\.amazonaws.com\\/graphql$/i;\nvar customDomainPath = '/realtime';\nvar AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {\n __extends(AWSAppSyncRealTimeProvider, _super);\n function AWSAppSyncRealTimeProvider(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, options) || this;\n _this.socketStatus = SOCKET_STATUS.CLOSED;\n _this.keepAliveTimeout = DEFAULT_KEEP_ALIVE_TIMEOUT;\n _this.subscriptionObserverMap = new Map();\n _this.promiseArray = [];\n _this.connectionStateMonitor = new ConnectionStateMonitor();\n // Monitor the connection state and pass changes along to Hub\n _this.connectionStateMonitor.connectionStateObservable.subscribe(function (ConnectionState) {\n dispatchApiEvent(CONNECTION_STATE_CHANGE, {\n provider: _this,\n connectionState: ConnectionState,\n }, \"Connection state is \" + ConnectionState);\n });\n return _this;\n }\n AWSAppSyncRealTimeProvider.prototype.getNewWebSocket = function (url, protocol) {\n return new WebSocket(url, protocol);\n };\n AWSAppSyncRealTimeProvider.prototype.getProviderName = function () {\n return 'AWSAppSyncRealTimeProvider';\n };\n AWSAppSyncRealTimeProvider.prototype.newClient = function () {\n throw new Error('Not used here');\n };\n AWSAppSyncRealTimeProvider.prototype.publish = function (_topics, _msg, _options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw new Error('Operation not supported');\n });\n });\n };\n // Check if url matches standard domain pattern\n AWSAppSyncRealTimeProvider.prototype.isCustomDomain = function (url) {\n return url.match(standardDomainPattern) === null;\n };\n AWSAppSyncRealTimeProvider.prototype.subscribe = function (_topics, options) {\n var _this = this;\n var appSyncGraphqlEndpoint = options === null || options === void 0 ? void 0 : options.appSyncGraphqlEndpoint;\n return new Observable(function (observer) {\n if (!options || !appSyncGraphqlEndpoint) {\n observer.error({\n errors: [\n __assign({}, new GraphQLError(\"Subscribe only available for AWS AppSync endpoint\")),\n ],\n });\n observer.complete();\n }\n else {\n var subscriptionId_1 = uuid();\n _this._startSubscriptionWithAWSAppSyncRealTime({\n options: options,\n observer: observer,\n subscriptionId: subscriptionId_1,\n }).catch(function (err) {\n observer.error({\n errors: [\n __assign({}, new GraphQLError(CONTROL_MSG.REALTIME_SUBSCRIPTION_INIT_ERROR + \": \" + err)),\n ],\n });\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n observer.complete();\n });\n return function () { return __awaiter(_this, void 0, void 0, function () {\n var subscriptionState, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, 3, 4]);\n // Waiting that subscription has been connected before trying to unsubscribe\n return [4 /*yield*/, this._waitForSubscriptionToBeConnected(subscriptionId_1)];\n case 1:\n // Waiting that subscription has been connected before trying to unsubscribe\n _a.sent();\n subscriptionState = (this.subscriptionObserverMap.get(subscriptionId_1) || {}).subscriptionState;\n if (!subscriptionState) {\n // subscription already unsubscribed\n return [2 /*return*/];\n }\n if (subscriptionState === SUBSCRIPTION_STATUS.CONNECTED) {\n this._sendUnsubscriptionMessage(subscriptionId_1);\n }\n else {\n throw new Error('Subscription never connected');\n }\n return [3 /*break*/, 4];\n case 2:\n err_1 = _a.sent();\n logger.debug(\"Error while unsubscribing \" + err_1);\n return [3 /*break*/, 4];\n case 3:\n this._removeSubscriptionObserver(subscriptionId_1);\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n }); };\n }\n });\n };\n Object.defineProperty(AWSAppSyncRealTimeProvider.prototype, \"isSSLEnabled\", {\n get: function () {\n return !this.options\n .aws_appsync_dangerously_connect_to_http_endpoint_for_testing;\n },\n enumerable: true,\n configurable: true\n });\n AWSAppSyncRealTimeProvider.prototype._startSubscriptionWithAWSAppSyncRealTime = function (_a) {\n var options = _a.options, observer = _a.observer, subscriptionId = _a.subscriptionId;\n var _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, _d, graphql_headers, _e, additionalHeaders, subscriptionState, data, dataString, headerObj, _f, _g, subscriptionMessage, stringToAWSRealTime, err_2, message, subscriptionFailedCallback_1, _h, subscriptionFailedCallback, subscriptionReadyCallback;\n var _j;\n var _this = this;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n appSyncGraphqlEndpoint = options.appSyncGraphqlEndpoint, authenticationType = options.authenticationType, query = options.query, variables = options.variables, apiKey = options.apiKey, region = options.region, _d = options.graphql_headers, graphql_headers = _d === void 0 ? function () { return ({}); } : _d, _e = options.additionalHeaders, additionalHeaders = _e === void 0 ? {} : _e;\n subscriptionState = SUBSCRIPTION_STATUS.PENDING;\n data = {\n query: query,\n variables: variables,\n };\n // Having a subscription id map will make it simple to forward messages received\n this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n query: query !== null && query !== void 0 ? query : '',\n variables: variables !== null && variables !== void 0 ? variables : {},\n subscriptionState: subscriptionState,\n startAckTimeoutId: undefined,\n });\n dataString = JSON.stringify(data);\n _f = [{}];\n return [4 /*yield*/, this._awsRealTimeHeaderBasedAuth({\n apiKey: apiKey,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n authenticationType: authenticationType,\n payload: dataString,\n canonicalUri: '',\n region: region,\n additionalHeaders: additionalHeaders,\n })];\n case 1:\n _g = [__assign.apply(void 0, _f.concat([(_k.sent())]))];\n return [4 /*yield*/, graphql_headers()];\n case 2:\n headerObj = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), additionalHeaders]), (_j = {}, _j[USER_AGENT_HEADER] = Constants.userAgent, _j)]);\n subscriptionMessage = {\n id: subscriptionId,\n payload: {\n data: dataString,\n extensions: {\n authorization: __assign({}, headerObj),\n },\n },\n type: MESSAGE_TYPES.GQL_START,\n };\n stringToAWSRealTime = JSON.stringify(subscriptionMessage);\n _k.label = 3;\n case 3:\n _k.trys.push([3, 5, , 6]);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.OPENING_CONNECTION);\n return [4 /*yield*/, this._initializeWebSocketConnection({\n apiKey: apiKey,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n authenticationType: authenticationType,\n region: region,\n additionalHeaders: additionalHeaders,\n })];\n case 4:\n _k.sent();\n return [3 /*break*/, 6];\n case 5:\n err_2 = _k.sent();\n logger.debug({ err: err_2 });\n message = (_b = err_2['message']) !== null && _b !== void 0 ? _b : '';\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n observer.error({\n errors: [\n __assign({}, new GraphQLError(CONTROL_MSG.CONNECTION_FAILED + \": \" + message)),\n ],\n });\n observer.complete();\n subscriptionFailedCallback_1 = (this.subscriptionObserverMap.get(subscriptionId) || {}).subscriptionFailedCallback;\n // Notify concurrent unsubscription\n if (typeof subscriptionFailedCallback_1 === 'function') {\n subscriptionFailedCallback_1();\n }\n return [2 /*return*/];\n case 6:\n _h = (_c = this.subscriptionObserverMap.get(subscriptionId)) !== null && _c !== void 0 ? _c : {}, subscriptionFailedCallback = _h.subscriptionFailedCallback, subscriptionReadyCallback = _h.subscriptionReadyCallback;\n // This must be done before sending the message in order to be listening immediately\n this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n subscriptionState: subscriptionState,\n query: query !== null && query !== void 0 ? query : '',\n variables: variables !== null && variables !== void 0 ? variables : {},\n subscriptionReadyCallback: subscriptionReadyCallback,\n subscriptionFailedCallback: subscriptionFailedCallback,\n startAckTimeoutId: setTimeout(function () {\n _this._timeoutStartSubscriptionAck.call(_this, subscriptionId);\n }, START_ACK_TIMEOUT),\n });\n if (this.awsRealTimeSocket) {\n this.awsRealTimeSocket.send(stringToAWSRealTime);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n // Waiting that subscription has been connected before trying to unsubscribe\n AWSAppSyncRealTimeProvider.prototype._waitForSubscriptionToBeConnected = function (subscriptionId) {\n return __awaiter(this, void 0, void 0, function () {\n var subscriptionObserver, subscriptionState;\n var _this = this;\n return __generator(this, function (_a) {\n subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);\n if (subscriptionObserver) {\n subscriptionState = subscriptionObserver.subscriptionState;\n // This in case unsubscribe is invoked before sending start subscription message\n if (subscriptionState === SUBSCRIPTION_STATUS.PENDING) {\n return [2 /*return*/, new Promise(function (res, rej) {\n var observer = subscriptionObserver.observer, subscriptionState = subscriptionObserver.subscriptionState, variables = subscriptionObserver.variables, query = subscriptionObserver.query;\n _this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n subscriptionState: subscriptionState,\n variables: variables,\n query: query,\n subscriptionReadyCallback: res,\n subscriptionFailedCallback: rej,\n });\n })];\n }\n }\n return [2 /*return*/];\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._sendUnsubscriptionMessage = function (subscriptionId) {\n try {\n if (this.awsRealTimeSocket &&\n this.awsRealTimeSocket.readyState === WebSocket.OPEN &&\n this.socketStatus === SOCKET_STATUS.READY) {\n // Preparing unsubscribe message to stop receiving messages for that subscription\n var unsubscribeMessage = {\n id: subscriptionId,\n type: MESSAGE_TYPES.GQL_STOP,\n };\n var stringToAWSRealTime = JSON.stringify(unsubscribeMessage);\n this.awsRealTimeSocket.send(stringToAWSRealTime);\n }\n }\n catch (err) {\n // If GQL_STOP is not sent because of disconnection issue, then there is nothing the client can do\n logger.debug({ err: err });\n }\n };\n AWSAppSyncRealTimeProvider.prototype._removeSubscriptionObserver = function (subscriptionId) {\n this.subscriptionObserverMap.delete(subscriptionId);\n // Verifying 1000ms after removing subscription in case there are new subscription unmount/mount\n setTimeout(this._closeSocketIfRequired.bind(this), 1000);\n };\n AWSAppSyncRealTimeProvider.prototype._closeSocketIfRequired = function () {\n if (this.subscriptionObserverMap.size > 0) {\n // Active subscriptions on the WebSocket\n return;\n }\n if (!this.awsRealTimeSocket) {\n this.socketStatus = SOCKET_STATUS.CLOSED;\n return;\n }\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSING_CONNECTION);\n if (this.awsRealTimeSocket.bufferedAmount > 0) {\n // Still data on the WebSocket\n setTimeout(this._closeSocketIfRequired.bind(this), 1000);\n }\n else {\n logger.debug('closing WebSocket...');\n if (this.keepAliveTimeoutId) {\n clearTimeout(this.keepAliveTimeoutId);\n }\n if (this.keepAliveAlertTimeoutId) {\n clearTimeout(this.keepAliveAlertTimeoutId);\n }\n var tempSocket = this.awsRealTimeSocket;\n // Cleaning callbacks to avoid race condition, socket still exists\n tempSocket.onclose = null;\n tempSocket.onerror = null;\n tempSocket.close(1000);\n this.awsRealTimeSocket = undefined;\n this.socketStatus = SOCKET_STATUS.CLOSED;\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n }\n };\n AWSAppSyncRealTimeProvider.prototype._handleIncomingSubscriptionMessage = function (message) {\n var _this = this;\n logger.debug(\"subscription message from AWS AppSync RealTime: \" + message.data);\n var _a = JSON.parse(message.data), _b = _a.id, id = _b === void 0 ? '' : _b, payload = _a.payload, type = _a.type;\n var _c = this.subscriptionObserverMap.get(id) || {}, _d = _c.observer, observer = _d === void 0 ? null : _d, _e = _c.query, query = _e === void 0 ? '' : _e, _f = _c.variables, variables = _f === void 0 ? {} : _f, startAckTimeoutId = _c.startAckTimeoutId, subscriptionReadyCallback = _c.subscriptionReadyCallback, subscriptionFailedCallback = _c.subscriptionFailedCallback;\n logger.debug({ id: id, observer: observer, query: query, variables: variables });\n if (type === MESSAGE_TYPES.GQL_DATA && payload && payload.data) {\n if (observer) {\n observer.next(payload);\n }\n else {\n logger.debug(\"observer not found for id: \" + id);\n }\n return;\n }\n if (type === MESSAGE_TYPES.GQL_START_ACK) {\n logger.debug(\"subscription ready for \" + JSON.stringify({ query: query, variables: variables }));\n if (typeof subscriptionReadyCallback === 'function') {\n subscriptionReadyCallback();\n }\n if (startAckTimeoutId)\n clearTimeout(startAckTimeoutId);\n dispatchApiEvent(CONTROL_MSG.SUBSCRIPTION_ACK, { query: query, variables: variables }, 'Connection established for subscription');\n var subscriptionState = SUBSCRIPTION_STATUS.CONNECTED;\n if (observer) {\n this.subscriptionObserverMap.set(id, {\n observer: observer,\n query: query,\n variables: variables,\n startAckTimeoutId: undefined,\n subscriptionState: subscriptionState,\n subscriptionReadyCallback: subscriptionReadyCallback,\n subscriptionFailedCallback: subscriptionFailedCallback,\n });\n }\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_ESTABLISHED);\n return;\n }\n if (type === MESSAGE_TYPES.GQL_CONNECTION_KEEP_ALIVE) {\n if (this.keepAliveTimeoutId)\n clearTimeout(this.keepAliveTimeoutId);\n if (this.keepAliveAlertTimeoutId)\n clearTimeout(this.keepAliveAlertTimeoutId);\n this.keepAliveTimeoutId = setTimeout(function () { return _this._errorDisconnect(CONTROL_MSG.TIMEOUT_DISCONNECT); }, this.keepAliveTimeout);\n this.keepAliveAlertTimeoutId = setTimeout(function () {\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE_MISSED);\n }, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE);\n return;\n }\n if (type === MESSAGE_TYPES.GQL_ERROR) {\n var subscriptionState = SUBSCRIPTION_STATUS.FAILED;\n if (observer) {\n this.subscriptionObserverMap.set(id, {\n observer: observer,\n query: query,\n variables: variables,\n startAckTimeoutId: startAckTimeoutId,\n subscriptionReadyCallback: subscriptionReadyCallback,\n subscriptionFailedCallback: subscriptionFailedCallback,\n subscriptionState: subscriptionState,\n });\n observer.error({\n errors: [\n __assign({}, new GraphQLError(CONTROL_MSG.CONNECTION_FAILED + \": \" + JSON.stringify(payload))),\n ],\n });\n if (startAckTimeoutId)\n clearTimeout(startAckTimeoutId);\n observer.complete();\n if (typeof subscriptionFailedCallback === 'function') {\n subscriptionFailedCallback();\n }\n }\n }\n };\n AWSAppSyncRealTimeProvider.prototype._errorDisconnect = function (msg) {\n logger.debug(\"Disconnect error: \" + msg);\n this.subscriptionObserverMap.forEach(function (_a) {\n var observer = _a.observer;\n if (observer && !observer.closed) {\n observer.error({\n errors: [__assign({}, new GraphQLError(msg))],\n });\n }\n });\n this.subscriptionObserverMap.clear();\n if (this.awsRealTimeSocket) {\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n this.awsRealTimeSocket.close();\n }\n this.socketStatus = SOCKET_STATUS.CLOSED;\n };\n AWSAppSyncRealTimeProvider.prototype._timeoutStartSubscriptionAck = function (subscriptionId) {\n var subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);\n if (subscriptionObserver) {\n var observer = subscriptionObserver.observer, query = subscriptionObserver.query, variables = subscriptionObserver.variables;\n if (!observer) {\n return;\n }\n this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n query: query,\n variables: variables,\n subscriptionState: SUBSCRIPTION_STATUS.FAILED,\n });\n if (observer && !observer.closed) {\n observer.error({\n errors: [\n __assign({}, new GraphQLError(\"Subscription timeout \" + JSON.stringify({\n query: query,\n variables: variables,\n }))),\n ],\n });\n // Cleanup will be automatically executed\n observer.complete();\n }\n logger.debug('timeoutStartSubscription', JSON.stringify({ query: query, variables: variables }));\n }\n };\n AWSAppSyncRealTimeProvider.prototype._initializeWebSocketConnection = function (_a) {\n var _this = this;\n var appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint, authenticationType = _a.authenticationType, apiKey = _a.apiKey, region = _a.region, additionalHeaders = _a.additionalHeaders;\n if (this.socketStatus === SOCKET_STATUS.READY) {\n return;\n }\n return new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {\n var payloadString, headerString, _a, _b, headerQs, payloadQs, discoverableEndpoint, protocol, awsRealTimeUrl, err_3;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n this.promiseArray.push({ res: res, rej: rej });\n if (!(this.socketStatus === SOCKET_STATUS.CLOSED)) return [3 /*break*/, 5];\n _c.label = 1;\n case 1:\n _c.trys.push([1, 4, , 5]);\n this.socketStatus = SOCKET_STATUS.CONNECTING;\n payloadString = '{}';\n _b = (_a = JSON).stringify;\n return [4 /*yield*/, this._awsRealTimeHeaderBasedAuth({\n authenticationType: authenticationType,\n payload: payloadString,\n canonicalUri: '/connect',\n apiKey: apiKey,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n region: region,\n additionalHeaders: additionalHeaders,\n })];\n case 2:\n headerString = _b.apply(_a, [_c.sent()]);\n headerQs = Buffer.from(headerString).toString('base64');\n payloadQs = Buffer.from(payloadString).toString('base64');\n discoverableEndpoint = appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '';\n if (this.isCustomDomain(discoverableEndpoint)) {\n discoverableEndpoint =\n discoverableEndpoint.concat(customDomainPath);\n }\n else {\n discoverableEndpoint = discoverableEndpoint\n .replace('appsync-api', 'appsync-realtime-api')\n .replace('gogi-beta', 'grt-beta');\n }\n protocol = this.isSSLEnabled ? 'wss://' : 'ws://';\n discoverableEndpoint = discoverableEndpoint\n .replace('https://', protocol)\n .replace('http://', protocol);\n awsRealTimeUrl = discoverableEndpoint + \"?header=\" + headerQs + \"&payload=\" + payloadQs;\n return [4 /*yield*/, this._initializeRetryableHandshake(awsRealTimeUrl)];\n case 3:\n _c.sent();\n this.promiseArray.forEach(function (_a) {\n var res = _a.res;\n logger.debug('Notifying connection successful');\n res();\n });\n this.socketStatus = SOCKET_STATUS.READY;\n this.promiseArray = [];\n return [3 /*break*/, 5];\n case 4:\n err_3 = _c.sent();\n this.promiseArray.forEach(function (_a) {\n var rej = _a.rej;\n return rej(err_3);\n });\n this.promiseArray = [];\n if (this.awsRealTimeSocket &&\n this.awsRealTimeSocket.readyState === WebSocket.OPEN) {\n this.awsRealTimeSocket.close(3001);\n }\n this.awsRealTimeSocket = undefined;\n this.socketStatus = SOCKET_STATUS.CLOSED;\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n }); });\n };\n AWSAppSyncRealTimeProvider.prototype._initializeRetryableHandshake = function (awsRealTimeUrl) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(\"Initializaling retryable Handshake\");\n return [4 /*yield*/, jitteredExponentialRetry(this._initializeHandshake.bind(this), [awsRealTimeUrl], MAX_DELAY_MS)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._initializeHandshake = function (awsRealTimeUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var err_4, _a, errorType, errorCode;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug(\"Initializing handshake \" + awsRealTimeUrl);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 4, , 5]);\n return [4 /*yield*/, (function () {\n return new Promise(function (res, rej) {\n var newSocket = _this.getNewWebSocket(awsRealTimeUrl, 'graphql-ws');\n newSocket.onerror = function () {\n logger.debug(\"WebSocket connection error\");\n };\n newSocket.onclose = function () {\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_FAILED);\n rej(new Error('Connection handshake error'));\n };\n newSocket.onopen = function () {\n _this.awsRealTimeSocket = newSocket;\n return res();\n };\n });\n })()];\n case 2:\n _b.sent();\n // Step 2: wait for ack from AWS AppSyncReaTime after sending init\n return [4 /*yield*/, (function () {\n return new Promise(function (res, rej) {\n if (_this.awsRealTimeSocket) {\n var ackOk_1 = false;\n _this.awsRealTimeSocket.onerror = function (error) {\n logger.debug(\"WebSocket error \" + JSON.stringify(error));\n };\n _this.awsRealTimeSocket.onclose = function (event) {\n logger.debug(\"WebSocket closed \" + event.reason);\n rej(new Error(JSON.stringify(event)));\n };\n _this.awsRealTimeSocket.onmessage = function (message) {\n logger.debug(\"subscription message from AWS AppSyncRealTime: \" + message.data + \" \");\n var data = JSON.parse(message.data);\n var type = data.type, _a = data.payload, _b = (_a === void 0 ? {} : _a).connectionTimeoutMs, connectionTimeoutMs = _b === void 0 ? DEFAULT_KEEP_ALIVE_TIMEOUT : _b;\n if (type === MESSAGE_TYPES.GQL_CONNECTION_ACK) {\n ackOk_1 = true;\n if (_this.awsRealTimeSocket) {\n _this.keepAliveTimeout = connectionTimeoutMs;\n _this.awsRealTimeSocket.onmessage =\n _this._handleIncomingSubscriptionMessage.bind(_this);\n _this.awsRealTimeSocket.onerror = function (err) {\n logger.debug(err);\n _this._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n };\n _this.awsRealTimeSocket.onclose = function (event) {\n logger.debug(\"WebSocket closed \" + event.reason);\n _this._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n };\n }\n res('Cool, connected to AWS AppSyncRealTime');\n return;\n }\n if (type === MESSAGE_TYPES.GQL_CONNECTION_ERROR) {\n var _c = data.payload, _d = (_c === void 0 ? {} : _c).errors, _e = __read(_d === void 0 ? [] : _d, 1), _f = _e[0], _g = _f === void 0 ? {} : _f, _h = _g.errorType, errorType = _h === void 0 ? '' : _h, _j = _g.errorCode, errorCode = _j === void 0 ? 0 : _j;\n rej({ errorType: errorType, errorCode: errorCode });\n }\n };\n var gqlInit = {\n type: MESSAGE_TYPES.GQL_CONNECTION_INIT,\n };\n _this.awsRealTimeSocket.send(JSON.stringify(gqlInit));\n var checkAckOk_1 = function (ackOk) {\n if (!ackOk) {\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_FAILED);\n rej(new Error(\"Connection timeout: ack from AWSAppSyncRealTime was not received after \" + CONNECTION_INIT_TIMEOUT + \" ms\"));\n }\n };\n setTimeout(function () { return checkAckOk_1(ackOk_1); }, CONNECTION_INIT_TIMEOUT);\n }\n });\n })()];\n case 3:\n // Step 2: wait for ack from AWS AppSyncReaTime after sending init\n _b.sent();\n return [3 /*break*/, 5];\n case 4:\n err_4 = _b.sent();\n _a = err_4, errorType = _a.errorType, errorCode = _a.errorCode;\n if (NON_RETRYABLE_CODES.includes(errorCode)) {\n throw new NonRetryableError(errorType);\n }\n else if (errorType) {\n throw new Error(errorType);\n }\n else {\n throw err_4;\n }\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeHeaderBasedAuth = function (_a) {\n var authenticationType = _a.authenticationType, payload = _a.payload, canonicalUri = _a.canonicalUri, appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint, apiKey = _a.apiKey, region = _a.region, additionalHeaders = _a.additionalHeaders;\n return __awaiter(this, void 0, void 0, function () {\n var headerHandler, handler, host, result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n headerHandler = {\n API_KEY: this._awsRealTimeApiKeyHeader.bind(this),\n AWS_IAM: this._awsRealTimeIAMHeader.bind(this),\n OPENID_CONNECT: this._awsRealTimeOPENIDHeader.bind(this),\n AMAZON_COGNITO_USER_POOLS: this._awsRealTimeCUPHeader.bind(this),\n AWS_LAMBDA: this._customAuthHeader,\n };\n if (!(!authenticationType || !headerHandler[authenticationType])) return [3 /*break*/, 1];\n logger.debug(\"Authentication type \" + authenticationType + \" not supported\");\n return [2 /*return*/, ''];\n case 1:\n handler = headerHandler[authenticationType];\n host = url.parse(appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '').host;\n logger.debug(\"Authenticating with \" + authenticationType);\n return [4 /*yield*/, handler({\n payload: payload,\n canonicalUri: canonicalUri,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n apiKey: apiKey,\n region: region,\n host: host,\n additionalHeaders: additionalHeaders,\n })];\n case 2:\n result = _b.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeCUPHeader = function (_a) {\n var host = _a.host;\n return __awaiter(this, void 0, void 0, function () {\n var session;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, Auth.currentSession()];\n case 1:\n session = _b.sent();\n return [2 /*return*/, {\n Authorization: session.getAccessToken().getJwtToken(),\n host: host,\n }];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeOPENIDHeader = function (_a) {\n var host = _a.host;\n return __awaiter(this, void 0, void 0, function () {\n var token, federatedInfo, currentUser;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, Cache.getItem('federatedInfo')];\n case 1:\n federatedInfo = _b.sent();\n if (!federatedInfo) return [3 /*break*/, 2];\n token = federatedInfo.token;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, Auth.currentAuthenticatedUser()];\n case 3:\n currentUser = _b.sent();\n if (currentUser) {\n token = currentUser.token;\n }\n _b.label = 4;\n case 4:\n if (!token) {\n throw new Error('No federated jwt');\n }\n return [2 /*return*/, {\n Authorization: token,\n host: host,\n }];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeApiKeyHeader = function (_a) {\n var apiKey = _a.apiKey, host = _a.host;\n return __awaiter(this, void 0, void 0, function () {\n var dt, dtStr;\n return __generator(this, function (_b) {\n dt = new Date();\n dtStr = dt.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n return [2 /*return*/, {\n host: host,\n 'x-amz-date': dtStr,\n 'x-api-key': apiKey,\n }];\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeIAMHeader = function (_a) {\n var payload = _a.payload, canonicalUri = _a.canonicalUri, appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint, region = _a.region;\n return __awaiter(this, void 0, void 0, function () {\n var endpointInfo, credentialsOK, creds, request, signed_params;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n endpointInfo = {\n region: region,\n service: 'appsync',\n };\n return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _b.sent();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n return [4 /*yield*/, Credentials.get().then(function (credentials) {\n var _a = credentials, secretAccessKey = _a.secretAccessKey, accessKeyId = _a.accessKeyId, sessionToken = _a.sessionToken;\n return {\n secret_key: secretAccessKey,\n access_key: accessKeyId,\n session_token: sessionToken,\n };\n })];\n case 2:\n creds = _b.sent();\n request = {\n url: \"\" + appSyncGraphqlEndpoint + canonicalUri,\n data: payload,\n method: 'POST',\n headers: __assign({}, AWS_APPSYNC_REALTIME_HEADERS),\n };\n signed_params = Signer.sign(request, creds, endpointInfo);\n return [2 /*return*/, signed_params.headers];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._customAuthHeader = function (_a) {\n var host = _a.host, additionalHeaders = _a.additionalHeaders;\n if (!additionalHeaders || !additionalHeaders['Authorization']) {\n throw new Error('No auth token specified');\n }\n return {\n Authorization: additionalHeaders.Authorization,\n host: host,\n };\n };\n /**\n * @private\n */\n AWSAppSyncRealTimeProvider.prototype._ensureCredentials = function () {\n return Credentials.get()\n .then(function (credentials) {\n if (!credentials)\n return false;\n var cred = Credentials.shear(credentials);\n logger.debug('set credentials for AWSAppSyncRealTimeProvider', cred);\n return true;\n })\n .catch(function (err) {\n logger.warn('ensure credentials error', err);\n return false;\n });\n };\n return AWSAppSyncRealTimeProvider;\n}(AbstractPubSubProvider));\nexport { AWSAppSyncRealTimeProvider };\n//# sourceMappingURL=index.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n// import '../Common/Polyfills';\nimport Observable from 'zen-observable-ts';\nimport { Amplify, browserOrNode, ConsoleLogger as Logger, INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER, INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER, } from '@aws-amplify/core';\nimport { AWSAppSyncProvider, AWSAppSyncRealTimeProvider } from './Providers';\nvar isNode = browserOrNode().isNode;\nvar logger = new Logger('PubSub');\nvar PubSubClass = /** @class */ (function () {\n /**\n * Initialize PubSub with AWS configurations\n *\n * @param {PubSubOptions} options - Configuration object for PubSub\n */\n function PubSubClass(options) {\n this._options = options !== null && options !== void 0 ? options : {};\n logger.debug('PubSub Options', this._options);\n this._pluggables = [];\n this.subscribe = this.subscribe.bind(this);\n }\n Object.defineProperty(PubSubClass.prototype, \"awsAppSyncProvider\", {\n /**\n * Lazy instantiate AWSAppSyncProvider when it is required by the API category\n */\n get: function () {\n if (!this._awsAppSyncProvider) {\n this._awsAppSyncProvider = new AWSAppSyncProvider(this._options);\n }\n return this._awsAppSyncProvider;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PubSubClass.prototype, \"awsAppSyncRealTimeProvider\", {\n /**\n * Lazy instantiate AWSAppSyncRealTimeProvider when it is required by the API category\n */\n get: function () {\n if (!this._awsAppSyncRealTimeProvider) {\n this._awsAppSyncRealTimeProvider = new AWSAppSyncRealTimeProvider(this._options);\n }\n return this._awsAppSyncRealTimeProvider;\n },\n enumerable: true,\n configurable: true\n });\n PubSubClass.prototype.getModuleName = function () {\n return 'PubSub';\n };\n /**\n * Configure PubSub part with configurations\n *\n * @param {PubSubOptions} config - Configuration for PubSub\n * @return {Object} - The current configuration\n */\n PubSubClass.prototype.configure = function (options) {\n var _this = this;\n var opt = options ? options.PubSub || options : {};\n logger.debug('configure PubSub', { opt: opt });\n this._options = Object.assign({}, this._options, opt);\n this._pluggables.map(function (pluggable) { return pluggable.configure(_this._options); });\n return this._options;\n };\n /**\n * add plugin into Analytics category\n * @param {Object} pluggable - an instance of the plugin\n */\n PubSubClass.prototype.addPluggable = function (pluggable) {\n return __awaiter(this, void 0, void 0, function () {\n var config;\n return __generator(this, function (_a) {\n if (pluggable && pluggable.getCategory() === 'PubSub') {\n this._pluggables.push(pluggable);\n config = pluggable.configure(this._options);\n return [2 /*return*/, config];\n }\n return [2 /*return*/];\n });\n });\n };\n /**\n * remove plugin from PubSub category\n * @param providerName - the name of the plugin\n */\n PubSubClass.prototype.removePluggable = function (providerName) {\n this._pluggables = this._pluggables.filter(function (pluggable) { return pluggable.getProviderName() !== providerName; });\n };\n PubSubClass.prototype.getProviderByName = function (providerName) {\n if (providerName === INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER) {\n return this.awsAppSyncProvider;\n }\n if (providerName === INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER) {\n return this.awsAppSyncRealTimeProvider;\n }\n return this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === providerName; });\n };\n PubSubClass.prototype.getProviders = function (options) {\n if (options === void 0) { options = {}; }\n var providerName = options.provider;\n if (!providerName) {\n return this._pluggables;\n }\n var provider = this.getProviderByName(providerName);\n if (!provider) {\n throw new Error(\"Could not find provider named \" + providerName);\n }\n return [provider];\n };\n PubSubClass.prototype.publish = function (topics, msg, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.all(this.getProviders(options).map(function (provider) {\n return provider.publish(topics, msg, options);\n }))];\n });\n });\n };\n PubSubClass.prototype.subscribe = function (topics, options) {\n if (isNode && this._options && this._options.ssr) {\n throw new Error('Subscriptions are not supported for Server-Side Rendering (SSR)');\n }\n logger.debug('subscribe options', options);\n var providers = this.getProviders(options);\n return new Observable(function (observer) {\n var observables = providers.map(function (provider) { return ({\n provider: provider,\n observable: provider.subscribe(topics, options),\n }); });\n var subscriptions = observables.map(function (_a) {\n var provider = _a.provider, observable = _a.observable;\n return observable.subscribe({\n start: console.error,\n next: function (value) { return observer.next({ provider: provider, value: value }); },\n error: function (error) { return observer.error({ provider: provider, error: error }); },\n });\n });\n return function () {\n return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); });\n };\n });\n };\n return PubSubClass;\n}());\nexport { PubSubClass };\nexport var PubSub = new PubSubClass();\nAmplify.register(PubSub);\n//# sourceMappingURL=PubSub.js.map","/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { PubSub } from './PubSub';\nexport * from './Providers';\nvar CONTROL_MSG;\n(function (CONTROL_MSG) {\n CONTROL_MSG[\"CONNECTION_CLOSED\"] = \"Connection closed\";\n CONTROL_MSG[\"CONNECTION_FAILED\"] = \"Connection failed\";\n CONTROL_MSG[\"REALTIME_SUBSCRIPTION_INIT_ERROR\"] = \"AppSync Realtime subscription init error\";\n CONTROL_MSG[\"SUBSCRIPTION_ACK\"] = \"Subscription ack\";\n CONTROL_MSG[\"TIMEOUT_DISCONNECT\"] = \"Timeout disconnect\";\n})(CONTROL_MSG || (CONTROL_MSG = {}));\nexport var CONNECTION_STATE_CHANGE = 'ConnectionStateChange';\nexport { ConnectionState } from './types';\nexport { PubSub, CONTROL_MSG };\n/**\n * @deprecated use named import\n */\nexport default PubSub;\n//# sourceMappingURL=index.js.map","/** @enum {string} */\nexport var ConnectionState;\n(function (ConnectionState) {\n /*\n * The connection is alive and healthy\n */\n ConnectionState[\"Connected\"] = \"Connected\";\n /*\n * The connection is alive, but the connection is offline\n */\n ConnectionState[\"ConnectedPendingNetwork\"] = \"ConnectedPendingNetwork\";\n /*\n * The connection has been disconnected while in use\n */\n ConnectionState[\"ConnectionDisrupted\"] = \"ConnectionDisrupted\";\n /*\n * The connection has been disconnected and the network is offline\n */\n ConnectionState[\"ConnectionDisruptedPendingNetwork\"] = \"ConnectionDisruptedPendingNetwork\";\n /*\n * The connection is in the process of connecting\n */\n ConnectionState[\"Connecting\"] = \"Connecting\";\n /*\n * The connection is not in use and is being disconnected\n */\n ConnectionState[\"ConnectedPendingDisconnect\"] = \"ConnectedPendingDisconnect\";\n /*\n * The connection is not in use and has been disconnected\n */\n ConnectionState[\"Disconnected\"] = \"Disconnected\";\n /*\n * The connection is alive, but a keep alive message has been missed\n */\n ConnectionState[\"ConnectedPendingKeepAlive\"] = \"ConnectedPendingKeepAlive\";\n})(ConnectionState || (ConnectionState = {}));\n//# sourceMappingURL=index.js.map","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { browserOrNode, isWebWorker } from '@aws-amplify/core';\nimport Observable from 'zen-observable-ts';\nvar ReachabilityNavigator = /** @class */ (function () {\n function ReachabilityNavigator() {\n }\n ReachabilityNavigator.prototype.networkMonitor = function (netInfo) {\n if (browserOrNode().isNode) {\n return Observable.from([{ online: true }]);\n }\n var globalObj = isWebWorker() ? self : window;\n return new Observable(function (observer) {\n observer.next({ online: globalObj.navigator.onLine });\n var notifyOnline = function () { return observer.next({ online: true }); };\n var notifyOffline = function () { return observer.next({ online: false }); };\n globalObj.addEventListener('online', notifyOnline);\n globalObj.addEventListener('offline', notifyOffline);\n ReachabilityNavigator._observers.push(observer);\n return function () {\n globalObj.removeEventListener('online', notifyOnline);\n globalObj.removeEventListener('offline', notifyOffline);\n ReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(function (_observer) { return _observer !== observer; });\n };\n });\n };\n // expose observers to simulate offline mode for integration testing\n ReachabilityNavigator._observerOverride = function (status) {\n var e_1, _a;\n var _loop_1 = function (observer) {\n if (observer.closed) {\n ReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(function (_observer) { return _observer !== observer; });\n return \"continue\";\n }\n observer.next(status);\n };\n try {\n for (var _b = __values(ReachabilityNavigator._observers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n _loop_1(observer);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ReachabilityNavigator._observers = [];\n return ReachabilityNavigator;\n}());\nexport default ReachabilityNavigator;\n//# sourceMappingURL=Reachability.js.map","import { Reachability } from '@aws-amplify/core';\nexport var ReachabilityMonitor = function () { return new Reachability().networkMonitor(); };\n//# sourceMappingURL=index.js.map","/*\n * Copyright 2017-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport Observable from 'zen-observable-ts';\nimport { ConnectionState } from '../index';\nimport { ReachabilityMonitor } from './ReachabilityMonitor';\nexport var CONNECTION_CHANGE = {\n KEEP_ALIVE_MISSED: { keepAliveState: 'unhealthy' },\n KEEP_ALIVE: { keepAliveState: 'healthy' },\n CONNECTION_ESTABLISHED: { connectionState: 'connected' },\n CONNECTION_FAILED: {\n intendedConnectionState: 'disconnected',\n connectionState: 'disconnected',\n },\n CLOSING_CONNECTION: { intendedConnectionState: 'disconnected' },\n OPENING_CONNECTION: {\n intendedConnectionState: 'connected',\n connectionState: 'connecting',\n },\n CLOSED: { connectionState: 'disconnected' },\n ONLINE: { networkState: 'connected' },\n OFFLINE: { networkState: 'disconnected' },\n};\nvar ConnectionStateMonitor = /** @class */ (function () {\n function ConnectionStateMonitor() {\n var _this = this;\n this._networkMonitoringSubscription = undefined;\n this._linkedConnectionState = {\n networkState: 'connected',\n connectionState: 'disconnected',\n intendedConnectionState: 'disconnected',\n keepAliveState: 'healthy',\n };\n this._linkedConnectionStateObservable =\n new Observable(function (connectionStateObserver) {\n connectionStateObserver.next(_this._linkedConnectionState);\n _this._linkedConnectionStateObserver = connectionStateObserver;\n });\n }\n /**\n * Turn network state monitoring on if it isn't on already\n */\n ConnectionStateMonitor.prototype.enableNetworkMonitoring = function () {\n var _this = this;\n // Maintain the network state based on the reachability monitor\n if (this._networkMonitoringSubscription === undefined) {\n this._networkMonitoringSubscription = ReachabilityMonitor().subscribe(function (_a) {\n var online = _a.online;\n _this.record(online ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE);\n });\n }\n };\n /**\n * Turn network state monitoring off if it isn't off already\n */\n ConnectionStateMonitor.prototype.disableNetworkMonitoring = function () {\n var _a;\n (_a = this._networkMonitoringSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n this._networkMonitoringSubscription = undefined;\n };\n Object.defineProperty(ConnectionStateMonitor.prototype, \"connectionStateObservable\", {\n /**\n * Get the observable that allows us to monitor the connection state\n *\n * @returns {Observable} - The observable that emits ConnectionState updates\n */\n get: function () {\n var _this = this;\n var previous;\n // The linked state aggregates state changes to any of the network, connection,\n // intendedConnection and keepAliveHealth. Some states will change these independent\n // states without changing the overall connection state.\n // After translating from linked states to ConnectionState, then remove any duplicates\n return this._linkedConnectionStateObservable\n .map(function (value) {\n return _this.connectionStatesTranslator(value);\n })\n .filter(function (current) {\n var toInclude = current !== previous;\n previous = current;\n return toInclude;\n });\n },\n enumerable: true,\n configurable: true\n });\n /*\n * Updates local connection state and emits the full state to the observer.\n */\n ConnectionStateMonitor.prototype.record = function (statusUpdates) {\n // Maintain the network monitor\n if (statusUpdates.intendedConnectionState === 'connected') {\n this.enableNetworkMonitoring();\n }\n else if (statusUpdates.intendedConnectionState === 'disconnected') {\n this.disableNetworkMonitoring();\n }\n // Maintain the socket state\n var newSocketStatus = __assign(__assign({}, this._linkedConnectionState), statusUpdates);\n this._linkedConnectionState = __assign({}, newSocketStatus);\n this._linkedConnectionStateObserver.next(this._linkedConnectionState);\n };\n /*\n * Translate the ConnectionState structure into a specific ConnectionState string literal union\n */\n ConnectionStateMonitor.prototype.connectionStatesTranslator = function (_a) {\n var connectionState = _a.connectionState, networkState = _a.networkState, intendedConnectionState = _a.intendedConnectionState, keepAliveState = _a.keepAliveState;\n if (connectionState === 'connected' && networkState === 'disconnected')\n return ConnectionState.ConnectedPendingNetwork;\n if (connectionState === 'connected' &&\n intendedConnectionState === 'disconnected')\n return ConnectionState.ConnectedPendingDisconnect;\n if (connectionState === 'disconnected' &&\n intendedConnectionState === 'connected' &&\n networkState === 'disconnected')\n return ConnectionState.ConnectionDisruptedPendingNetwork;\n if (connectionState === 'disconnected' &&\n intendedConnectionState === 'connected')\n return ConnectionState.ConnectionDisrupted;\n if (connectionState === 'connected' && keepAliveState === 'unhealthy')\n return ConnectionState.ConnectedPendingKeepAlive;\n // All remaining states directly correspond to the connection state\n if (connectionState === 'connecting')\n return ConnectionState.Connecting;\n if (connectionState === 'disconnected')\n return ConnectionState.Disconnected;\n return ConnectionState.Connected;\n };\n return ConnectionStateMonitor;\n}());\nexport { ConnectionStateMonitor };\n//# sourceMappingURL=ConnectionStateMonitor.js.map","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { __assign } from \"tslib\";\nimport { SENSITIVE_STRING } from \"@aws-sdk/smithy-client\";\nexport var AbortIncompleteMultipartUpload;\n(function (AbortIncompleteMultipartUpload) {\n AbortIncompleteMultipartUpload.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AbortIncompleteMultipartUpload || (AbortIncompleteMultipartUpload = {}));\nexport var AbortMultipartUploadOutput;\n(function (AbortMultipartUploadOutput) {\n AbortMultipartUploadOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AbortMultipartUploadOutput || (AbortMultipartUploadOutput = {}));\nexport var AbortMultipartUploadRequest;\n(function (AbortMultipartUploadRequest) {\n AbortMultipartUploadRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AbortMultipartUploadRequest || (AbortMultipartUploadRequest = {}));\nexport var NoSuchUpload;\n(function (NoSuchUpload) {\n NoSuchUpload.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NoSuchUpload || (NoSuchUpload = {}));\nexport var AccelerateConfiguration;\n(function (AccelerateConfiguration) {\n AccelerateConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AccelerateConfiguration || (AccelerateConfiguration = {}));\nexport var Grantee;\n(function (Grantee) {\n Grantee.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Grantee || (Grantee = {}));\nexport var Grant;\n(function (Grant) {\n Grant.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Grant || (Grant = {}));\nexport var Owner;\n(function (Owner) {\n Owner.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Owner || (Owner = {}));\nexport var AccessControlPolicy;\n(function (AccessControlPolicy) {\n AccessControlPolicy.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AccessControlPolicy || (AccessControlPolicy = {}));\nexport var AccessControlTranslation;\n(function (AccessControlTranslation) {\n AccessControlTranslation.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AccessControlTranslation || (AccessControlTranslation = {}));\nexport var CompleteMultipartUploadOutput;\n(function (CompleteMultipartUploadOutput) {\n CompleteMultipartUploadOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }))); };\n})(CompleteMultipartUploadOutput || (CompleteMultipartUploadOutput = {}));\nexport var CompletedPart;\n(function (CompletedPart) {\n CompletedPart.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CompletedPart || (CompletedPart = {}));\nexport var CompletedMultipartUpload;\n(function (CompletedMultipartUpload) {\n CompletedMultipartUpload.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CompletedMultipartUpload || (CompletedMultipartUpload = {}));\nexport var CompleteMultipartUploadRequest;\n(function (CompleteMultipartUploadRequest) {\n CompleteMultipartUploadRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CompleteMultipartUploadRequest || (CompleteMultipartUploadRequest = {}));\nexport var CopyObjectResult;\n(function (CopyObjectResult) {\n CopyObjectResult.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CopyObjectResult || (CopyObjectResult = {}));\nexport var CopyObjectOutput;\n(function (CopyObjectOutput) {\n CopyObjectOutput.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING })), (obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }))); };\n})(CopyObjectOutput || (CopyObjectOutput = {}));\nexport var CopyObjectRequest;\n(function (CopyObjectRequest) {\n CopyObjectRequest.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING })), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING })), (obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING })), (obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: SENSITIVE_STRING }))); };\n})(CopyObjectRequest || (CopyObjectRequest = {}));\nexport var ObjectNotInActiveTierError;\n(function (ObjectNotInActiveTierError) {\n ObjectNotInActiveTierError.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectNotInActiveTierError || (ObjectNotInActiveTierError = {}));\nexport var BucketAlreadyExists;\n(function (BucketAlreadyExists) {\n BucketAlreadyExists.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(BucketAlreadyExists || (BucketAlreadyExists = {}));\nexport var BucketAlreadyOwnedByYou;\n(function (BucketAlreadyOwnedByYou) {\n BucketAlreadyOwnedByYou.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(BucketAlreadyOwnedByYou || (BucketAlreadyOwnedByYou = {}));\nexport var CreateBucketOutput;\n(function (CreateBucketOutput) {\n CreateBucketOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CreateBucketOutput || (CreateBucketOutput = {}));\nexport var CreateBucketConfiguration;\n(function (CreateBucketConfiguration) {\n CreateBucketConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CreateBucketConfiguration || (CreateBucketConfiguration = {}));\nexport var CreateBucketRequest;\n(function (CreateBucketRequest) {\n CreateBucketRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CreateBucketRequest || (CreateBucketRequest = {}));\nexport var CreateMultipartUploadOutput;\n(function (CreateMultipartUploadOutput) {\n CreateMultipartUploadOutput.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING })), (obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }))); };\n})(CreateMultipartUploadOutput || (CreateMultipartUploadOutput = {}));\nexport var CreateMultipartUploadRequest;\n(function (CreateMultipartUploadRequest) {\n CreateMultipartUploadRequest.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING })), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING })), (obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }))); };\n})(CreateMultipartUploadRequest || (CreateMultipartUploadRequest = {}));\nexport var DeleteBucketRequest;\n(function (DeleteBucketRequest) {\n DeleteBucketRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketRequest || (DeleteBucketRequest = {}));\nexport var DeleteBucketAnalyticsConfigurationRequest;\n(function (DeleteBucketAnalyticsConfigurationRequest) {\n DeleteBucketAnalyticsConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketAnalyticsConfigurationRequest || (DeleteBucketAnalyticsConfigurationRequest = {}));\nexport var DeleteBucketCorsRequest;\n(function (DeleteBucketCorsRequest) {\n DeleteBucketCorsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketCorsRequest || (DeleteBucketCorsRequest = {}));\nexport var DeleteBucketEncryptionRequest;\n(function (DeleteBucketEncryptionRequest) {\n DeleteBucketEncryptionRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketEncryptionRequest || (DeleteBucketEncryptionRequest = {}));\nexport var DeleteBucketIntelligentTieringConfigurationRequest;\n(function (DeleteBucketIntelligentTieringConfigurationRequest) {\n DeleteBucketIntelligentTieringConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketIntelligentTieringConfigurationRequest || (DeleteBucketIntelligentTieringConfigurationRequest = {}));\nexport var DeleteBucketInventoryConfigurationRequest;\n(function (DeleteBucketInventoryConfigurationRequest) {\n DeleteBucketInventoryConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketInventoryConfigurationRequest || (DeleteBucketInventoryConfigurationRequest = {}));\nexport var DeleteBucketLifecycleRequest;\n(function (DeleteBucketLifecycleRequest) {\n DeleteBucketLifecycleRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketLifecycleRequest || (DeleteBucketLifecycleRequest = {}));\nexport var DeleteBucketMetricsConfigurationRequest;\n(function (DeleteBucketMetricsConfigurationRequest) {\n DeleteBucketMetricsConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketMetricsConfigurationRequest || (DeleteBucketMetricsConfigurationRequest = {}));\nexport var DeleteBucketOwnershipControlsRequest;\n(function (DeleteBucketOwnershipControlsRequest) {\n DeleteBucketOwnershipControlsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketOwnershipControlsRequest || (DeleteBucketOwnershipControlsRequest = {}));\nexport var DeleteBucketPolicyRequest;\n(function (DeleteBucketPolicyRequest) {\n DeleteBucketPolicyRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketPolicyRequest || (DeleteBucketPolicyRequest = {}));\nexport var DeleteBucketReplicationRequest;\n(function (DeleteBucketReplicationRequest) {\n DeleteBucketReplicationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketReplicationRequest || (DeleteBucketReplicationRequest = {}));\nexport var DeleteBucketTaggingRequest;\n(function (DeleteBucketTaggingRequest) {\n DeleteBucketTaggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketTaggingRequest || (DeleteBucketTaggingRequest = {}));\nexport var DeleteBucketWebsiteRequest;\n(function (DeleteBucketWebsiteRequest) {\n DeleteBucketWebsiteRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteBucketWebsiteRequest || (DeleteBucketWebsiteRequest = {}));\nexport var DeleteObjectOutput;\n(function (DeleteObjectOutput) {\n DeleteObjectOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteObjectOutput || (DeleteObjectOutput = {}));\nexport var DeleteObjectRequest;\n(function (DeleteObjectRequest) {\n DeleteObjectRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteObjectRequest || (DeleteObjectRequest = {}));\nexport var DeletedObject;\n(function (DeletedObject) {\n DeletedObject.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeletedObject || (DeletedObject = {}));\nexport var _Error;\n(function (_Error) {\n _Error.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(_Error || (_Error = {}));\nexport var DeleteObjectsOutput;\n(function (DeleteObjectsOutput) {\n DeleteObjectsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteObjectsOutput || (DeleteObjectsOutput = {}));\nexport var ObjectIdentifier;\n(function (ObjectIdentifier) {\n ObjectIdentifier.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectIdentifier || (ObjectIdentifier = {}));\nexport var Delete;\n(function (Delete) {\n Delete.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Delete || (Delete = {}));\nexport var DeleteObjectsRequest;\n(function (DeleteObjectsRequest) {\n DeleteObjectsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteObjectsRequest || (DeleteObjectsRequest = {}));\nexport var DeleteObjectTaggingOutput;\n(function (DeleteObjectTaggingOutput) {\n DeleteObjectTaggingOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteObjectTaggingOutput || (DeleteObjectTaggingOutput = {}));\nexport var DeleteObjectTaggingRequest;\n(function (DeleteObjectTaggingRequest) {\n DeleteObjectTaggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteObjectTaggingRequest || (DeleteObjectTaggingRequest = {}));\nexport var DeletePublicAccessBlockRequest;\n(function (DeletePublicAccessBlockRequest) {\n DeletePublicAccessBlockRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeletePublicAccessBlockRequest || (DeletePublicAccessBlockRequest = {}));\nexport var GetBucketAccelerateConfigurationOutput;\n(function (GetBucketAccelerateConfigurationOutput) {\n GetBucketAccelerateConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketAccelerateConfigurationOutput || (GetBucketAccelerateConfigurationOutput = {}));\nexport var GetBucketAccelerateConfigurationRequest;\n(function (GetBucketAccelerateConfigurationRequest) {\n GetBucketAccelerateConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketAccelerateConfigurationRequest || (GetBucketAccelerateConfigurationRequest = {}));\nexport var GetBucketAclOutput;\n(function (GetBucketAclOutput) {\n GetBucketAclOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketAclOutput || (GetBucketAclOutput = {}));\nexport var GetBucketAclRequest;\n(function (GetBucketAclRequest) {\n GetBucketAclRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketAclRequest || (GetBucketAclRequest = {}));\nexport var Tag;\n(function (Tag) {\n Tag.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Tag || (Tag = {}));\nexport var AnalyticsAndOperator;\n(function (AnalyticsAndOperator) {\n AnalyticsAndOperator.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AnalyticsAndOperator || (AnalyticsAndOperator = {}));\nexport var AnalyticsFilter;\n(function (AnalyticsFilter) {\n AnalyticsFilter.visit = function (value, visitor) {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n AnalyticsFilter.filterSensitiveLog = function (obj) {\n var _a;\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined)\n return { And: AnalyticsAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined)\n return _a = {}, _a[obj.$unknown[0]] = \"UNKNOWN\", _a;\n };\n})(AnalyticsFilter || (AnalyticsFilter = {}));\nexport var AnalyticsS3BucketDestination;\n(function (AnalyticsS3BucketDestination) {\n AnalyticsS3BucketDestination.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AnalyticsS3BucketDestination || (AnalyticsS3BucketDestination = {}));\nexport var AnalyticsExportDestination;\n(function (AnalyticsExportDestination) {\n AnalyticsExportDestination.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(AnalyticsExportDestination || (AnalyticsExportDestination = {}));\nexport var StorageClassAnalysisDataExport;\n(function (StorageClassAnalysisDataExport) {\n StorageClassAnalysisDataExport.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(StorageClassAnalysisDataExport || (StorageClassAnalysisDataExport = {}));\nexport var StorageClassAnalysis;\n(function (StorageClassAnalysis) {\n StorageClassAnalysis.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(StorageClassAnalysis || (StorageClassAnalysis = {}));\nexport var AnalyticsConfiguration;\n(function (AnalyticsConfiguration) {\n AnalyticsConfiguration.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Filter && { Filter: AnalyticsFilter.filterSensitiveLog(obj.Filter) }))); };\n})(AnalyticsConfiguration || (AnalyticsConfiguration = {}));\nexport var GetBucketAnalyticsConfigurationOutput;\n(function (GetBucketAnalyticsConfigurationOutput) {\n GetBucketAnalyticsConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: AnalyticsConfiguration.filterSensitiveLog(obj.AnalyticsConfiguration),\n }))); };\n})(GetBucketAnalyticsConfigurationOutput || (GetBucketAnalyticsConfigurationOutput = {}));\nexport var GetBucketAnalyticsConfigurationRequest;\n(function (GetBucketAnalyticsConfigurationRequest) {\n GetBucketAnalyticsConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketAnalyticsConfigurationRequest || (GetBucketAnalyticsConfigurationRequest = {}));\nexport var CORSRule;\n(function (CORSRule) {\n CORSRule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CORSRule || (CORSRule = {}));\nexport var GetBucketCorsOutput;\n(function (GetBucketCorsOutput) {\n GetBucketCorsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketCorsOutput || (GetBucketCorsOutput = {}));\nexport var GetBucketCorsRequest;\n(function (GetBucketCorsRequest) {\n GetBucketCorsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketCorsRequest || (GetBucketCorsRequest = {}));\nexport var ServerSideEncryptionByDefault;\n(function (ServerSideEncryptionByDefault) {\n ServerSideEncryptionByDefault.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.KMSMasterKeyID && { KMSMasterKeyID: SENSITIVE_STRING }))); };\n})(ServerSideEncryptionByDefault || (ServerSideEncryptionByDefault = {}));\nexport var ServerSideEncryptionRule;\n(function (ServerSideEncryptionRule) {\n ServerSideEncryptionRule.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.ApplyServerSideEncryptionByDefault && {\n ApplyServerSideEncryptionByDefault: ServerSideEncryptionByDefault.filterSensitiveLog(obj.ApplyServerSideEncryptionByDefault),\n }))); };\n})(ServerSideEncryptionRule || (ServerSideEncryptionRule = {}));\nexport var ServerSideEncryptionConfiguration;\n(function (ServerSideEncryptionConfiguration) {\n ServerSideEncryptionConfiguration.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Rules && { Rules: obj.Rules.map(function (item) { return ServerSideEncryptionRule.filterSensitiveLog(item); }) }))); };\n})(ServerSideEncryptionConfiguration || (ServerSideEncryptionConfiguration = {}));\nexport var GetBucketEncryptionOutput;\n(function (GetBucketEncryptionOutput) {\n GetBucketEncryptionOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration.filterSensitiveLog(obj.ServerSideEncryptionConfiguration),\n }))); };\n})(GetBucketEncryptionOutput || (GetBucketEncryptionOutput = {}));\nexport var GetBucketEncryptionRequest;\n(function (GetBucketEncryptionRequest) {\n GetBucketEncryptionRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketEncryptionRequest || (GetBucketEncryptionRequest = {}));\nexport var IntelligentTieringAndOperator;\n(function (IntelligentTieringAndOperator) {\n IntelligentTieringAndOperator.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IntelligentTieringAndOperator || (IntelligentTieringAndOperator = {}));\nexport var IntelligentTieringFilter;\n(function (IntelligentTieringFilter) {\n IntelligentTieringFilter.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IntelligentTieringFilter || (IntelligentTieringFilter = {}));\nexport var Tiering;\n(function (Tiering) {\n Tiering.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Tiering || (Tiering = {}));\nexport var IntelligentTieringConfiguration;\n(function (IntelligentTieringConfiguration) {\n IntelligentTieringConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IntelligentTieringConfiguration || (IntelligentTieringConfiguration = {}));\nexport var GetBucketIntelligentTieringConfigurationOutput;\n(function (GetBucketIntelligentTieringConfigurationOutput) {\n GetBucketIntelligentTieringConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketIntelligentTieringConfigurationOutput || (GetBucketIntelligentTieringConfigurationOutput = {}));\nexport var GetBucketIntelligentTieringConfigurationRequest;\n(function (GetBucketIntelligentTieringConfigurationRequest) {\n GetBucketIntelligentTieringConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketIntelligentTieringConfigurationRequest || (GetBucketIntelligentTieringConfigurationRequest = {}));\nexport var SSEKMS;\n(function (SSEKMS) {\n SSEKMS.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.KeyId && { KeyId: SENSITIVE_STRING }))); };\n})(SSEKMS || (SSEKMS = {}));\nexport var SSES3;\n(function (SSES3) {\n SSES3.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(SSES3 || (SSES3 = {}));\nexport var InventoryEncryption;\n(function (InventoryEncryption) {\n InventoryEncryption.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSEKMS && { SSEKMS: SSEKMS.filterSensitiveLog(obj.SSEKMS) }))); };\n})(InventoryEncryption || (InventoryEncryption = {}));\nexport var InventoryS3BucketDestination;\n(function (InventoryS3BucketDestination) {\n InventoryS3BucketDestination.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Encryption && { Encryption: InventoryEncryption.filterSensitiveLog(obj.Encryption) }))); };\n})(InventoryS3BucketDestination || (InventoryS3BucketDestination = {}));\nexport var InventoryDestination;\n(function (InventoryDestination) {\n InventoryDestination.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.S3BucketDestination && {\n S3BucketDestination: InventoryS3BucketDestination.filterSensitiveLog(obj.S3BucketDestination),\n }))); };\n})(InventoryDestination || (InventoryDestination = {}));\nexport var InventoryFilter;\n(function (InventoryFilter) {\n InventoryFilter.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InventoryFilter || (InventoryFilter = {}));\nexport var InventorySchedule;\n(function (InventorySchedule) {\n InventorySchedule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InventorySchedule || (InventorySchedule = {}));\nexport var InventoryConfiguration;\n(function (InventoryConfiguration) {\n InventoryConfiguration.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Destination && { Destination: InventoryDestination.filterSensitiveLog(obj.Destination) }))); };\n})(InventoryConfiguration || (InventoryConfiguration = {}));\nexport var GetBucketInventoryConfigurationOutput;\n(function (GetBucketInventoryConfigurationOutput) {\n GetBucketInventoryConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.InventoryConfiguration && {\n InventoryConfiguration: InventoryConfiguration.filterSensitiveLog(obj.InventoryConfiguration),\n }))); };\n})(GetBucketInventoryConfigurationOutput || (GetBucketInventoryConfigurationOutput = {}));\nexport var GetBucketInventoryConfigurationRequest;\n(function (GetBucketInventoryConfigurationRequest) {\n GetBucketInventoryConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketInventoryConfigurationRequest || (GetBucketInventoryConfigurationRequest = {}));\nexport var LifecycleExpiration;\n(function (LifecycleExpiration) {\n LifecycleExpiration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LifecycleExpiration || (LifecycleExpiration = {}));\nexport var LifecycleRuleAndOperator;\n(function (LifecycleRuleAndOperator) {\n LifecycleRuleAndOperator.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LifecycleRuleAndOperator || (LifecycleRuleAndOperator = {}));\nexport var LifecycleRuleFilter;\n(function (LifecycleRuleFilter) {\n LifecycleRuleFilter.visit = function (value, visitor) {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n LifecycleRuleFilter.filterSensitiveLog = function (obj) {\n var _a;\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined)\n return { And: LifecycleRuleAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined)\n return _a = {}, _a[obj.$unknown[0]] = \"UNKNOWN\", _a;\n };\n})(LifecycleRuleFilter || (LifecycleRuleFilter = {}));\nexport var NoncurrentVersionExpiration;\n(function (NoncurrentVersionExpiration) {\n NoncurrentVersionExpiration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NoncurrentVersionExpiration || (NoncurrentVersionExpiration = {}));\nexport var NoncurrentVersionTransition;\n(function (NoncurrentVersionTransition) {\n NoncurrentVersionTransition.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NoncurrentVersionTransition || (NoncurrentVersionTransition = {}));\nexport var Transition;\n(function (Transition) {\n Transition.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Transition || (Transition = {}));\nexport var LifecycleRule;\n(function (LifecycleRule) {\n LifecycleRule.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Filter && { Filter: LifecycleRuleFilter.filterSensitiveLog(obj.Filter) }))); };\n})(LifecycleRule || (LifecycleRule = {}));\nexport var GetBucketLifecycleConfigurationOutput;\n(function (GetBucketLifecycleConfigurationOutput) {\n GetBucketLifecycleConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Rules && { Rules: obj.Rules.map(function (item) { return LifecycleRule.filterSensitiveLog(item); }) }))); };\n})(GetBucketLifecycleConfigurationOutput || (GetBucketLifecycleConfigurationOutput = {}));\nexport var GetBucketLifecycleConfigurationRequest;\n(function (GetBucketLifecycleConfigurationRequest) {\n GetBucketLifecycleConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketLifecycleConfigurationRequest || (GetBucketLifecycleConfigurationRequest = {}));\nexport var GetBucketLocationOutput;\n(function (GetBucketLocationOutput) {\n GetBucketLocationOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketLocationOutput || (GetBucketLocationOutput = {}));\nexport var GetBucketLocationRequest;\n(function (GetBucketLocationRequest) {\n GetBucketLocationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketLocationRequest || (GetBucketLocationRequest = {}));\nexport var TargetGrant;\n(function (TargetGrant) {\n TargetGrant.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TargetGrant || (TargetGrant = {}));\nexport var LoggingEnabled;\n(function (LoggingEnabled) {\n LoggingEnabled.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LoggingEnabled || (LoggingEnabled = {}));\nexport var GetBucketLoggingOutput;\n(function (GetBucketLoggingOutput) {\n GetBucketLoggingOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketLoggingOutput || (GetBucketLoggingOutput = {}));\nexport var GetBucketLoggingRequest;\n(function (GetBucketLoggingRequest) {\n GetBucketLoggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketLoggingRequest || (GetBucketLoggingRequest = {}));\nexport var MetricsAndOperator;\n(function (MetricsAndOperator) {\n MetricsAndOperator.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MetricsAndOperator || (MetricsAndOperator = {}));\nexport var MetricsFilter;\n(function (MetricsFilter) {\n MetricsFilter.visit = function (value, visitor) {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n MetricsFilter.filterSensitiveLog = function (obj) {\n var _a;\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined)\n return { And: MetricsAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined)\n return _a = {}, _a[obj.$unknown[0]] = \"UNKNOWN\", _a;\n };\n})(MetricsFilter || (MetricsFilter = {}));\nexport var MetricsConfiguration;\n(function (MetricsConfiguration) {\n MetricsConfiguration.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Filter && { Filter: MetricsFilter.filterSensitiveLog(obj.Filter) }))); };\n})(MetricsConfiguration || (MetricsConfiguration = {}));\nexport var GetBucketMetricsConfigurationOutput;\n(function (GetBucketMetricsConfigurationOutput) {\n GetBucketMetricsConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.MetricsConfiguration && {\n MetricsConfiguration: MetricsConfiguration.filterSensitiveLog(obj.MetricsConfiguration),\n }))); };\n})(GetBucketMetricsConfigurationOutput || (GetBucketMetricsConfigurationOutput = {}));\nexport var GetBucketMetricsConfigurationRequest;\n(function (GetBucketMetricsConfigurationRequest) {\n GetBucketMetricsConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketMetricsConfigurationRequest || (GetBucketMetricsConfigurationRequest = {}));\nexport var GetBucketNotificationConfigurationRequest;\n(function (GetBucketNotificationConfigurationRequest) {\n GetBucketNotificationConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketNotificationConfigurationRequest || (GetBucketNotificationConfigurationRequest = {}));\nexport var FilterRule;\n(function (FilterRule) {\n FilterRule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(FilterRule || (FilterRule = {}));\nexport var S3KeyFilter;\n(function (S3KeyFilter) {\n S3KeyFilter.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(S3KeyFilter || (S3KeyFilter = {}));\nexport var NotificationConfigurationFilter;\n(function (NotificationConfigurationFilter) {\n NotificationConfigurationFilter.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NotificationConfigurationFilter || (NotificationConfigurationFilter = {}));\nexport var LambdaFunctionConfiguration;\n(function (LambdaFunctionConfiguration) {\n LambdaFunctionConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LambdaFunctionConfiguration || (LambdaFunctionConfiguration = {}));\nexport var QueueConfiguration;\n(function (QueueConfiguration) {\n QueueConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(QueueConfiguration || (QueueConfiguration = {}));\nexport var TopicConfiguration;\n(function (TopicConfiguration) {\n TopicConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TopicConfiguration || (TopicConfiguration = {}));\nexport var NotificationConfiguration;\n(function (NotificationConfiguration) {\n NotificationConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NotificationConfiguration || (NotificationConfiguration = {}));\nexport var OwnershipControlsRule;\n(function (OwnershipControlsRule) {\n OwnershipControlsRule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(OwnershipControlsRule || (OwnershipControlsRule = {}));\nexport var OwnershipControls;\n(function (OwnershipControls) {\n OwnershipControls.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(OwnershipControls || (OwnershipControls = {}));\nexport var GetBucketOwnershipControlsOutput;\n(function (GetBucketOwnershipControlsOutput) {\n GetBucketOwnershipControlsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketOwnershipControlsOutput || (GetBucketOwnershipControlsOutput = {}));\nexport var GetBucketOwnershipControlsRequest;\n(function (GetBucketOwnershipControlsRequest) {\n GetBucketOwnershipControlsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketOwnershipControlsRequest || (GetBucketOwnershipControlsRequest = {}));\nexport var GetBucketPolicyOutput;\n(function (GetBucketPolicyOutput) {\n GetBucketPolicyOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketPolicyOutput || (GetBucketPolicyOutput = {}));\nexport var GetBucketPolicyRequest;\n(function (GetBucketPolicyRequest) {\n GetBucketPolicyRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketPolicyRequest || (GetBucketPolicyRequest = {}));\nexport var PolicyStatus;\n(function (PolicyStatus) {\n PolicyStatus.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PolicyStatus || (PolicyStatus = {}));\nexport var GetBucketPolicyStatusOutput;\n(function (GetBucketPolicyStatusOutput) {\n GetBucketPolicyStatusOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketPolicyStatusOutput || (GetBucketPolicyStatusOutput = {}));\nexport var GetBucketPolicyStatusRequest;\n(function (GetBucketPolicyStatusRequest) {\n GetBucketPolicyStatusRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketPolicyStatusRequest || (GetBucketPolicyStatusRequest = {}));\nexport var DeleteMarkerReplication;\n(function (DeleteMarkerReplication) {\n DeleteMarkerReplication.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteMarkerReplication || (DeleteMarkerReplication = {}));\nexport var EncryptionConfiguration;\n(function (EncryptionConfiguration) {\n EncryptionConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(EncryptionConfiguration || (EncryptionConfiguration = {}));\nexport var ReplicationTimeValue;\n(function (ReplicationTimeValue) {\n ReplicationTimeValue.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ReplicationTimeValue || (ReplicationTimeValue = {}));\nexport var Metrics;\n(function (Metrics) {\n Metrics.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Metrics || (Metrics = {}));\nexport var ReplicationTime;\n(function (ReplicationTime) {\n ReplicationTime.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ReplicationTime || (ReplicationTime = {}));\nexport var Destination;\n(function (Destination) {\n Destination.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Destination || (Destination = {}));\nexport var ExistingObjectReplication;\n(function (ExistingObjectReplication) {\n ExistingObjectReplication.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ExistingObjectReplication || (ExistingObjectReplication = {}));\nexport var ReplicationRuleAndOperator;\n(function (ReplicationRuleAndOperator) {\n ReplicationRuleAndOperator.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ReplicationRuleAndOperator || (ReplicationRuleAndOperator = {}));\nexport var ReplicationRuleFilter;\n(function (ReplicationRuleFilter) {\n ReplicationRuleFilter.visit = function (value, visitor) {\n if (value.Prefix !== undefined)\n return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined)\n return visitor.Tag(value.Tag);\n if (value.And !== undefined)\n return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n ReplicationRuleFilter.filterSensitiveLog = function (obj) {\n var _a;\n if (obj.Prefix !== undefined)\n return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined)\n return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined)\n return { And: ReplicationRuleAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined)\n return _a = {}, _a[obj.$unknown[0]] = \"UNKNOWN\", _a;\n };\n})(ReplicationRuleFilter || (ReplicationRuleFilter = {}));\nexport var ReplicaModifications;\n(function (ReplicaModifications) {\n ReplicaModifications.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ReplicaModifications || (ReplicaModifications = {}));\nexport var SseKmsEncryptedObjects;\n(function (SseKmsEncryptedObjects) {\n SseKmsEncryptedObjects.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(SseKmsEncryptedObjects || (SseKmsEncryptedObjects = {}));\nexport var SourceSelectionCriteria;\n(function (SourceSelectionCriteria) {\n SourceSelectionCriteria.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(SourceSelectionCriteria || (SourceSelectionCriteria = {}));\nexport var ReplicationRule;\n(function (ReplicationRule) {\n ReplicationRule.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Filter && { Filter: ReplicationRuleFilter.filterSensitiveLog(obj.Filter) }))); };\n})(ReplicationRule || (ReplicationRule = {}));\nexport var ReplicationConfiguration;\n(function (ReplicationConfiguration) {\n ReplicationConfiguration.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Rules && { Rules: obj.Rules.map(function (item) { return ReplicationRule.filterSensitiveLog(item); }) }))); };\n})(ReplicationConfiguration || (ReplicationConfiguration = {}));\nexport var GetBucketReplicationOutput;\n(function (GetBucketReplicationOutput) {\n GetBucketReplicationOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.ReplicationConfiguration && {\n ReplicationConfiguration: ReplicationConfiguration.filterSensitiveLog(obj.ReplicationConfiguration),\n }))); };\n})(GetBucketReplicationOutput || (GetBucketReplicationOutput = {}));\nexport var GetBucketReplicationRequest;\n(function (GetBucketReplicationRequest) {\n GetBucketReplicationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketReplicationRequest || (GetBucketReplicationRequest = {}));\nexport var GetBucketRequestPaymentOutput;\n(function (GetBucketRequestPaymentOutput) {\n GetBucketRequestPaymentOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketRequestPaymentOutput || (GetBucketRequestPaymentOutput = {}));\nexport var GetBucketRequestPaymentRequest;\n(function (GetBucketRequestPaymentRequest) {\n GetBucketRequestPaymentRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketRequestPaymentRequest || (GetBucketRequestPaymentRequest = {}));\nexport var GetBucketTaggingOutput;\n(function (GetBucketTaggingOutput) {\n GetBucketTaggingOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketTaggingOutput || (GetBucketTaggingOutput = {}));\nexport var GetBucketTaggingRequest;\n(function (GetBucketTaggingRequest) {\n GetBucketTaggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketTaggingRequest || (GetBucketTaggingRequest = {}));\nexport var GetBucketVersioningOutput;\n(function (GetBucketVersioningOutput) {\n GetBucketVersioningOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketVersioningOutput || (GetBucketVersioningOutput = {}));\nexport var GetBucketVersioningRequest;\n(function (GetBucketVersioningRequest) {\n GetBucketVersioningRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketVersioningRequest || (GetBucketVersioningRequest = {}));\nexport var ErrorDocument;\n(function (ErrorDocument) {\n ErrorDocument.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ErrorDocument || (ErrorDocument = {}));\nexport var IndexDocument;\n(function (IndexDocument) {\n IndexDocument.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IndexDocument || (IndexDocument = {}));\nexport var RedirectAllRequestsTo;\n(function (RedirectAllRequestsTo) {\n RedirectAllRequestsTo.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RedirectAllRequestsTo || (RedirectAllRequestsTo = {}));\nexport var Condition;\n(function (Condition) {\n Condition.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Condition || (Condition = {}));\nexport var Redirect;\n(function (Redirect) {\n Redirect.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Redirect || (Redirect = {}));\nexport var RoutingRule;\n(function (RoutingRule) {\n RoutingRule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RoutingRule || (RoutingRule = {}));\nexport var GetBucketWebsiteOutput;\n(function (GetBucketWebsiteOutput) {\n GetBucketWebsiteOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketWebsiteOutput || (GetBucketWebsiteOutput = {}));\nexport var GetBucketWebsiteRequest;\n(function (GetBucketWebsiteRequest) {\n GetBucketWebsiteRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetBucketWebsiteRequest || (GetBucketWebsiteRequest = {}));\nexport var GetObjectOutput;\n(function (GetObjectOutput) {\n GetObjectOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }))); };\n})(GetObjectOutput || (GetObjectOutput = {}));\nexport var GetObjectRequest;\n(function (GetObjectRequest) {\n GetObjectRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }))); };\n})(GetObjectRequest || (GetObjectRequest = {}));\nexport var InvalidObjectState;\n(function (InvalidObjectState) {\n InvalidObjectState.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InvalidObjectState || (InvalidObjectState = {}));\nexport var NoSuchKey;\n(function (NoSuchKey) {\n NoSuchKey.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NoSuchKey || (NoSuchKey = {}));\nexport var GetObjectAclOutput;\n(function (GetObjectAclOutput) {\n GetObjectAclOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectAclOutput || (GetObjectAclOutput = {}));\nexport var GetObjectAclRequest;\n(function (GetObjectAclRequest) {\n GetObjectAclRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectAclRequest || (GetObjectAclRequest = {}));\nexport var ObjectLockLegalHold;\n(function (ObjectLockLegalHold) {\n ObjectLockLegalHold.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectLockLegalHold || (ObjectLockLegalHold = {}));\nexport var GetObjectLegalHoldOutput;\n(function (GetObjectLegalHoldOutput) {\n GetObjectLegalHoldOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectLegalHoldOutput || (GetObjectLegalHoldOutput = {}));\nexport var GetObjectLegalHoldRequest;\n(function (GetObjectLegalHoldRequest) {\n GetObjectLegalHoldRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectLegalHoldRequest || (GetObjectLegalHoldRequest = {}));\nexport var DefaultRetention;\n(function (DefaultRetention) {\n DefaultRetention.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DefaultRetention || (DefaultRetention = {}));\nexport var ObjectLockRule;\n(function (ObjectLockRule) {\n ObjectLockRule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectLockRule || (ObjectLockRule = {}));\nexport var ObjectLockConfiguration;\n(function (ObjectLockConfiguration) {\n ObjectLockConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectLockConfiguration || (ObjectLockConfiguration = {}));\nexport var GetObjectLockConfigurationOutput;\n(function (GetObjectLockConfigurationOutput) {\n GetObjectLockConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectLockConfigurationOutput || (GetObjectLockConfigurationOutput = {}));\nexport var GetObjectLockConfigurationRequest;\n(function (GetObjectLockConfigurationRequest) {\n GetObjectLockConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectLockConfigurationRequest || (GetObjectLockConfigurationRequest = {}));\nexport var ObjectLockRetention;\n(function (ObjectLockRetention) {\n ObjectLockRetention.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectLockRetention || (ObjectLockRetention = {}));\nexport var GetObjectRetentionOutput;\n(function (GetObjectRetentionOutput) {\n GetObjectRetentionOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectRetentionOutput || (GetObjectRetentionOutput = {}));\nexport var GetObjectRetentionRequest;\n(function (GetObjectRetentionRequest) {\n GetObjectRetentionRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectRetentionRequest || (GetObjectRetentionRequest = {}));\nexport var GetObjectTaggingOutput;\n(function (GetObjectTaggingOutput) {\n GetObjectTaggingOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectTaggingOutput || (GetObjectTaggingOutput = {}));\nexport var GetObjectTaggingRequest;\n(function (GetObjectTaggingRequest) {\n GetObjectTaggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectTaggingRequest || (GetObjectTaggingRequest = {}));\nexport var GetObjectTorrentOutput;\n(function (GetObjectTorrentOutput) {\n GetObjectTorrentOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectTorrentOutput || (GetObjectTorrentOutput = {}));\nexport var GetObjectTorrentRequest;\n(function (GetObjectTorrentRequest) {\n GetObjectTorrentRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetObjectTorrentRequest || (GetObjectTorrentRequest = {}));\nexport var PublicAccessBlockConfiguration;\n(function (PublicAccessBlockConfiguration) {\n PublicAccessBlockConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PublicAccessBlockConfiguration || (PublicAccessBlockConfiguration = {}));\nexport var GetPublicAccessBlockOutput;\n(function (GetPublicAccessBlockOutput) {\n GetPublicAccessBlockOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetPublicAccessBlockOutput || (GetPublicAccessBlockOutput = {}));\nexport var GetPublicAccessBlockRequest;\n(function (GetPublicAccessBlockRequest) {\n GetPublicAccessBlockRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetPublicAccessBlockRequest || (GetPublicAccessBlockRequest = {}));\nexport var HeadBucketRequest;\n(function (HeadBucketRequest) {\n HeadBucketRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(HeadBucketRequest || (HeadBucketRequest = {}));\nexport var NoSuchBucket;\n(function (NoSuchBucket) {\n NoSuchBucket.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NoSuchBucket || (NoSuchBucket = {}));\nexport var HeadObjectOutput;\n(function (HeadObjectOutput) {\n HeadObjectOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }))); };\n})(HeadObjectOutput || (HeadObjectOutput = {}));\nexport var HeadObjectRequest;\n(function (HeadObjectRequest) {\n HeadObjectRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }))); };\n})(HeadObjectRequest || (HeadObjectRequest = {}));\nexport var ListBucketAnalyticsConfigurationsOutput;\n(function (ListBucketAnalyticsConfigurationsOutput) {\n ListBucketAnalyticsConfigurationsOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.AnalyticsConfigurationList && {\n AnalyticsConfigurationList: obj.AnalyticsConfigurationList.map(function (item) {\n return AnalyticsConfiguration.filterSensitiveLog(item);\n }),\n }))); };\n})(ListBucketAnalyticsConfigurationsOutput || (ListBucketAnalyticsConfigurationsOutput = {}));\nexport var ListBucketAnalyticsConfigurationsRequest;\n(function (ListBucketAnalyticsConfigurationsRequest) {\n ListBucketAnalyticsConfigurationsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListBucketAnalyticsConfigurationsRequest || (ListBucketAnalyticsConfigurationsRequest = {}));\nexport var ListBucketIntelligentTieringConfigurationsOutput;\n(function (ListBucketIntelligentTieringConfigurationsOutput) {\n ListBucketIntelligentTieringConfigurationsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListBucketIntelligentTieringConfigurationsOutput || (ListBucketIntelligentTieringConfigurationsOutput = {}));\nexport var ListBucketIntelligentTieringConfigurationsRequest;\n(function (ListBucketIntelligentTieringConfigurationsRequest) {\n ListBucketIntelligentTieringConfigurationsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListBucketIntelligentTieringConfigurationsRequest || (ListBucketIntelligentTieringConfigurationsRequest = {}));\nexport var ListBucketInventoryConfigurationsOutput;\n(function (ListBucketInventoryConfigurationsOutput) {\n ListBucketInventoryConfigurationsOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.InventoryConfigurationList && {\n InventoryConfigurationList: obj.InventoryConfigurationList.map(function (item) {\n return InventoryConfiguration.filterSensitiveLog(item);\n }),\n }))); };\n})(ListBucketInventoryConfigurationsOutput || (ListBucketInventoryConfigurationsOutput = {}));\nexport var ListBucketInventoryConfigurationsRequest;\n(function (ListBucketInventoryConfigurationsRequest) {\n ListBucketInventoryConfigurationsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListBucketInventoryConfigurationsRequest || (ListBucketInventoryConfigurationsRequest = {}));\nexport var ListBucketMetricsConfigurationsOutput;\n(function (ListBucketMetricsConfigurationsOutput) {\n ListBucketMetricsConfigurationsOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.MetricsConfigurationList && {\n MetricsConfigurationList: obj.MetricsConfigurationList.map(function (item) {\n return MetricsConfiguration.filterSensitiveLog(item);\n }),\n }))); };\n})(ListBucketMetricsConfigurationsOutput || (ListBucketMetricsConfigurationsOutput = {}));\nexport var ListBucketMetricsConfigurationsRequest;\n(function (ListBucketMetricsConfigurationsRequest) {\n ListBucketMetricsConfigurationsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListBucketMetricsConfigurationsRequest || (ListBucketMetricsConfigurationsRequest = {}));\nexport var Bucket;\n(function (Bucket) {\n Bucket.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Bucket || (Bucket = {}));\nexport var ListBucketsOutput;\n(function (ListBucketsOutput) {\n ListBucketsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListBucketsOutput || (ListBucketsOutput = {}));\nexport var CommonPrefix;\n(function (CommonPrefix) {\n CommonPrefix.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CommonPrefix || (CommonPrefix = {}));\nexport var Initiator;\n(function (Initiator) {\n Initiator.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Initiator || (Initiator = {}));\nexport var MultipartUpload;\n(function (MultipartUpload) {\n MultipartUpload.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MultipartUpload || (MultipartUpload = {}));\nexport var ListMultipartUploadsOutput;\n(function (ListMultipartUploadsOutput) {\n ListMultipartUploadsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListMultipartUploadsOutput || (ListMultipartUploadsOutput = {}));\nexport var ListMultipartUploadsRequest;\n(function (ListMultipartUploadsRequest) {\n ListMultipartUploadsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListMultipartUploadsRequest || (ListMultipartUploadsRequest = {}));\nexport var _Object;\n(function (_Object) {\n _Object.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(_Object || (_Object = {}));\nexport var ListObjectsOutput;\n(function (ListObjectsOutput) {\n ListObjectsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListObjectsOutput || (ListObjectsOutput = {}));\nexport var ListObjectsRequest;\n(function (ListObjectsRequest) {\n ListObjectsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListObjectsRequest || (ListObjectsRequest = {}));\nexport var ListObjectsV2Output;\n(function (ListObjectsV2Output) {\n ListObjectsV2Output.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListObjectsV2Output || (ListObjectsV2Output = {}));\nexport var ListObjectsV2Request;\n(function (ListObjectsV2Request) {\n ListObjectsV2Request.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListObjectsV2Request || (ListObjectsV2Request = {}));\nexport var DeleteMarkerEntry;\n(function (DeleteMarkerEntry) {\n DeleteMarkerEntry.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteMarkerEntry || (DeleteMarkerEntry = {}));\nexport var ObjectVersion;\n(function (ObjectVersion) {\n ObjectVersion.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectVersion || (ObjectVersion = {}));\nexport var ListObjectVersionsOutput;\n(function (ListObjectVersionsOutput) {\n ListObjectVersionsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListObjectVersionsOutput || (ListObjectVersionsOutput = {}));\nexport var ListObjectVersionsRequest;\n(function (ListObjectVersionsRequest) {\n ListObjectVersionsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListObjectVersionsRequest || (ListObjectVersionsRequest = {}));\nexport var Part;\n(function (Part) {\n Part.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Part || (Part = {}));\nexport var ListPartsOutput;\n(function (ListPartsOutput) {\n ListPartsOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListPartsOutput || (ListPartsOutput = {}));\nexport var ListPartsRequest;\n(function (ListPartsRequest) {\n ListPartsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListPartsRequest || (ListPartsRequest = {}));\nexport var PutBucketAccelerateConfigurationRequest;\n(function (PutBucketAccelerateConfigurationRequest) {\n PutBucketAccelerateConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketAccelerateConfigurationRequest || (PutBucketAccelerateConfigurationRequest = {}));\nexport var PutBucketAclRequest;\n(function (PutBucketAclRequest) {\n PutBucketAclRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketAclRequest || (PutBucketAclRequest = {}));\nexport var PutBucketAnalyticsConfigurationRequest;\n(function (PutBucketAnalyticsConfigurationRequest) {\n PutBucketAnalyticsConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: AnalyticsConfiguration.filterSensitiveLog(obj.AnalyticsConfiguration),\n }))); };\n})(PutBucketAnalyticsConfigurationRequest || (PutBucketAnalyticsConfigurationRequest = {}));\nexport var CORSConfiguration;\n(function (CORSConfiguration) {\n CORSConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CORSConfiguration || (CORSConfiguration = {}));\nexport var PutBucketCorsRequest;\n(function (PutBucketCorsRequest) {\n PutBucketCorsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketCorsRequest || (PutBucketCorsRequest = {}));\nexport var PutBucketEncryptionRequest;\n(function (PutBucketEncryptionRequest) {\n PutBucketEncryptionRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration.filterSensitiveLog(obj.ServerSideEncryptionConfiguration),\n }))); };\n})(PutBucketEncryptionRequest || (PutBucketEncryptionRequest = {}));\nexport var PutBucketIntelligentTieringConfigurationRequest;\n(function (PutBucketIntelligentTieringConfigurationRequest) {\n PutBucketIntelligentTieringConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketIntelligentTieringConfigurationRequest || (PutBucketIntelligentTieringConfigurationRequest = {}));\nexport var PutBucketInventoryConfigurationRequest;\n(function (PutBucketInventoryConfigurationRequest) {\n PutBucketInventoryConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.InventoryConfiguration && {\n InventoryConfiguration: InventoryConfiguration.filterSensitiveLog(obj.InventoryConfiguration),\n }))); };\n})(PutBucketInventoryConfigurationRequest || (PutBucketInventoryConfigurationRequest = {}));\nexport var BucketLifecycleConfiguration;\n(function (BucketLifecycleConfiguration) {\n BucketLifecycleConfiguration.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Rules && { Rules: obj.Rules.map(function (item) { return LifecycleRule.filterSensitiveLog(item); }) }))); };\n})(BucketLifecycleConfiguration || (BucketLifecycleConfiguration = {}));\nexport var PutBucketLifecycleConfigurationRequest;\n(function (PutBucketLifecycleConfigurationRequest) {\n PutBucketLifecycleConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.LifecycleConfiguration && {\n LifecycleConfiguration: BucketLifecycleConfiguration.filterSensitiveLog(obj.LifecycleConfiguration),\n }))); };\n})(PutBucketLifecycleConfigurationRequest || (PutBucketLifecycleConfigurationRequest = {}));\nexport var BucketLoggingStatus;\n(function (BucketLoggingStatus) {\n BucketLoggingStatus.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(BucketLoggingStatus || (BucketLoggingStatus = {}));\nexport var PutBucketLoggingRequest;\n(function (PutBucketLoggingRequest) {\n PutBucketLoggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketLoggingRequest || (PutBucketLoggingRequest = {}));\nexport var PutBucketMetricsConfigurationRequest;\n(function (PutBucketMetricsConfigurationRequest) {\n PutBucketMetricsConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.MetricsConfiguration && {\n MetricsConfiguration: MetricsConfiguration.filterSensitiveLog(obj.MetricsConfiguration),\n }))); };\n})(PutBucketMetricsConfigurationRequest || (PutBucketMetricsConfigurationRequest = {}));\nexport var PutBucketNotificationConfigurationRequest;\n(function (PutBucketNotificationConfigurationRequest) {\n PutBucketNotificationConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketNotificationConfigurationRequest || (PutBucketNotificationConfigurationRequest = {}));\nexport var PutBucketOwnershipControlsRequest;\n(function (PutBucketOwnershipControlsRequest) {\n PutBucketOwnershipControlsRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketOwnershipControlsRequest || (PutBucketOwnershipControlsRequest = {}));\nexport var PutBucketPolicyRequest;\n(function (PutBucketPolicyRequest) {\n PutBucketPolicyRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketPolicyRequest || (PutBucketPolicyRequest = {}));\nexport var PutBucketReplicationRequest;\n(function (PutBucketReplicationRequest) {\n PutBucketReplicationRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.ReplicationConfiguration && {\n ReplicationConfiguration: ReplicationConfiguration.filterSensitiveLog(obj.ReplicationConfiguration),\n }))); };\n})(PutBucketReplicationRequest || (PutBucketReplicationRequest = {}));\nexport var RequestPaymentConfiguration;\n(function (RequestPaymentConfiguration) {\n RequestPaymentConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RequestPaymentConfiguration || (RequestPaymentConfiguration = {}));\nexport var PutBucketRequestPaymentRequest;\n(function (PutBucketRequestPaymentRequest) {\n PutBucketRequestPaymentRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketRequestPaymentRequest || (PutBucketRequestPaymentRequest = {}));\nexport var Tagging;\n(function (Tagging) {\n Tagging.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Tagging || (Tagging = {}));\nexport var PutBucketTaggingRequest;\n(function (PutBucketTaggingRequest) {\n PutBucketTaggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketTaggingRequest || (PutBucketTaggingRequest = {}));\nexport var VersioningConfiguration;\n(function (VersioningConfiguration) {\n VersioningConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(VersioningConfiguration || (VersioningConfiguration = {}));\nexport var PutBucketVersioningRequest;\n(function (PutBucketVersioningRequest) {\n PutBucketVersioningRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketVersioningRequest || (PutBucketVersioningRequest = {}));\nexport var WebsiteConfiguration;\n(function (WebsiteConfiguration) {\n WebsiteConfiguration.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(WebsiteConfiguration || (WebsiteConfiguration = {}));\nexport var PutBucketWebsiteRequest;\n(function (PutBucketWebsiteRequest) {\n PutBucketWebsiteRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutBucketWebsiteRequest || (PutBucketWebsiteRequest = {}));\nexport var PutObjectOutput;\n(function (PutObjectOutput) {\n PutObjectOutput.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING })), (obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }))); };\n})(PutObjectOutput || (PutObjectOutput = {}));\nexport var PutObjectRequest;\n(function (PutObjectRequest) {\n PutObjectRequest.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING })), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING })), (obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }))); };\n})(PutObjectRequest || (PutObjectRequest = {}));\nexport var PutObjectAclOutput;\n(function (PutObjectAclOutput) {\n PutObjectAclOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectAclOutput || (PutObjectAclOutput = {}));\nexport var PutObjectAclRequest;\n(function (PutObjectAclRequest) {\n PutObjectAclRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectAclRequest || (PutObjectAclRequest = {}));\nexport var PutObjectLegalHoldOutput;\n(function (PutObjectLegalHoldOutput) {\n PutObjectLegalHoldOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectLegalHoldOutput || (PutObjectLegalHoldOutput = {}));\nexport var PutObjectLegalHoldRequest;\n(function (PutObjectLegalHoldRequest) {\n PutObjectLegalHoldRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectLegalHoldRequest || (PutObjectLegalHoldRequest = {}));\nexport var PutObjectLockConfigurationOutput;\n(function (PutObjectLockConfigurationOutput) {\n PutObjectLockConfigurationOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectLockConfigurationOutput || (PutObjectLockConfigurationOutput = {}));\nexport var PutObjectLockConfigurationRequest;\n(function (PutObjectLockConfigurationRequest) {\n PutObjectLockConfigurationRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectLockConfigurationRequest || (PutObjectLockConfigurationRequest = {}));\nexport var PutObjectRetentionOutput;\n(function (PutObjectRetentionOutput) {\n PutObjectRetentionOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectRetentionOutput || (PutObjectRetentionOutput = {}));\nexport var PutObjectRetentionRequest;\n(function (PutObjectRetentionRequest) {\n PutObjectRetentionRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectRetentionRequest || (PutObjectRetentionRequest = {}));\nexport var PutObjectTaggingOutput;\n(function (PutObjectTaggingOutput) {\n PutObjectTaggingOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectTaggingOutput || (PutObjectTaggingOutput = {}));\nexport var PutObjectTaggingRequest;\n(function (PutObjectTaggingRequest) {\n PutObjectTaggingRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutObjectTaggingRequest || (PutObjectTaggingRequest = {}));\nexport var PutPublicAccessBlockRequest;\n(function (PutPublicAccessBlockRequest) {\n PutPublicAccessBlockRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(PutPublicAccessBlockRequest || (PutPublicAccessBlockRequest = {}));\nexport var ObjectAlreadyInActiveTierError;\n(function (ObjectAlreadyInActiveTierError) {\n ObjectAlreadyInActiveTierError.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ObjectAlreadyInActiveTierError || (ObjectAlreadyInActiveTierError = {}));\nexport var RestoreObjectOutput;\n(function (RestoreObjectOutput) {\n RestoreObjectOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RestoreObjectOutput || (RestoreObjectOutput = {}));\nexport var GlacierJobParameters;\n(function (GlacierJobParameters) {\n GlacierJobParameters.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GlacierJobParameters || (GlacierJobParameters = {}));\nexport var Encryption;\n(function (Encryption) {\n Encryption.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.KMSKeyId && { KMSKeyId: SENSITIVE_STRING }))); };\n})(Encryption || (Encryption = {}));\n//# sourceMappingURL=models_0.js.map","/**\n * Escapes characters that can not be in an XML attribute.\n */\nexport function escapeAttribute(value) {\n return value.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLWF0dHJpYnV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lc2NhcGUtYXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFhO0lBQzNDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXNjYXBlcyBjaGFyYWN0ZXJzIHRoYXQgY2FuIG5vdCBiZSBpbiBhbiBYTUwgYXR0cmlidXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlQXR0cmlidXRlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWUucmVwbGFjZSgvJi9nLCBcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZywgXCImbHQ7XCIpLnJlcGxhY2UoLz4vZywgXCImZ3Q7XCIpLnJlcGxhY2UoL1wiL2csIFwiJnF1b3Q7XCIpO1xufVxuIl19","import { __values } from \"tslib\";\nimport { escapeAttribute } from \"./escape-attribute\";\n/**\n * Represents an XML node.\n */\nvar XmlNode = /** @class */ (function () {\n function XmlNode(name, children) {\n if (children === void 0) { children = []; }\n this.name = name;\n this.children = children;\n this.attributes = {};\n }\n XmlNode.prototype.withName = function (name) {\n this.name = name;\n return this;\n };\n XmlNode.prototype.addAttribute = function (name, value) {\n this.attributes[name] = value;\n return this;\n };\n XmlNode.prototype.addChildNode = function (child) {\n this.children.push(child);\n return this;\n };\n XmlNode.prototype.removeAttribute = function (name) {\n delete this.attributes[name];\n return this;\n };\n XmlNode.prototype.toString = function () {\n var e_1, _a;\n var hasChildren = Boolean(this.children.length);\n var xmlText = \"<\" + this.name;\n // add attributes\n var attributes = this.attributes;\n try {\n for (var _b = __values(Object.keys(attributes)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var attributeName = _c.value;\n var attribute = attributes[attributeName];\n if (typeof attribute !== \"undefined\" && attribute !== null) {\n xmlText += \" \" + attributeName + \"=\\\"\" + escapeAttribute(\"\" + attribute) + \"\\\"\";\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return (xmlText += !hasChildren ? \"/>\" : \">\" + this.children.map(function (c) { return c.toString(); }).join(\"\") + \"\");\n };\n return XmlNode;\n}());\nexport { XmlNode };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWG1sTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9YbWxOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHckQ7O0dBRUc7QUFDSDtJQUdFLGlCQUFvQixJQUFZLEVBQWtCLFFBQTJCO1FBQTNCLHlCQUFBLEVBQUEsYUFBMkI7UUFBekQsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFrQixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUZyRSxlQUFVLEdBQTRCLEVBQUUsQ0FBQztJQUUrQixDQUFDO0lBRWpGLDBCQUFRLEdBQVIsVUFBUyxJQUFZO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDhCQUFZLEdBQVosVUFBYSxJQUFZLEVBQUUsS0FBVTtRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCw4QkFBWSxHQUFaLFVBQWEsS0FBaUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUNBQWUsR0FBZixVQUFnQixJQUFZO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCwwQkFBUSxHQUFSOztRQUNFLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksT0FBTyxHQUFHLE1BQUksSUFBSSxDQUFDLElBQU0sQ0FBQztRQUM5QixpQkFBaUI7UUFDakIsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzs7WUFDbkMsS0FBNEIsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtnQkFBaEQsSUFBTSxhQUFhLFdBQUE7Z0JBQ3RCLElBQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxLQUFLLElBQUksRUFBRTtvQkFDMUQsT0FBTyxJQUFJLE1BQUksYUFBYSxXQUFLLGVBQWUsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQUcsQ0FBQztpQkFDckU7YUFDRjs7Ozs7Ozs7O1FBRUQsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFaLENBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBSyxJQUFJLENBQUMsSUFBSSxNQUFHLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBQ0gsY0FBQztBQUFELENBQUMsQUF2Q0QsSUF1Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlc2NhcGVBdHRyaWJ1dGUgfSBmcm9tIFwiLi9lc2NhcGUtYXR0cmlidXRlXCI7XG5pbXBvcnQgeyBTdHJpbmdhYmxlIH0gZnJvbSBcIi4vc3RyaW5nYWJsZVwiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gWE1MIG5vZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBYbWxOb2RlIHtcbiAgcHJpdmF0ZSBhdHRyaWJ1dGVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmFtZTogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgY2hpbGRyZW46IFN0cmluZ2FibGVbXSA9IFtdKSB7fVxuXG4gIHdpdGhOYW1lKG5hbWU6IHN0cmluZyk6IFhtbE5vZGUge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRBdHRyaWJ1dGUobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogWG1sTm9kZSB7XG4gICAgdGhpcy5hdHRyaWJ1dGVzW25hbWVdID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRDaGlsZE5vZGUoY2hpbGQ6IFN0cmluZ2FibGUpOiBYbWxOb2RlIHtcbiAgICB0aGlzLmNoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVtb3ZlQXR0cmlidXRlKG5hbWU6IHN0cmluZyk6IFhtbE5vZGUge1xuICAgIGRlbGV0ZSB0aGlzLmF0dHJpYnV0ZXNbbmFtZV07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gQm9vbGVhbih0aGlzLmNoaWxkcmVuLmxlbmd0aCk7XG4gICAgbGV0IHhtbFRleHQgPSBgPCR7dGhpcy5uYW1lfWA7XG4gICAgLy8gYWRkIGF0dHJpYnV0ZXNcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5hdHRyaWJ1dGVzO1xuICAgIGZvciAoY29uc3QgYXR0cmlidXRlTmFtZSBvZiBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gYXR0cmlidXRlc1thdHRyaWJ1dGVOYW1lXTtcbiAgICAgIGlmICh0eXBlb2YgYXR0cmlidXRlICE9PSBcInVuZGVmaW5lZFwiICYmIGF0dHJpYnV0ZSAhPT0gbnVsbCkge1xuICAgICAgICB4bWxUZXh0ICs9IGAgJHthdHRyaWJ1dGVOYW1lfT1cIiR7ZXNjYXBlQXR0cmlidXRlKFwiXCIgKyBhdHRyaWJ1dGUpfVwiYDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKHhtbFRleHQgKz0gIWhhc0NoaWxkcmVuID8gXCIvPlwiIDogYD4ke3RoaXMuY2hpbGRyZW4ubWFwKChjKSA9PiBjLnRvU3RyaW5nKCkpLmpvaW4oXCJcIil9PC8ke3RoaXMubmFtZX0+YCk7XG4gIH1cbn1cbiJdfQ==","/**\n * Escapes characters that can not be in an XML element.\n */\nexport function escapeElement(value) {\n return value.replace(/&/g, \"&\").replace(//g, \">\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXNjYXBlLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWE7SUFDekMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXNjYXBlcyBjaGFyYWN0ZXJzIHRoYXQgY2FuIG5vdCBiZSBpbiBhbiBYTUwgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUVsZW1lbnQodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZS5yZXBsYWNlKC8mL2csIFwiJmFtcDtcIikucmVwbGFjZSgvPC9nLCBcIiZsdDtcIikucmVwbGFjZSgvPi9nLCBcIiZndDtcIik7XG59XG4iXX0=","import { escapeElement } from \"./escape-element\";\n/**\n * Represents an XML text value.\n */\nvar XmlText = /** @class */ (function () {\n function XmlText(value) {\n this.value = value;\n }\n XmlText.prototype.toString = function () {\n return escapeElement(\"\" + this.value);\n };\n return XmlText;\n}());\nexport { XmlText };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWG1sVGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9YbWxUZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRDs7R0FFRztBQUNIO0lBQ0UsaUJBQW9CLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQUcsQ0FBQztJQUVyQywwQkFBUSxHQUFSO1FBQ0UsT0FBTyxhQUFhLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0gsY0FBQztBQUFELENBQUMsQUFORCxJQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXNjYXBlRWxlbWVudCB9IGZyb20gXCIuL2VzY2FwZS1lbGVtZW50XCI7XG5pbXBvcnQgeyBTdHJpbmdhYmxlIH0gZnJvbSBcIi4vc3RyaW5nYWJsZVwiO1xuLyoqXG4gKiBSZXByZXNlbnRzIGFuIFhNTCB0ZXh0IHZhbHVlLlxuICovXG5leHBvcnQgY2xhc3MgWG1sVGV4dCBpbXBsZW1lbnRzIFN0cmluZ2FibGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlOiBzdHJpbmcpIHt9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZXNjYXBlRWxlbWVudChcIlwiICsgdGhpcy52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { AnalyticsFilter, LifecycleRuleFilter, MetricsFilter, ReplicationRuleFilter, } from \"../models/models_0\";\nimport { HttpRequest as __HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { dateToUtcString as __dateToUtcString, extendedEncodeURIComponent as __extendedEncodeURIComponent, getArrayIfSingleItem as __getArrayIfSingleItem, getValueFromTextNode as __getValueFromTextNode, } from \"@aws-sdk/smithy-client\";\nimport { XmlNode as __XmlNode, XmlText as __XmlText } from \"@aws-sdk/xml-builder\";\nimport { parse as xmlParse } from \"fast-xml-parser\";\nexport var serializeAws_restXmlAbortMultipartUploadCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ \"x-id\": \"AbortMultipartUpload\" }, (input.UploadId !== undefined && { uploadId: input.UploadId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlCompleteMultipartUploadCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({}, (input.UploadId !== undefined && { uploadId: input.UploadId }));\n if (input.MultipartUpload !== undefined) {\n contents = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlCopyObjectCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL })), (isSerializableHeaderValue(input.CacheControl) && { \"cache-control\": input.CacheControl })), (isSerializableHeaderValue(input.ContentDisposition) && { \"content-disposition\": input.ContentDisposition })), (isSerializableHeaderValue(input.ContentEncoding) && { \"content-encoding\": input.ContentEncoding })), (isSerializableHeaderValue(input.ContentLanguage) && { \"content-language\": input.ContentLanguage })), (isSerializableHeaderValue(input.ContentType) && { \"content-type\": input.ContentType })), (isSerializableHeaderValue(input.CopySource) && { \"x-amz-copy-source\": input.CopySource })), (isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch,\n })), (isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString(),\n })), (isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch,\n })), (isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString(),\n })), (isSerializableHeaderValue(input.Expires) && { expires: __dateToUtcString(input.Expires).toString() })), (isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl })), (isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead })), (isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP })), (isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP })), (isSerializableHeaderValue(input.MetadataDirective) && { \"x-amz-metadata-directive\": input.MetadataDirective })), (isSerializableHeaderValue(input.TaggingDirective) && { \"x-amz-tagging-directive\": input.TaggingDirective })), (isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n })), (isSerializableHeaderValue(input.StorageClass) && { \"x-amz-storage-class\": input.StorageClass })), (isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n })), (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n })), (isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n })), (isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled.toString(),\n })), (isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey,\n })), (isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.Tagging) && { \"x-amz-tagging\": input.Tagging })), (isSerializableHeaderValue(input.ObjectLockMode) && { \"x-amz-object-lock-mode\": input.ObjectLockMode })), (isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n })), (isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n })), (isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner,\n })), (input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce(function (acc, suffix) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[\"x-amz-meta-\" + suffix.toLowerCase()] = input.Metadata[suffix], _a)));\n }, {})));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = {\n \"x-id\": \"CopyObject\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlCreateBucketCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL })), (isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl })), (isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead })), (isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP })), (isSerializableHeaderValue(input.GrantWrite) && { \"x-amz-grant-write\": input.GrantWrite })), (isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP })), (isSerializableHeaderValue(input.ObjectLockEnabledForBucket) && {\n \"x-amz-bucket-object-lock-enabled\": input.ObjectLockEnabledForBucket.toString(),\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.CreateBucketConfiguration !== undefined) {\n contents = serializeAws_restXmlCreateBucketConfiguration(input.CreateBucketConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlCreateMultipartUploadCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL })), (isSerializableHeaderValue(input.CacheControl) && { \"cache-control\": input.CacheControl })), (isSerializableHeaderValue(input.ContentDisposition) && { \"content-disposition\": input.ContentDisposition })), (isSerializableHeaderValue(input.ContentEncoding) && { \"content-encoding\": input.ContentEncoding })), (isSerializableHeaderValue(input.ContentLanguage) && { \"content-language\": input.ContentLanguage })), (isSerializableHeaderValue(input.ContentType) && { \"content-type\": input.ContentType })), (isSerializableHeaderValue(input.Expires) && { expires: __dateToUtcString(input.Expires).toString() })), (isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl })), (isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead })), (isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP })), (isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP })), (isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n })), (isSerializableHeaderValue(input.StorageClass) && { \"x-amz-storage-class\": input.StorageClass })), (isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n })), (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n })), (isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n })), (isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled.toString(),\n })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.Tagging) && { \"x-amz-tagging\": input.Tagging })), (isSerializableHeaderValue(input.ObjectLockMode) && { \"x-amz-object-lock-mode\": input.ObjectLockMode })), (isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n })), (isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n })), (input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce(function (acc, suffix) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[\"x-amz-meta-\" + suffix.toLowerCase()] = input.Metadata[suffix], _a)));\n }, {})));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = {\n uploads: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ analytics: \"\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketCorsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n cors: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketEncryptionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n encryption: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ \"intelligent-tiering\": \"\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ inventory: \"\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketLifecycleCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n lifecycle: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ metrics: \"\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketOwnershipControlsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n ownershipControls: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketPolicyCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n policy: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketReplicationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n replication: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketTaggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n tagging: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteBucketWebsiteCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n website: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteObjectCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({}, (isSerializableHeaderValue(input.MFA) && { \"x-amz-mfa\": input.MFA })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString(),\n })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ \"x-id\": \"DeleteObject\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteObjectsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.MFA) && { \"x-amz-mfa\": input.MFA })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString(),\n })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n delete: \"\",\n };\n if (input.Delete !== undefined) {\n contents = serializeAws_restXmlDelete(input.Delete, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeleteObjectTaggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ tagging: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlDeletePublicAccessBlockCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n publicAccessBlock: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketAccelerateConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n accelerate: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketAclCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n acl: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ analytics: \"\", \"x-id\": \"GetBucketAnalyticsConfiguration\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketCorsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n cors: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketEncryptionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n encryption: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ \"intelligent-tiering\": \"\", \"x-id\": \"GetBucketIntelligentTieringConfiguration\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketInventoryConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ inventory: \"\", \"x-id\": \"GetBucketInventoryConfiguration\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketLifecycleConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n lifecycle: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketLocationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n location: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketLoggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n logging: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketMetricsConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ metrics: \"\", \"x-id\": \"GetBucketMetricsConfiguration\" }, (input.Id !== undefined && { id: input.Id }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketNotificationConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n notification: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketOwnershipControlsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n ownershipControls: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketPolicyCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n policy: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketPolicyStatusCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n policyStatus: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketReplicationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n replication: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketRequestPaymentCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n requestPayment: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketTaggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n tagging: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketVersioningCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n versioning: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetBucketWebsiteCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n website: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetObjectCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (isSerializableHeaderValue(input.IfMatch) && { \"if-match\": input.IfMatch })), (isSerializableHeaderValue(input.IfModifiedSince) && {\n \"if-modified-since\": __dateToUtcString(input.IfModifiedSince).toString(),\n })), (isSerializableHeaderValue(input.IfNoneMatch) && { \"if-none-match\": input.IfNoneMatch })), (isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"if-unmodified-since\": __dateToUtcString(input.IfUnmodifiedSince).toString(),\n })), (isSerializableHeaderValue(input.Range) && { range: input.Range })), (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ \"x-id\": \"GetObject\" }, (input.ResponseCacheControl !== undefined && { \"response-cache-control\": input.ResponseCacheControl })), (input.ResponseContentDisposition !== undefined && {\n \"response-content-disposition\": input.ResponseContentDisposition,\n })), (input.ResponseContentEncoding !== undefined && { \"response-content-encoding\": input.ResponseContentEncoding })), (input.ResponseContentLanguage !== undefined && { \"response-content-language\": input.ResponseContentLanguage })), (input.ResponseContentType !== undefined && { \"response-content-type\": input.ResponseContentType })), (input.ResponseExpires !== undefined && {\n \"response-expires\": (input.ResponseExpires.toISOString().split(\".\")[0] + \"Z\").toString(),\n })), (input.VersionId !== undefined && { versionId: input.VersionId })), (input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetObjectAclCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ acl: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetObjectLegalHoldCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ \"legal-hold\": \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetObjectLockConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n \"object-lock\": \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetObjectRetentionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ retention: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetObjectTaggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ tagging: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetObjectTorrentCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = {\n torrent: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlGetPublicAccessBlockCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n publicAccessBlock: \"\",\n };\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlHeadBucketCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"HEAD\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlHeadObjectCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (isSerializableHeaderValue(input.IfMatch) && { \"if-match\": input.IfMatch })), (isSerializableHeaderValue(input.IfModifiedSince) && {\n \"if-modified-since\": __dateToUtcString(input.IfModifiedSince).toString(),\n })), (isSerializableHeaderValue(input.IfNoneMatch) && { \"if-none-match\": input.IfNoneMatch })), (isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"if-unmodified-since\": __dateToUtcString(input.IfUnmodifiedSince).toString(),\n })), (isSerializableHeaderValue(input.Range) && { range: input.Range })), (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign(__assign({}, (input.VersionId !== undefined && { versionId: input.VersionId })), (input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"HEAD\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ analytics: \"\", \"x-id\": \"ListBucketAnalyticsConfigurations\" }, (input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ \"intelligent-tiering\": \"\", \"x-id\": \"ListBucketIntelligentTieringConfigurations\" }, (input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListBucketInventoryConfigurationsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ inventory: \"\", \"x-id\": \"ListBucketInventoryConfigurations\" }, (input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListBucketMetricsConfigurationsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ metrics: \"\", \"x-id\": \"ListBucketMetricsConfigurations\" }, (input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListBucketsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/\";\n body = \"\";\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListMultipartUploadsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign(__assign(__assign(__assign(__assign(__assign({ uploads: \"\" }, (input.Delimiter !== undefined && { delimiter: input.Delimiter })), (input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType })), (input.KeyMarker !== undefined && { \"key-marker\": input.KeyMarker })), (input.MaxUploads !== undefined && { \"max-uploads\": input.MaxUploads.toString() })), (input.Prefix !== undefined && { prefix: input.Prefix })), (input.UploadIdMarker !== undefined && { \"upload-id-marker\": input.UploadIdMarker }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListObjectsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign(__assign(__assign(__assign(__assign({}, (input.Delimiter !== undefined && { delimiter: input.Delimiter })), (input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType })), (input.Marker !== undefined && { marker: input.Marker })), (input.MaxKeys !== undefined && { \"max-keys\": input.MaxKeys.toString() })), (input.Prefix !== undefined && { prefix: input.Prefix }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListObjectsV2Command = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign(__assign(__assign(__assign(__assign(__assign(__assign({ \"list-type\": \"2\" }, (input.Delimiter !== undefined && { delimiter: input.Delimiter })), (input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType })), (input.MaxKeys !== undefined && { \"max-keys\": input.MaxKeys.toString() })), (input.Prefix !== undefined && { prefix: input.Prefix })), (input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken })), (input.FetchOwner !== undefined && { \"fetch-owner\": input.FetchOwner.toString() })), (input.StartAfter !== undefined && { \"start-after\": input.StartAfter }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListObjectVersionsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({}, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign(__assign(__assign(__assign(__assign(__assign({ versions: \"\" }, (input.Delimiter !== undefined && { delimiter: input.Delimiter })), (input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType })), (input.KeyMarker !== undefined && { \"key-marker\": input.KeyMarker })), (input.MaxKeys !== undefined && { \"max-keys\": input.MaxKeys.toString() })), (input.Prefix !== undefined && { prefix: input.Prefix })), (input.VersionIdMarker !== undefined && { \"version-id-marker\": input.VersionIdMarker }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlListPartsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({}, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign(__assign(__assign({ \"x-id\": \"ListParts\" }, (input.MaxParts !== undefined && { \"max-parts\": input.MaxParts.toString() })), (input.PartNumberMarker !== undefined && { \"part-number-marker\": input.PartNumberMarker })), (input.UploadId !== undefined && { uploadId: input.UploadId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketAccelerateConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n accelerate: \"\",\n };\n if (input.AccelerateConfiguration !== undefined) {\n contents = serializeAws_restXmlAccelerateConfiguration(input.AccelerateConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketAclCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL })), (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl })), (isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead })), (isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP })), (isSerializableHeaderValue(input.GrantWrite) && { \"x-amz-grant-write\": input.GrantWrite })), (isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n acl: \"\",\n };\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ analytics: \"\" }, (input.Id !== undefined && { id: input.Id }));\n if (input.AnalyticsConfiguration !== undefined) {\n contents = serializeAws_restXmlAnalyticsConfiguration(input.AnalyticsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketCorsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n cors: \"\",\n };\n if (input.CORSConfiguration !== undefined) {\n contents = serializeAws_restXmlCORSConfiguration(input.CORSConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketEncryptionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n encryption: \"\",\n };\n if (input.ServerSideEncryptionConfiguration !== undefined) {\n contents = serializeAws_restXmlServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"content-type\": \"application/xml\",\n };\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ \"intelligent-tiering\": \"\" }, (input.Id !== undefined && { id: input.Id }));\n if (input.IntelligentTieringConfiguration !== undefined) {\n contents = serializeAws_restXmlIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketInventoryConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ inventory: \"\" }, (input.Id !== undefined && { id: input.Id }));\n if (input.InventoryConfiguration !== undefined) {\n contents = serializeAws_restXmlInventoryConfiguration(input.InventoryConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketLifecycleConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n lifecycle: \"\",\n };\n if (input.LifecycleConfiguration !== undefined) {\n contents = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketLoggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n logging: \"\",\n };\n if (input.BucketLoggingStatus !== undefined) {\n contents = serializeAws_restXmlBucketLoggingStatus(input.BucketLoggingStatus, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketMetricsConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = __assign({ metrics: \"\" }, (input.Id !== undefined && { id: input.Id }));\n if (input.MetricsConfiguration !== undefined) {\n contents = serializeAws_restXmlMetricsConfiguration(input.MetricsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketNotificationConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n notification: \"\",\n };\n if (input.NotificationConfiguration !== undefined) {\n contents = serializeAws_restXmlNotificationConfiguration(input.NotificationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketOwnershipControlsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n ownershipControls: \"\",\n };\n if (input.OwnershipControls !== undefined) {\n contents = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketPolicyCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({ \"content-type\": \"text/plain\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess) && {\n \"x-amz-confirm-remove-self-bucket-access\": input.ConfirmRemoveSelfBucketAccess.toString(),\n })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n policy: \"\",\n };\n if (input.Policy !== undefined) {\n contents = input.Policy;\n body = contents;\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketReplicationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.Token) && { \"x-amz-bucket-object-lock-token\": input.Token })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n replication: \"\",\n };\n if (input.ReplicationConfiguration !== undefined) {\n contents = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketRequestPaymentCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n requestPayment: \"\",\n };\n if (input.RequestPaymentConfiguration !== undefined) {\n contents = serializeAws_restXmlRequestPaymentConfiguration(input.RequestPaymentConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketTaggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n tagging: \"\",\n };\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketVersioningCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.MFA) && { \"x-amz-mfa\": input.MFA })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n versioning: \"\",\n };\n if (input.VersioningConfiguration !== undefined) {\n contents = serializeAws_restXmlVersioningConfiguration(input.VersioningConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutBucketWebsiteCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n website: \"\",\n };\n if (input.WebsiteConfiguration !== undefined) {\n contents = serializeAws_restXmlWebsiteConfiguration(input.WebsiteConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutObjectCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ \"content-type\": \"application/octet-stream\" }, (isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL })), (isSerializableHeaderValue(input.CacheControl) && { \"cache-control\": input.CacheControl })), (isSerializableHeaderValue(input.ContentDisposition) && { \"content-disposition\": input.ContentDisposition })), (isSerializableHeaderValue(input.ContentEncoding) && { \"content-encoding\": input.ContentEncoding })), (isSerializableHeaderValue(input.ContentLanguage) && { \"content-language\": input.ContentLanguage })), (isSerializableHeaderValue(input.ContentLength) && { \"content-length\": input.ContentLength.toString() })), (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ContentType) && { \"content-type\": input.ContentType })), (isSerializableHeaderValue(input.Expires) && { expires: __dateToUtcString(input.Expires).toString() })), (isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl })), (isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead })), (isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP })), (isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP })), (isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption,\n })), (isSerializableHeaderValue(input.StorageClass) && { \"x-amz-storage-class\": input.StorageClass })), (isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation,\n })), (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId,\n })), (isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext,\n })), (isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled.toString(),\n })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.Tagging) && { \"x-amz-tagging\": input.Tagging })), (isSerializableHeaderValue(input.ObjectLockMode) && { \"x-amz-object-lock-mode\": input.ObjectLockMode })), (isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (input.ObjectLockRetainUntilDate.toISOString().split(\".\")[0] + \"Z\").toString(),\n })), (isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus,\n })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n })), (input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce(function (acc, suffix) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[\"x-amz-meta-\" + suffix.toLowerCase()] = input.Metadata[suffix], _a)));\n }, {})));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = {\n \"x-id\": \"PutObject\",\n };\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutObjectAclCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL })), (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl })), (isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead })), (isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP })), (isSerializableHeaderValue(input.GrantWrite) && { \"x-amz-grant-write\": input.GrantWrite })), (isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ acl: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutObjectLegalHoldCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ \"legal-hold\": \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n if (input.LegalHold !== undefined) {\n contents = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutObjectLockConfigurationCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.Token) && { \"x-amz-bucket-object-lock-token\": input.Token })), (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n \"object-lock\": \"\",\n };\n if (input.ObjectLockConfiguration !== undefined) {\n contents = serializeAws_restXmlObjectLockConfiguration(input.ObjectLockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutObjectRetentionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention.toString(),\n })), (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ retention: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n if (input.Retention !== undefined) {\n contents = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutObjectTaggingCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ tagging: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlPutPublicAccessBlockCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n query = {\n publicAccessBlock: \"\",\n };\n if (input.PublicAccessBlockConfiguration !== undefined) {\n contents = serializeAws_restXmlPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlRestoreObjectCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign({ restore: \"\" }, (input.VersionId !== undefined && { versionId: input.VersionId }));\n if (input.RestoreRequest !== undefined) {\n contents = serializeAws_restXmlRestoreRequest(input.RestoreRequest, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlSelectObjectContentCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, bodyNode, node, node, node, node, node, node, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign({ \"content-type\": \"application/xml\" }, (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = {\n select: \"\",\n \"select-type\": \"2\",\n };\n body = '';\n bodyNode = new __XmlNode(\"SelectObjectContentRequest\");\n bodyNode.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n if (input.Expression !== undefined) {\n node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType !== undefined) {\n node = new __XmlNode(\"ExpressionType\")\n .addChildNode(new __XmlText(input.ExpressionType))\n .withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.InputSerialization !== undefined) {\n node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization !== undefined) {\n node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.RequestProgress !== undefined) {\n node = serializeAws_restXmlRequestProgress(input.RequestProgress, context).withName(\"RequestProgress\");\n bodyNode.addChildNode(node);\n }\n if (input.ScanRange !== undefined) {\n node = serializeAws_restXmlScanRange(input.ScanRange, context).withName(\"ScanRange\");\n bodyNode.addChildNode(node);\n }\n body += bodyNode.toString();\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlUploadPartCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, contents, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign({ \"content-type\": \"application/octet-stream\" }, (isSerializableHeaderValue(input.ContentLength) && { \"content-length\": input.ContentLength.toString() })), (isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5 })), (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign(__assign({ \"x-id\": \"UploadPart\" }, (input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() })), (input.UploadId !== undefined && { uploadId: input.UploadId }));\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restXmlUploadPartCopyCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (isSerializableHeaderValue(input.CopySource) && { \"x-amz-copy-source\": input.CopySource })), (isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch,\n })), (isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince).toString(),\n })), (isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch,\n })), (isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince).toString(),\n })), (isSerializableHeaderValue(input.CopySourceRange) && { \"x-amz-copy-source-range\": input.CopySourceRange })), (isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey,\n })), (isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm,\n })), (isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey,\n })), (isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5,\n })), (isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer })), (isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner,\n })), (isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner,\n }));\n resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n labelValue = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n labelValue = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\"{Key+}\", labelValue\n .split(\"/\")\n .map(function (segment) { return __extendedEncodeURIComponent(segment); })\n .join(\"/\"));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n query = __assign(__assign({ \"x-id\": \"UploadPartCopy\" }, (input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() })), (input.UploadId !== undefined && { uploadId: input.UploadId }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var deserializeAws_restXmlAbortMultipartUploadCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlAbortMultipartUploadCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlAbortMultipartUploadCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"NoSuchUpload\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#NoSuchUpload\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlCompleteMultipartUploadCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Bucket: undefined,\n BucketKeyEnabled: undefined,\n ETag: undefined,\n Expiration: undefined,\n Key: undefined,\n Location: undefined,\n RequestCharged: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = data[\"ETag\"];\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n if (data[\"Location\"] !== undefined) {\n contents.Location = data[\"Location\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlCompleteMultipartUploadCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlCopyObjectCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlCopyObjectCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n CopyObjectResult: undefined,\n CopySourceVersionId: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.CopyObjectResult = deserializeAws_restXmlCopyObjectResult(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlCopyObjectCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ObjectNotInActiveTierError\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#ObjectNotInActiveTierError\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlCreateBucketCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlCreateBucketCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Location: undefined,\n };\n if (output.headers[\"location\"] !== undefined) {\n contents.Location = output.headers[\"location\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlCreateBucketCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, parsedBody, message;\n var _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = [__assign({}, output)];\n _e = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_e.body = _f.sent(), _e)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"BucketAlreadyExists\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#BucketAlreadyExists\": return [3 /*break*/, 2];\n case \"BucketAlreadyOwnedByYou\": return [3 /*break*/, 4];\n case \"com.amazonaws.s3#BucketAlreadyOwnedByYou\": return [3 /*break*/, 4];\n }\n return [3 /*break*/, 6];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_f.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 7];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_f.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 7];\n case 6:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _f.label = 7;\n case 7:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlCreateMultipartUploadCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlCreateMultipartUploadCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n BucketKeyEnabled: undefined,\n Key: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n UploadId: undefined,\n };\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlCreateMultipartUploadCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketCorsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketCorsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketCorsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketEncryptionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketEncryptionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketLifecycleCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketLifecycleCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketPolicyCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketPolicyCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketReplicationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketReplicationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketTaggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketTaggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteBucketWebsiteCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteBucketWebsiteCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteObjectCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteObjectCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n DeleteMarker: undefined,\n RequestCharged: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteObjectCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteObjectsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteObjectsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Deleted: undefined,\n Errors: undefined,\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.Deleted === \"\") {\n contents.Deleted = [];\n }\n if (data[\"Deleted\"] !== undefined) {\n contents.Deleted = deserializeAws_restXmlDeletedObjects(__getArrayIfSingleItem(data[\"Deleted\"]), context);\n }\n if (data.Error === \"\") {\n contents.Errors = [];\n }\n if (data[\"Error\"] !== undefined) {\n contents.Errors = deserializeAws_restXmlErrors(__getArrayIfSingleItem(data[\"Error\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteObjectsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeleteObjectTaggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeleteObjectTaggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlDeletePublicAccessBlockCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlDeletePublicAccessBlockCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Status: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketAclCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketAclCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Grants: undefined,\n Owner: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketAclCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n AnalyticsConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.AnalyticsConfiguration = deserializeAws_restXmlAnalyticsConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketCorsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketCorsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n CORSRules: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.CORSRule === \"\") {\n contents.CORSRules = [];\n }\n if (data[\"CORSRule\"] !== undefined) {\n contents.CORSRules = deserializeAws_restXmlCORSRules(__getArrayIfSingleItem(data[\"CORSRule\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketCorsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketEncryptionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketEncryptionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n ServerSideEncryptionConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.ServerSideEncryptionConfiguration = deserializeAws_restXmlServerSideEncryptionConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketEncryptionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n IntelligentTieringConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.IntelligentTieringConfiguration = deserializeAws_restXmlIntelligentTieringConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketInventoryConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n InventoryConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.InventoryConfiguration = deserializeAws_restXmlInventoryConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketInventoryConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Rules: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.Rule === \"\") {\n contents.Rules = [];\n }\n if (data[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlLifecycleRules(__getArrayIfSingleItem(data[\"Rule\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketLocationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketLocationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n LocationConstraint: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"LocationConstraint\"] !== undefined) {\n contents.LocationConstraint = data[\"LocationConstraint\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketLocationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketLoggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketLoggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n LoggingEnabled: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"LoggingEnabled\"] !== undefined) {\n contents.LoggingEnabled = deserializeAws_restXmlLoggingEnabled(data[\"LoggingEnabled\"], context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketLoggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketMetricsConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n MetricsConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.MetricsConfiguration = deserializeAws_restXmlMetricsConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketMetricsConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketNotificationConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n LambdaFunctionConfigurations: undefined,\n QueueConfigurations: undefined,\n TopicConfigurations: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.CloudFunctionConfiguration === \"\") {\n contents.LambdaFunctionConfigurations = [];\n }\n if (data[\"CloudFunctionConfiguration\"] !== undefined) {\n contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList(__getArrayIfSingleItem(data[\"CloudFunctionConfiguration\"]), context);\n }\n if (data.QueueConfiguration === \"\") {\n contents.QueueConfigurations = [];\n }\n if (data[\"QueueConfiguration\"] !== undefined) {\n contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList(__getArrayIfSingleItem(data[\"QueueConfiguration\"]), context);\n }\n if (data.TopicConfiguration === \"\") {\n contents.TopicConfigurations = [];\n }\n if (data[\"TopicConfiguration\"] !== undefined) {\n contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList(__getArrayIfSingleItem(data[\"TopicConfiguration\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketOwnershipControlsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n OwnershipControls: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.OwnershipControls = deserializeAws_restXmlOwnershipControls(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketOwnershipControlsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketPolicyCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketPolicyCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Policy: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"Policy\"] !== undefined) {\n contents.Policy = data[\"Policy\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketPolicyCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketPolicyStatusCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n PolicyStatus: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.PolicyStatus = deserializeAws_restXmlPolicyStatus(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketPolicyStatusCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketReplicationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketReplicationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n ReplicationConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketReplicationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketRequestPaymentCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Payer: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"Payer\"] !== undefined) {\n contents.Payer = data[\"Payer\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketRequestPaymentCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketTaggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketTaggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n TagSet: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketTaggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketVersioningCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketVersioningCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n MFADelete: undefined,\n Status: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"MfaDelete\"] !== undefined) {\n contents.MFADelete = data[\"MfaDelete\"];\n }\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketVersioningCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetBucketWebsiteCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetBucketWebsiteCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n ErrorDocument: undefined,\n IndexDocument: undefined,\n RedirectAllRequestsTo: undefined,\n RoutingRules: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"ErrorDocument\"] !== undefined) {\n contents.ErrorDocument = deserializeAws_restXmlErrorDocument(data[\"ErrorDocument\"], context);\n }\n if (data[\"IndexDocument\"] !== undefined) {\n contents.IndexDocument = deserializeAws_restXmlIndexDocument(data[\"IndexDocument\"], context);\n }\n if (data[\"RedirectAllRequestsTo\"] !== undefined) {\n contents.RedirectAllRequestsTo = deserializeAws_restXmlRedirectAllRequestsTo(data[\"RedirectAllRequestsTo\"], context);\n }\n if (data.RoutingRules === \"\") {\n contents.RoutingRules = [];\n }\n if (data[\"RoutingRules\"] !== undefined && data[\"RoutingRules\"][\"RoutingRule\"] !== undefined) {\n contents.RoutingRules = deserializeAws_restXmlRoutingRules(__getArrayIfSingleItem(data[\"RoutingRules\"][\"RoutingRule\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetBucketWebsiteCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetObjectCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetObjectCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n AcceptRanges: undefined,\n Body: undefined,\n BucketKeyEnabled: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentRange: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n TagCount: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined,\n };\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n if (output.headers[\"content-range\"] !== undefined) {\n contents.ContentRange = output.headers[\"content-range\"];\n }\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n if (output.headers[\"x-amz-tagging-count\"] !== undefined) {\n contents.TagCount = parseInt(output.headers[\"x-amz-tagging-count\"], 10);\n }\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n Object.keys(output.headers).forEach(function (header) {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n data = output.body;\n contents.Body = data;\n return [2 /*return*/, Promise.resolve(contents)];\n });\n}); };\nvar deserializeAws_restXmlGetObjectCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, parsedBody, message;\n var _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = [__assign({}, output)];\n _e = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_e.body = _f.sent(), _e)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InvalidObjectState\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#InvalidObjectState\": return [3 /*break*/, 2];\n case \"NoSuchKey\": return [3 /*break*/, 4];\n case \"com.amazonaws.s3#NoSuchKey\": return [3 /*break*/, 4];\n }\n return [3 /*break*/, 6];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_f.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 7];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_f.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 7];\n case 6:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _f.label = 7;\n case 7:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetObjectAclCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetObjectAclCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Grants: undefined,\n Owner: undefined,\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetObjectAclCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"NoSuchKey\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#NoSuchKey\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetObjectLegalHoldCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n LegalHold: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.LegalHold = deserializeAws_restXmlObjectLockLegalHold(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetObjectLegalHoldCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetObjectLockConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n ObjectLockConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.ObjectLockConfiguration = deserializeAws_restXmlObjectLockConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetObjectLockConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetObjectRetentionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetObjectRetentionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Retention: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.Retention = deserializeAws_restXmlObjectLockRetention(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetObjectRetentionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetObjectTaggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetObjectTaggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n TagSet: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetObjectTaggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetObjectTorrentCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetObjectTorrentCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Body: undefined,\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n data = output.body;\n contents.Body = data;\n return [2 /*return*/, Promise.resolve(contents)];\n });\n}); };\nvar deserializeAws_restXmlGetObjectTorrentCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlGetPublicAccessBlockCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n PublicAccessBlockConfiguration: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.PublicAccessBlockConfiguration = deserializeAws_restXmlPublicAccessBlockConfiguration(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlGetPublicAccessBlockCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlHeadBucketCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlHeadBucketCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlHeadBucketCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"NoSuchBucket\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#NoSuchBucket\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlHeadObjectCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlHeadObjectCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n AcceptRanges: undefined,\n ArchiveStatus: undefined,\n BucketKeyEnabled: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined,\n };\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n if (output.headers[\"x-amz-archive-status\"] !== undefined) {\n contents.ArchiveStatus = output.headers[\"x-amz-archive-status\"];\n }\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n Object.keys(output.headers).forEach(function (header) {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlHeadObjectCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"NoSuchKey\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#NoSuchKey\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n AnalyticsConfigurationList: undefined,\n ContinuationToken: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.AnalyticsConfiguration === \"\") {\n contents.AnalyticsConfigurationList = [];\n }\n if (data[\"AnalyticsConfiguration\"] !== undefined) {\n contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList(__getArrayIfSingleItem(data[\"AnalyticsConfiguration\"]), context);\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n IntelligentTieringConfigurationList: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data.IntelligentTieringConfiguration === \"\") {\n contents.IntelligentTieringConfigurationList = [];\n }\n if (data[\"IntelligentTieringConfiguration\"] !== undefined) {\n contents.IntelligentTieringConfigurationList = deserializeAws_restXmlIntelligentTieringConfigurationList(__getArrayIfSingleItem(data[\"IntelligentTieringConfiguration\"]), context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListBucketInventoryConfigurationsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n InventoryConfigurationList: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data.InventoryConfiguration === \"\") {\n contents.InventoryConfigurationList = [];\n }\n if (data[\"InventoryConfiguration\"] !== undefined) {\n contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList(__getArrayIfSingleItem(data[\"InventoryConfiguration\"]), context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListBucketInventoryConfigurationsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListBucketMetricsConfigurationsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n IsTruncated: undefined,\n MetricsConfigurationList: undefined,\n NextContinuationToken: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data.MetricsConfiguration === \"\") {\n contents.MetricsConfigurationList = [];\n }\n if (data[\"MetricsConfiguration\"] !== undefined) {\n contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList(__getArrayIfSingleItem(data[\"MetricsConfiguration\"]), context);\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListBucketMetricsConfigurationsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListBucketsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListBucketsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Buckets: undefined,\n Owner: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.Buckets === \"\") {\n contents.Buckets = [];\n }\n if (data[\"Buckets\"] !== undefined && data[\"Buckets\"][\"Bucket\"] !== undefined) {\n contents.Buckets = deserializeAws_restXmlBuckets(__getArrayIfSingleItem(data[\"Buckets\"][\"Bucket\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListBucketsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListMultipartUploadsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListMultipartUploadsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Bucket: undefined,\n CommonPrefixes: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxUploads: undefined,\n NextKeyMarker: undefined,\n NextUploadIdMarker: undefined,\n Prefix: undefined,\n UploadIdMarker: undefined,\n Uploads: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n if (data[\"MaxUploads\"] !== undefined) {\n contents.MaxUploads = parseInt(data[\"MaxUploads\"]);\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n if (data[\"NextUploadIdMarker\"] !== undefined) {\n contents.NextUploadIdMarker = data[\"NextUploadIdMarker\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n if (data[\"UploadIdMarker\"] !== undefined) {\n contents.UploadIdMarker = data[\"UploadIdMarker\"];\n }\n if (data.Upload === \"\") {\n contents.Uploads = [];\n }\n if (data[\"Upload\"] !== undefined) {\n contents.Uploads = deserializeAws_restXmlMultipartUploadList(__getArrayIfSingleItem(data[\"Upload\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListMultipartUploadsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListObjectsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListObjectsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n Contents: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n Marker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextMarker: undefined,\n Prefix: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"Marker\"] !== undefined) {\n contents.Marker = data[\"Marker\"];\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n if (data[\"NextMarker\"] !== undefined) {\n contents.NextMarker = data[\"NextMarker\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListObjectsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"NoSuchBucket\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#NoSuchBucket\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListObjectsV2Command = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListObjectsV2CommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n Contents: undefined,\n ContinuationToken: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyCount: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextContinuationToken: undefined,\n Prefix: undefined,\n StartAfter: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"KeyCount\"] !== undefined) {\n contents.KeyCount = parseInt(data[\"KeyCount\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n if (data[\"StartAfter\"] !== undefined) {\n contents.StartAfter = data[\"StartAfter\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListObjectsV2CommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"NoSuchBucket\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#NoSuchBucket\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListObjectVersionsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListObjectVersionsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n DeleteMarkers: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextKeyMarker: undefined,\n NextVersionIdMarker: undefined,\n Prefix: undefined,\n VersionIdMarker: undefined,\n Versions: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(__getArrayIfSingleItem(data[\"CommonPrefixes\"]), context);\n }\n if (data.DeleteMarker === \"\") {\n contents.DeleteMarkers = [];\n }\n if (data[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers(__getArrayIfSingleItem(data[\"DeleteMarker\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n if (data[\"NextVersionIdMarker\"] !== undefined) {\n contents.NextVersionIdMarker = data[\"NextVersionIdMarker\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n if (data[\"VersionIdMarker\"] !== undefined) {\n contents.VersionIdMarker = data[\"VersionIdMarker\"];\n }\n if (data.Version === \"\") {\n contents.Versions = [];\n }\n if (data[\"Version\"] !== undefined) {\n contents.Versions = deserializeAws_restXmlObjectVersionList(__getArrayIfSingleItem(data[\"Version\"]), context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListObjectVersionsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlListPartsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlListPartsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n Initiator: undefined,\n IsTruncated: undefined,\n Key: undefined,\n MaxParts: undefined,\n NextPartNumberMarker: undefined,\n Owner: undefined,\n PartNumberMarker: undefined,\n Parts: undefined,\n RequestCharged: undefined,\n StorageClass: undefined,\n UploadId: undefined,\n };\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(data[\"Initiator\"], context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n if (data[\"MaxParts\"] !== undefined) {\n contents.MaxParts = parseInt(data[\"MaxParts\"]);\n }\n if (data[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = data[\"NextPartNumberMarker\"];\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n if (data[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = data[\"PartNumberMarker\"];\n }\n if (data.Part === \"\") {\n contents.Parts = [];\n }\n if (data[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlParts(__getArrayIfSingleItem(data[\"Part\"]), context);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = data[\"StorageClass\"];\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlListPartsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketAclCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketAclCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketAclCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketCorsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketCorsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketCorsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketEncryptionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketEncryptionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketEncryptionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketInventoryConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketInventoryConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketLoggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketLoggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketLoggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketMetricsConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketMetricsConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketNotificationConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketOwnershipControlsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketOwnershipControlsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketPolicyCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketPolicyCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketPolicyCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketReplicationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketReplicationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketReplicationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketRequestPaymentCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketRequestPaymentCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketTaggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketTaggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketTaggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketVersioningCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketVersioningCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketVersioningCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutBucketWebsiteCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutBucketWebsiteCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutBucketWebsiteCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutObjectCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutObjectCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n ETag: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutObjectCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutObjectAclCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutObjectAclCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutObjectAclCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"NoSuchKey\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#NoSuchKey\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutObjectLegalHoldCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutObjectLegalHoldCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutObjectLockConfigurationCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutObjectLockConfigurationCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutObjectRetentionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutObjectRetentionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutObjectRetentionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutObjectTaggingCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutObjectTaggingCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutObjectTaggingCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlPutPublicAccessBlockCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n };\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlPutPublicAccessBlockCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlRestoreObjectCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlRestoreObjectCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n RestoreOutputPath: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n if (output.headers[\"x-amz-restore-output-path\"] !== undefined) {\n contents.RestoreOutputPath = output.headers[\"x-amz-restore-output-path\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlRestoreObjectCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, parsedBody, message;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = [__assign({}, output)];\n _d = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_d.body = _e.sent(), _d)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ObjectAlreadyInActiveTierError\": return [3 /*break*/, 2];\n case \"com.amazonaws.s3#ObjectAlreadyInActiveTierError\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 4];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 5];\n case 4:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _e.label = 5;\n case 5:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlSelectObjectContentCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlSelectObjectContentCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n Payload: undefined,\n };\n data = context.eventStreamMarshaller.deserialize(output.body, function (event) { return __awaiter(void 0, void 0, void 0, function () {\n var eventName, eventHeaders, eventMessage, parsedEvent;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n eventName = Object.keys(event)[0];\n eventHeaders = Object.entries(event[eventName].headers).reduce(function (accummulator, curr) {\n accummulator[curr[0]] = curr[1].value;\n return accummulator;\n }, {});\n eventMessage = {\n headers: eventHeaders,\n body: event[eventName].body,\n };\n parsedEvent = (_a = {},\n _a[eventName] = eventMessage,\n _a);\n return [4 /*yield*/, deserializeAws_restXmlSelectObjectContentEventStream_event(parsedEvent, context)];\n case 1: return [2 /*return*/, _b.sent()];\n }\n });\n }); });\n contents.Payload = data;\n return [2 /*return*/, Promise.resolve(contents)];\n });\n}); };\nvar deserializeAws_restXmlSelectObjectContentCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlUploadPartCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlUploadPartCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n ETag: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n };\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlUploadPartCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restXmlUploadPartCopyCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restXmlUploadPartCopyCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n CopyPartResult: undefined,\n CopySourceVersionId: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n };\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.CopyPartResult = deserializeAws_restXmlCopyPartResult(data, context);\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restXmlUploadPartCopyCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, parsedBody, message;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [__assign({}, output)];\n _b = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n }\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nvar deserializeAws_restXmlSelectObjectContentEventStream_event = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, _b, _c, _d, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!(output[\"Records\"] !== undefined)) return [3 /*break*/, 2];\n _a = {};\n return [4 /*yield*/, deserializeAws_restXmlRecordsEvent_event(output[\"Records\"], context)];\n case 1: return [2 /*return*/, (_a.Records = _f.sent(),\n _a)];\n case 2:\n if (!(output[\"Stats\"] !== undefined)) return [3 /*break*/, 4];\n _b = {};\n return [4 /*yield*/, deserializeAws_restXmlStatsEvent_event(output[\"Stats\"], context)];\n case 3: return [2 /*return*/, (_b.Stats = _f.sent(),\n _b)];\n case 4:\n if (!(output[\"Progress\"] !== undefined)) return [3 /*break*/, 6];\n _c = {};\n return [4 /*yield*/, deserializeAws_restXmlProgressEvent_event(output[\"Progress\"], context)];\n case 5: return [2 /*return*/, (_c.Progress = _f.sent(),\n _c)];\n case 6:\n if (!(output[\"Cont\"] !== undefined)) return [3 /*break*/, 8];\n _d = {};\n return [4 /*yield*/, deserializeAws_restXmlContinuationEvent_event(output[\"Cont\"], context)];\n case 7: return [2 /*return*/, (_d.Cont = _f.sent(),\n _d)];\n case 8:\n if (!(output[\"End\"] !== undefined)) return [3 /*break*/, 10];\n _e = {};\n return [4 /*yield*/, deserializeAws_restXmlEndEvent_event(output[\"End\"], context)];\n case 9: return [2 /*return*/, (_e.End = _f.sent(),\n _e)];\n case 10: return [2 /*return*/, { $unknown: output }];\n }\n });\n}); };\nvar deserializeAws_restXmlContinuationEvent_event = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlEndEvent_event = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlProgressEvent_event = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n contents = {};\n _a = contents;\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n _a.Details = _b.sent();\n return [2 /*return*/, contents];\n }\n });\n}); };\nvar deserializeAws_restXmlRecordsEvent_event = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents;\n return __generator(this, function (_a) {\n contents = {};\n contents.Payload = output.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlStatsEvent_event = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n contents = {};\n _a = contents;\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n _a.Details = _b.sent();\n return [2 /*return*/, contents];\n }\n });\n}); };\nvar deserializeAws_restXmlBucketAlreadyExistsResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n data = parsedOutput.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlBucketAlreadyOwnedByYouResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n data = parsedOutput.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlInvalidObjectStateResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"InvalidObjectState\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n AccessTier: undefined,\n StorageClass: undefined,\n };\n data = parsedOutput.body;\n if (data[\"AccessTier\"] !== undefined) {\n contents.AccessTier = data[\"AccessTier\"];\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = data[\"StorageClass\"];\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlNoSuchBucketResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchBucket\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n data = parsedOutput.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlNoSuchKeyResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchKey\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n data = parsedOutput.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlNoSuchUploadResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NoSuchUpload\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n data = parsedOutput.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n data = parsedOutput.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restXmlObjectNotInActiveTierErrorResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n data = parsedOutput.body;\n return [2 /*return*/, contents];\n });\n}); };\nvar serializeAws_restXmlAbortIncompleteMultipartUpload = function (input, context) {\n var bodyNode = new __XmlNode(\"AbortIncompleteMultipartUpload\");\n if (input.DaysAfterInitiation !== undefined && input.DaysAfterInitiation !== null) {\n var node = new __XmlNode(\"DaysAfterInitiation\")\n .addChildNode(new __XmlText(String(input.DaysAfterInitiation)))\n .withName(\"DaysAfterInitiation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlAccelerateConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"AccelerateConfiguration\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"BucketAccelerateStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlAccessControlPolicy = function (input, context) {\n var bodyNode = new __XmlNode(\"AccessControlPolicy\");\n if (input.Grants !== undefined && input.Grants !== null) {\n var nodes = serializeAws_restXmlGrants(input.Grants, context);\n var containerNode_1 = new __XmlNode(\"AccessControlList\");\n nodes.map(function (node) {\n containerNode_1.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_1);\n }\n if (input.Owner !== undefined && input.Owner !== null) {\n var node = serializeAws_restXmlOwner(input.Owner, context).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlAccessControlTranslation = function (input, context) {\n var bodyNode = new __XmlNode(\"AccessControlTranslation\");\n if (input.Owner !== undefined && input.Owner !== null) {\n var node = new __XmlNode(\"OwnerOverride\").addChildNode(new __XmlText(input.Owner)).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlAllowedHeaders = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = new __XmlNode(\"AllowedHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlAllowedMethods = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = new __XmlNode(\"AllowedMethod\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlAllowedOrigins = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = new __XmlNode(\"AllowedOrigin\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlAnalyticsAndOperator = function (input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlAnalyticsConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"AnalyticsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlAnalyticsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClassAnalysis !== undefined && input.StorageClassAnalysis !== null) {\n var node = serializeAws_restXmlStorageClassAnalysis(input.StorageClassAnalysis, context).withName(\"StorageClassAnalysis\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlAnalyticsExportDestination = function (input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsExportDestination\");\n if (input.S3BucketDestination !== undefined && input.S3BucketDestination !== null) {\n var node = serializeAws_restXmlAnalyticsS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlAnalyticsFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsFilter\");\n AnalyticsFilter.visit(input, {\n Prefix: function (value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function (value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function (value) {\n var node = serializeAws_restXmlAnalyticsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function (name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nvar serializeAws_restXmlAnalyticsS3BucketDestination = function (input, context) {\n var bodyNode = new __XmlNode(\"AnalyticsS3BucketDestination\");\n if (input.Format !== undefined && input.Format !== null) {\n var node = new __XmlNode(\"AnalyticsS3ExportFileFormat\")\n .addChildNode(new __XmlText(input.Format))\n .withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketAccountId !== undefined && input.BucketAccountId !== null) {\n var node = new __XmlNode(\"AccountId\")\n .addChildNode(new __XmlText(input.BucketAccountId))\n .withName(\"BucketAccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket !== undefined && input.Bucket !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlBucketLifecycleConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"BucketLifecycleConfiguration\");\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlLifecycleRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlBucketLoggingStatus = function (input, context) {\n var bodyNode = new __XmlNode(\"BucketLoggingStatus\");\n if (input.LoggingEnabled !== undefined && input.LoggingEnabled !== null) {\n var node = serializeAws_restXmlLoggingEnabled(input.LoggingEnabled, context).withName(\"LoggingEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCompletedMultipartUpload = function (input, context) {\n var bodyNode = new __XmlNode(\"CompletedMultipartUpload\");\n if (input.Parts !== undefined && input.Parts !== null) {\n var nodes = serializeAws_restXmlCompletedPartList(input.Parts, context);\n nodes.map(function (node) {\n node = node.withName(\"Part\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCompletedPart = function (input, context) {\n var bodyNode = new __XmlNode(\"CompletedPart\");\n if (input.ETag !== undefined && input.ETag !== null) {\n var node = new __XmlNode(\"ETag\").addChildNode(new __XmlText(input.ETag)).withName(\"ETag\");\n bodyNode.addChildNode(node);\n }\n if (input.PartNumber !== undefined && input.PartNumber !== null) {\n var node = new __XmlNode(\"PartNumber\")\n .addChildNode(new __XmlText(String(input.PartNumber)))\n .withName(\"PartNumber\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCompletedPartList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlCompletedPart(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlCondition = function (input, context) {\n var bodyNode = new __XmlNode(\"Condition\");\n if (input.HttpErrorCodeReturnedEquals !== undefined && input.HttpErrorCodeReturnedEquals !== null) {\n var node = new __XmlNode(\"HttpErrorCodeReturnedEquals\")\n .addChildNode(new __XmlText(input.HttpErrorCodeReturnedEquals))\n .withName(\"HttpErrorCodeReturnedEquals\");\n bodyNode.addChildNode(node);\n }\n if (input.KeyPrefixEquals !== undefined && input.KeyPrefixEquals !== null) {\n var node = new __XmlNode(\"KeyPrefixEquals\")\n .addChildNode(new __XmlText(input.KeyPrefixEquals))\n .withName(\"KeyPrefixEquals\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCORSConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"CORSConfiguration\");\n if (input.CORSRules !== undefined && input.CORSRules !== null) {\n var nodes = serializeAws_restXmlCORSRules(input.CORSRules, context);\n nodes.map(function (node) {\n node = node.withName(\"CORSRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCORSRule = function (input, context) {\n var bodyNode = new __XmlNode(\"CORSRule\");\n if (input.AllowedHeaders !== undefined && input.AllowedHeaders !== null) {\n var nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedMethods !== undefined && input.AllowedMethods !== null) {\n var nodes = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedMethod\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedOrigins !== undefined && input.AllowedOrigins !== null) {\n var nodes = serializeAws_restXmlAllowedOrigins(input.AllowedOrigins, context);\n nodes.map(function (node) {\n node = node.withName(\"AllowedOrigin\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.ExposeHeaders !== undefined && input.ExposeHeaders !== null) {\n var nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context);\n nodes.map(function (node) {\n node = node.withName(\"ExposeHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.MaxAgeSeconds !== undefined && input.MaxAgeSeconds !== null) {\n var node = new __XmlNode(\"MaxAgeSeconds\")\n .addChildNode(new __XmlText(String(input.MaxAgeSeconds)))\n .withName(\"MaxAgeSeconds\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCORSRules = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlCORSRule(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlCreateBucketConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"CreateBucketConfiguration\");\n if (input.LocationConstraint !== undefined && input.LocationConstraint !== null) {\n var node = new __XmlNode(\"BucketLocationConstraint\")\n .addChildNode(new __XmlText(input.LocationConstraint))\n .withName(\"LocationConstraint\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCSVInput = function (input, context) {\n var bodyNode = new __XmlNode(\"CSVInput\");\n if (input.FileHeaderInfo !== undefined && input.FileHeaderInfo !== null) {\n var node = new __XmlNode(\"FileHeaderInfo\")\n .addChildNode(new __XmlText(input.FileHeaderInfo))\n .withName(\"FileHeaderInfo\");\n bodyNode.addChildNode(node);\n }\n if (input.Comments !== undefined && input.Comments !== null) {\n var node = new __XmlNode(\"Comments\").addChildNode(new __XmlText(input.Comments)).withName(\"Comments\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter !== undefined && input.QuoteEscapeCharacter !== null) {\n var node = new __XmlNode(\"QuoteEscapeCharacter\")\n .addChildNode(new __XmlText(input.QuoteEscapeCharacter))\n .withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n var node = new __XmlNode(\"RecordDelimiter\")\n .addChildNode(new __XmlText(input.RecordDelimiter))\n .withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter !== undefined && input.FieldDelimiter !== null) {\n var node = new __XmlNode(\"FieldDelimiter\")\n .addChildNode(new __XmlText(input.FieldDelimiter))\n .withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter !== undefined && input.QuoteCharacter !== null) {\n var node = new __XmlNode(\"QuoteCharacter\")\n .addChildNode(new __XmlText(input.QuoteCharacter))\n .withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.AllowQuotedRecordDelimiter !== undefined && input.AllowQuotedRecordDelimiter !== null) {\n var node = new __XmlNode(\"AllowQuotedRecordDelimiter\")\n .addChildNode(new __XmlText(String(input.AllowQuotedRecordDelimiter)))\n .withName(\"AllowQuotedRecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlCSVOutput = function (input, context) {\n var bodyNode = new __XmlNode(\"CSVOutput\");\n if (input.QuoteFields !== undefined && input.QuoteFields !== null) {\n var node = new __XmlNode(\"QuoteFields\").addChildNode(new __XmlText(input.QuoteFields)).withName(\"QuoteFields\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter !== undefined && input.QuoteEscapeCharacter !== null) {\n var node = new __XmlNode(\"QuoteEscapeCharacter\")\n .addChildNode(new __XmlText(input.QuoteEscapeCharacter))\n .withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n var node = new __XmlNode(\"RecordDelimiter\")\n .addChildNode(new __XmlText(input.RecordDelimiter))\n .withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter !== undefined && input.FieldDelimiter !== null) {\n var node = new __XmlNode(\"FieldDelimiter\")\n .addChildNode(new __XmlText(input.FieldDelimiter))\n .withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter !== undefined && input.QuoteCharacter !== null) {\n var node = new __XmlNode(\"QuoteCharacter\")\n .addChildNode(new __XmlText(input.QuoteCharacter))\n .withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlDefaultRetention = function (input, context) {\n var bodyNode = new __XmlNode(\"DefaultRetention\");\n if (input.Mode !== undefined && input.Mode !== null) {\n var node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.Years !== undefined && input.Years !== null) {\n var node = new __XmlNode(\"Years\").addChildNode(new __XmlText(String(input.Years))).withName(\"Years\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlDelete = function (input, context) {\n var bodyNode = new __XmlNode(\"Delete\");\n if (input.Objects !== undefined && input.Objects !== null) {\n var nodes = serializeAws_restXmlObjectIdentifierList(input.Objects, context);\n nodes.map(function (node) {\n node = node.withName(\"Object\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Quiet !== undefined && input.Quiet !== null) {\n var node = new __XmlNode(\"Quiet\").addChildNode(new __XmlText(String(input.Quiet))).withName(\"Quiet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlDeleteMarkerReplication = function (input, context) {\n var bodyNode = new __XmlNode(\"DeleteMarkerReplication\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"DeleteMarkerReplicationStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlDestination = function (input, context) {\n var bodyNode = new __XmlNode(\"Destination\");\n if (input.Bucket !== undefined && input.Bucket !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Account !== undefined && input.Account !== null) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.Account)).withName(\"Account\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlTranslation !== undefined && input.AccessControlTranslation !== null) {\n var node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName(\"AccessControlTranslation\");\n bodyNode.addChildNode(node);\n }\n if (input.EncryptionConfiguration !== undefined && input.EncryptionConfiguration !== null) {\n var node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName(\"EncryptionConfiguration\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplicationTime !== undefined && input.ReplicationTime !== null) {\n var node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName(\"ReplicationTime\");\n bodyNode.addChildNode(node);\n }\n if (input.Metrics !== undefined && input.Metrics !== null) {\n var node = serializeAws_restXmlMetrics(input.Metrics, context).withName(\"Metrics\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlEncryption = function (input, context) {\n var bodyNode = new __XmlNode(\"Encryption\");\n if (input.EncryptionType !== undefined && input.EncryptionType !== null) {\n var node = new __XmlNode(\"ServerSideEncryption\")\n .addChildNode(new __XmlText(input.EncryptionType))\n .withName(\"EncryptionType\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSKeyId !== undefined && input.KMSKeyId !== null) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KMSKeyId)).withName(\"KMSKeyId\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSContext !== undefined && input.KMSContext !== null) {\n var node = new __XmlNode(\"KMSContext\").addChildNode(new __XmlText(input.KMSContext)).withName(\"KMSContext\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlEncryptionConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"EncryptionConfiguration\");\n if (input.ReplicaKmsKeyID !== undefined && input.ReplicaKmsKeyID !== null) {\n var node = new __XmlNode(\"ReplicaKmsKeyID\")\n .addChildNode(new __XmlText(input.ReplicaKmsKeyID))\n .withName(\"ReplicaKmsKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlErrorDocument = function (input, context) {\n var bodyNode = new __XmlNode(\"ErrorDocument\");\n if (input.Key !== undefined && input.Key !== null) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlEventList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = new __XmlNode(\"Event\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlExistingObjectReplication = function (input, context) {\n var bodyNode = new __XmlNode(\"ExistingObjectReplication\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ExistingObjectReplicationStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlExposeHeaders = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = new __XmlNode(\"ExposeHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlFilterRule = function (input, context) {\n var bodyNode = new __XmlNode(\"FilterRule\");\n if (input.Name !== undefined && input.Name !== null) {\n var node = new __XmlNode(\"FilterRuleName\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value !== undefined && input.Value !== null) {\n var node = new __XmlNode(\"FilterRuleValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlFilterRuleList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlFilterRule(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlGlacierJobParameters = function (input, context) {\n var bodyNode = new __XmlNode(\"GlacierJobParameters\");\n if (input.Tier !== undefined && input.Tier !== null) {\n var node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlGrant = function (input, context) {\n var bodyNode = new __XmlNode(\"Grant\");\n if (input.Grantee !== undefined && input.Grantee !== null) {\n var node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission !== undefined && input.Permission !== null) {\n var node = new __XmlNode(\"Permission\").addChildNode(new __XmlText(input.Permission)).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlGrantee = function (input, context) {\n var bodyNode = new __XmlNode(\"Grantee\");\n if (input.DisplayName !== undefined && input.DisplayName !== null) {\n var node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.EmailAddress !== undefined && input.EmailAddress !== null) {\n var node = new __XmlNode(\"EmailAddress\").addChildNode(new __XmlText(input.EmailAddress)).withName(\"EmailAddress\");\n bodyNode.addChildNode(node);\n }\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.URI !== undefined && input.URI !== null) {\n var node = new __XmlNode(\"URI\").addChildNode(new __XmlText(input.URI)).withName(\"URI\");\n bodyNode.addChildNode(node);\n }\n if (input.Type !== undefined && input.Type !== null) {\n bodyNode.addAttribute(\"xsi:type\", input.Type);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlGrants = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\nvar serializeAws_restXmlIndexDocument = function (input, context) {\n var bodyNode = new __XmlNode(\"IndexDocument\");\n if (input.Suffix !== undefined && input.Suffix !== null) {\n var node = new __XmlNode(\"Suffix\").addChildNode(new __XmlText(input.Suffix)).withName(\"Suffix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlInputSerialization = function (input, context) {\n var bodyNode = new __XmlNode(\"InputSerialization\");\n if (input.CSV !== undefined && input.CSV !== null) {\n var node = serializeAws_restXmlCSVInput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.CompressionType !== undefined && input.CompressionType !== null) {\n var node = new __XmlNode(\"CompressionType\")\n .addChildNode(new __XmlText(input.CompressionType))\n .withName(\"CompressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON !== undefined && input.JSON !== null) {\n var node = serializeAws_restXmlJSONInput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n if (input.Parquet !== undefined && input.Parquet !== null) {\n var node = serializeAws_restXmlParquetInput(input.Parquet, context).withName(\"Parquet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlIntelligentTieringAndOperator = function (input, context) {\n var bodyNode = new __XmlNode(\"IntelligentTieringAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlIntelligentTieringConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"IntelligentTieringConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"IntelligentTieringId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlIntelligentTieringFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"IntelligentTieringStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Tierings !== undefined && input.Tierings !== null) {\n var nodes = serializeAws_restXmlTieringList(input.Tierings, context);\n nodes.map(function (node) {\n node = node.withName(\"Tiering\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlIntelligentTieringFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"IntelligentTieringFilter\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tag !== undefined && input.Tag !== null) {\n var node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n if (input.And !== undefined && input.And !== null) {\n var node = serializeAws_restXmlIntelligentTieringAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlInventoryConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"InventoryConfiguration\");\n if (input.Destination !== undefined && input.Destination !== null) {\n var node = serializeAws_restXmlInventoryDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.IsEnabled !== undefined && input.IsEnabled !== null) {\n var node = new __XmlNode(\"IsEnabled\").addChildNode(new __XmlText(String(input.IsEnabled))).withName(\"IsEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"InventoryId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.IncludedObjectVersions !== undefined && input.IncludedObjectVersions !== null) {\n var node = new __XmlNode(\"InventoryIncludedObjectVersions\")\n .addChildNode(new __XmlText(input.IncludedObjectVersions))\n .withName(\"IncludedObjectVersions\");\n bodyNode.addChildNode(node);\n }\n if (input.OptionalFields !== undefined && input.OptionalFields !== null) {\n var nodes = serializeAws_restXmlInventoryOptionalFields(input.OptionalFields, context);\n var containerNode_2 = new __XmlNode(\"OptionalFields\");\n nodes.map(function (node) {\n containerNode_2.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_2);\n }\n if (input.Schedule !== undefined && input.Schedule !== null) {\n var node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName(\"Schedule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlInventoryDestination = function (input, context) {\n var bodyNode = new __XmlNode(\"InventoryDestination\");\n if (input.S3BucketDestination !== undefined && input.S3BucketDestination !== null) {\n var node = serializeAws_restXmlInventoryS3BucketDestination(input.S3BucketDestination, context).withName(\"S3BucketDestination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlInventoryEncryption = function (input, context) {\n var bodyNode = new __XmlNode(\"InventoryEncryption\");\n if (input.SSES3 !== undefined && input.SSES3 !== null) {\n var node = serializeAws_restXmlSSES3(input.SSES3, context).withName(\"SSE-S3\");\n bodyNode.addChildNode(node);\n }\n if (input.SSEKMS !== undefined && input.SSEKMS !== null) {\n var node = serializeAws_restXmlSSEKMS(input.SSEKMS, context).withName(\"SSE-KMS\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlInventoryFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"InventoryFilter\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlInventoryOptionalFields = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = new __XmlNode(\"InventoryOptionalField\").addChildNode(new __XmlText(entry));\n return node.withName(\"Field\");\n });\n};\nvar serializeAws_restXmlInventoryS3BucketDestination = function (input, context) {\n var bodyNode = new __XmlNode(\"InventoryS3BucketDestination\");\n if (input.AccountId !== undefined && input.AccountId !== null) {\n var node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.AccountId)).withName(\"AccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket !== undefined && input.Bucket !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Format !== undefined && input.Format !== null) {\n var node = new __XmlNode(\"InventoryFormat\").addChildNode(new __XmlText(input.Format)).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption !== undefined && input.Encryption !== null) {\n var node = serializeAws_restXmlInventoryEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlInventorySchedule = function (input, context) {\n var bodyNode = new __XmlNode(\"InventorySchedule\");\n if (input.Frequency !== undefined && input.Frequency !== null) {\n var node = new __XmlNode(\"InventoryFrequency\").addChildNode(new __XmlText(input.Frequency)).withName(\"Frequency\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlJSONInput = function (input, context) {\n var bodyNode = new __XmlNode(\"JSONInput\");\n if (input.Type !== undefined && input.Type !== null) {\n var node = new __XmlNode(\"JSONType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlJSONOutput = function (input, context) {\n var bodyNode = new __XmlNode(\"JSONOutput\");\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n var node = new __XmlNode(\"RecordDelimiter\")\n .addChildNode(new __XmlText(input.RecordDelimiter))\n .withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlLambdaFunctionConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"LambdaFunctionConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.LambdaFunctionArn !== undefined && input.LambdaFunctionArn !== null) {\n var node = new __XmlNode(\"LambdaFunctionArn\")\n .addChildNode(new __XmlText(input.LambdaFunctionArn))\n .withName(\"CloudFunction\");\n bodyNode.addChildNode(node);\n }\n if (input.Events !== undefined && input.Events !== null) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlLambdaFunctionConfigurationList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlLifecycleExpiration = function (input, context) {\n var bodyNode = new __XmlNode(\"LifecycleExpiration\");\n if (input.Date !== undefined && input.Date !== null) {\n var node = new __XmlNode(\"Date\")\n .addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\"))\n .withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpiredObjectDeleteMarker !== undefined && input.ExpiredObjectDeleteMarker !== null) {\n var node = new __XmlNode(\"ExpiredObjectDeleteMarker\")\n .addChildNode(new __XmlText(String(input.ExpiredObjectDeleteMarker)))\n .withName(\"ExpiredObjectDeleteMarker\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlLifecycleRule = function (input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRule\");\n if (input.Expiration !== undefined && input.Expiration !== null) {\n var node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName(\"Expiration\");\n bodyNode.addChildNode(node);\n }\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ExpirationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Transitions !== undefined && input.Transitions !== null) {\n var nodes = serializeAws_restXmlTransitionList(input.Transitions, context);\n nodes.map(function (node) {\n node = node.withName(\"Transition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionTransitions !== undefined && input.NoncurrentVersionTransitions !== null) {\n var nodes = serializeAws_restXmlNoncurrentVersionTransitionList(input.NoncurrentVersionTransitions, context);\n nodes.map(function (node) {\n node = node.withName(\"NoncurrentVersionTransition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionExpiration !== undefined && input.NoncurrentVersionExpiration !== null) {\n var node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName(\"NoncurrentVersionExpiration\");\n bodyNode.addChildNode(node);\n }\n if (input.AbortIncompleteMultipartUpload !== undefined && input.AbortIncompleteMultipartUpload !== null) {\n var node = serializeAws_restXmlAbortIncompleteMultipartUpload(input.AbortIncompleteMultipartUpload, context).withName(\"AbortIncompleteMultipartUpload\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlLifecycleRuleAndOperator = function (input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRuleAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlLifecycleRuleFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"LifecycleRuleFilter\");\n LifecycleRuleFilter.visit(input, {\n Prefix: function (value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function (value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function (value) {\n var node = serializeAws_restXmlLifecycleRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function (name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nvar serializeAws_restXmlLifecycleRules = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlLifecycleRule(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlLoggingEnabled = function (input, context) {\n var bodyNode = new __XmlNode(\"LoggingEnabled\");\n if (input.TargetBucket !== undefined && input.TargetBucket !== null) {\n var node = new __XmlNode(\"TargetBucket\").addChildNode(new __XmlText(input.TargetBucket)).withName(\"TargetBucket\");\n bodyNode.addChildNode(node);\n }\n if (input.TargetGrants !== undefined && input.TargetGrants !== null) {\n var nodes = serializeAws_restXmlTargetGrants(input.TargetGrants, context);\n var containerNode_3 = new __XmlNode(\"TargetGrants\");\n nodes.map(function (node) {\n containerNode_3.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_3);\n }\n if (input.TargetPrefix !== undefined && input.TargetPrefix !== null) {\n var node = new __XmlNode(\"TargetPrefix\").addChildNode(new __XmlText(input.TargetPrefix)).withName(\"TargetPrefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlMetadataEntry = function (input, context) {\n var bodyNode = new __XmlNode(\"MetadataEntry\");\n if (input.Name !== undefined && input.Name !== null) {\n var node = new __XmlNode(\"MetadataKey\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value !== undefined && input.Value !== null) {\n var node = new __XmlNode(\"MetadataValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlMetrics = function (input, context) {\n var bodyNode = new __XmlNode(\"Metrics\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"MetricsStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.EventThreshold !== undefined && input.EventThreshold !== null) {\n var node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName(\"EventThreshold\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlMetricsAndOperator = function (input, context) {\n var bodyNode = new __XmlNode(\"MetricsAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlMetricsConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"MetricsConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"MetricsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlMetricsFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"MetricsFilter\");\n MetricsFilter.visit(input, {\n Prefix: function (value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function (value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function (value) {\n var node = serializeAws_restXmlMetricsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function (name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nvar serializeAws_restXmlNoncurrentVersionExpiration = function (input, context) {\n var bodyNode = new __XmlNode(\"NoncurrentVersionExpiration\");\n if (input.NoncurrentDays !== undefined && input.NoncurrentDays !== null) {\n var node = new __XmlNode(\"Days\")\n .addChildNode(new __XmlText(String(input.NoncurrentDays)))\n .withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlNoncurrentVersionTransition = function (input, context) {\n var bodyNode = new __XmlNode(\"NoncurrentVersionTransition\");\n if (input.NoncurrentDays !== undefined && input.NoncurrentDays !== null) {\n var node = new __XmlNode(\"Days\")\n .addChildNode(new __XmlText(String(input.NoncurrentDays)))\n .withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"TransitionStorageClass\")\n .addChildNode(new __XmlText(input.StorageClass))\n .withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlNoncurrentVersionTransitionList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlNoncurrentVersionTransition(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlNotificationConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"NotificationConfiguration\");\n if (input.TopicConfigurations !== undefined && input.TopicConfigurations !== null) {\n var nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"TopicConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.QueueConfigurations !== undefined && input.QueueConfigurations !== null) {\n var nodes = serializeAws_restXmlQueueConfigurationList(input.QueueConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"QueueConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.LambdaFunctionConfigurations !== undefined && input.LambdaFunctionConfigurations !== null) {\n var nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context);\n nodes.map(function (node) {\n node = node.withName(\"CloudFunctionConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlNotificationConfigurationFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"NotificationConfigurationFilter\");\n if (input.Key !== undefined && input.Key !== null) {\n var node = serializeAws_restXmlS3KeyFilter(input.Key, context).withName(\"S3Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlObjectIdentifier = function (input, context) {\n var bodyNode = new __XmlNode(\"ObjectIdentifier\");\n if (input.Key !== undefined && input.Key !== null) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.VersionId !== undefined && input.VersionId !== null) {\n var node = new __XmlNode(\"ObjectVersionId\").addChildNode(new __XmlText(input.VersionId)).withName(\"VersionId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlObjectIdentifierList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlObjectIdentifier(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlObjectLockConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockConfiguration\");\n if (input.ObjectLockEnabled !== undefined && input.ObjectLockEnabled !== null) {\n var node = new __XmlNode(\"ObjectLockEnabled\")\n .addChildNode(new __XmlText(input.ObjectLockEnabled))\n .withName(\"ObjectLockEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Rule !== undefined && input.Rule !== null) {\n var node = serializeAws_restXmlObjectLockRule(input.Rule, context).withName(\"Rule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlObjectLockLegalHold = function (input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockLegalHold\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ObjectLockLegalHoldStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlObjectLockRetention = function (input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockRetention\");\n if (input.Mode !== undefined && input.Mode !== null) {\n var node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.RetainUntilDate !== undefined && input.RetainUntilDate !== null) {\n var node = new __XmlNode(\"Date\")\n .addChildNode(new __XmlText(input.RetainUntilDate.toISOString().split(\".\")[0] + \"Z\"))\n .withName(\"RetainUntilDate\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlObjectLockRule = function (input, context) {\n var bodyNode = new __XmlNode(\"ObjectLockRule\");\n if (input.DefaultRetention !== undefined && input.DefaultRetention !== null) {\n var node = serializeAws_restXmlDefaultRetention(input.DefaultRetention, context).withName(\"DefaultRetention\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlOutputLocation = function (input, context) {\n var bodyNode = new __XmlNode(\"OutputLocation\");\n if (input.S3 !== undefined && input.S3 !== null) {\n var node = serializeAws_restXmlS3Location(input.S3, context).withName(\"S3\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlOutputSerialization = function (input, context) {\n var bodyNode = new __XmlNode(\"OutputSerialization\");\n if (input.CSV !== undefined && input.CSV !== null) {\n var node = serializeAws_restXmlCSVOutput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON !== undefined && input.JSON !== null) {\n var node = serializeAws_restXmlJSONOutput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlOwner = function (input, context) {\n var bodyNode = new __XmlNode(\"Owner\");\n if (input.DisplayName !== undefined && input.DisplayName !== null) {\n var node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlOwnershipControls = function (input, context) {\n var bodyNode = new __XmlNode(\"OwnershipControls\");\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlOwnershipControlsRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlOwnershipControlsRule = function (input, context) {\n var bodyNode = new __XmlNode(\"OwnershipControlsRule\");\n if (input.ObjectOwnership !== undefined && input.ObjectOwnership !== null) {\n var node = new __XmlNode(\"ObjectOwnership\")\n .addChildNode(new __XmlText(input.ObjectOwnership))\n .withName(\"ObjectOwnership\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlOwnershipControlsRules = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlOwnershipControlsRule(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlParquetInput = function (input, context) {\n var bodyNode = new __XmlNode(\"ParquetInput\");\n return bodyNode;\n};\nvar serializeAws_restXmlPublicAccessBlockConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"PublicAccessBlockConfiguration\");\n if (input.BlockPublicAcls !== undefined && input.BlockPublicAcls !== null) {\n var node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.BlockPublicAcls)))\n .withName(\"BlockPublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.IgnorePublicAcls !== undefined && input.IgnorePublicAcls !== null) {\n var node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.IgnorePublicAcls)))\n .withName(\"IgnorePublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.BlockPublicPolicy !== undefined && input.BlockPublicPolicy !== null) {\n var node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.BlockPublicPolicy)))\n .withName(\"BlockPublicPolicy\");\n bodyNode.addChildNode(node);\n }\n if (input.RestrictPublicBuckets !== undefined && input.RestrictPublicBuckets !== null) {\n var node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.RestrictPublicBuckets)))\n .withName(\"RestrictPublicBuckets\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlQueueConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"QueueConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.QueueArn !== undefined && input.QueueArn !== null) {\n var node = new __XmlNode(\"QueueArn\").addChildNode(new __XmlText(input.QueueArn)).withName(\"Queue\");\n bodyNode.addChildNode(node);\n }\n if (input.Events !== undefined && input.Events !== null) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlQueueConfigurationList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlQueueConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlRedirect = function (input, context) {\n var bodyNode = new __XmlNode(\"Redirect\");\n if (input.HostName !== undefined && input.HostName !== null) {\n var node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.HttpRedirectCode !== undefined && input.HttpRedirectCode !== null) {\n var node = new __XmlNode(\"HttpRedirectCode\")\n .addChildNode(new __XmlText(input.HttpRedirectCode))\n .withName(\"HttpRedirectCode\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol !== undefined && input.Protocol !== null) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyPrefixWith !== undefined && input.ReplaceKeyPrefixWith !== null) {\n var node = new __XmlNode(\"ReplaceKeyPrefixWith\")\n .addChildNode(new __XmlText(input.ReplaceKeyPrefixWith))\n .withName(\"ReplaceKeyPrefixWith\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyWith !== undefined && input.ReplaceKeyWith !== null) {\n var node = new __XmlNode(\"ReplaceKeyWith\")\n .addChildNode(new __XmlText(input.ReplaceKeyWith))\n .withName(\"ReplaceKeyWith\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlRedirectAllRequestsTo = function (input, context) {\n var bodyNode = new __XmlNode(\"RedirectAllRequestsTo\");\n if (input.HostName !== undefined && input.HostName !== null) {\n var node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol !== undefined && input.Protocol !== null) {\n var node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlReplicaModifications = function (input, context) {\n var bodyNode = new __XmlNode(\"ReplicaModifications\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ReplicaModificationsStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlReplicationConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"ReplicationConfiguration\");\n if (input.Role !== undefined && input.Role !== null) {\n var node = new __XmlNode(\"Role\").addChildNode(new __XmlText(input.Role)).withName(\"Role\");\n bodyNode.addChildNode(node);\n }\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlReplicationRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlReplicationRule = function (input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRule\");\n if (input.ID !== undefined && input.ID !== null) {\n var node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Priority !== undefined && input.Priority !== null) {\n var node = new __XmlNode(\"Priority\").addChildNode(new __XmlText(String(input.Priority))).withName(\"Priority\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ReplicationRuleStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.SourceSelectionCriteria !== undefined && input.SourceSelectionCriteria !== null) {\n var node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName(\"SourceSelectionCriteria\");\n bodyNode.addChildNode(node);\n }\n if (input.ExistingObjectReplication !== undefined && input.ExistingObjectReplication !== null) {\n var node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName(\"ExistingObjectReplication\");\n bodyNode.addChildNode(node);\n }\n if (input.Destination !== undefined && input.Destination !== null) {\n var node = serializeAws_restXmlDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.DeleteMarkerReplication !== undefined && input.DeleteMarkerReplication !== null) {\n var node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName(\"DeleteMarkerReplication\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlReplicationRuleAndOperator = function (input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRuleAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n var nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map(function (node) {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlReplicationRuleFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"ReplicationRuleFilter\");\n ReplicationRuleFilter.visit(input, {\n Prefix: function (value) {\n var node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: function (value) {\n var node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: function (value) {\n var node = serializeAws_restXmlReplicationRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: function (name, value) {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\nvar serializeAws_restXmlReplicationRules = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlReplicationRule(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlReplicationTime = function (input, context) {\n var bodyNode = new __XmlNode(\"ReplicationTime\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"ReplicationTimeStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Time !== undefined && input.Time !== null) {\n var node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName(\"Time\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlReplicationTimeValue = function (input, context) {\n var bodyNode = new __XmlNode(\"ReplicationTimeValue\");\n if (input.Minutes !== undefined && input.Minutes !== null) {\n var node = new __XmlNode(\"Minutes\").addChildNode(new __XmlText(String(input.Minutes))).withName(\"Minutes\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlRequestPaymentConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"RequestPaymentConfiguration\");\n if (input.Payer !== undefined && input.Payer !== null) {\n var node = new __XmlNode(\"Payer\").addChildNode(new __XmlText(input.Payer)).withName(\"Payer\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlRequestProgress = function (input, context) {\n var bodyNode = new __XmlNode(\"RequestProgress\");\n if (input.Enabled !== undefined && input.Enabled !== null) {\n var node = new __XmlNode(\"EnableRequestProgress\")\n .addChildNode(new __XmlText(String(input.Enabled)))\n .withName(\"Enabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlRestoreRequest = function (input, context) {\n var bodyNode = new __XmlNode(\"RestoreRequest\");\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.GlacierJobParameters !== undefined && input.GlacierJobParameters !== null) {\n var node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName(\"GlacierJobParameters\");\n bodyNode.addChildNode(node);\n }\n if (input.Type !== undefined && input.Type !== null) {\n var node = new __XmlNode(\"RestoreRequestType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n if (input.Tier !== undefined && input.Tier !== null) {\n var node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n if (input.Description !== undefined && input.Description !== null) {\n var node = new __XmlNode(\"Description\").addChildNode(new __XmlText(input.Description)).withName(\"Description\");\n bodyNode.addChildNode(node);\n }\n if (input.SelectParameters !== undefined && input.SelectParameters !== null) {\n var node = serializeAws_restXmlSelectParameters(input.SelectParameters, context).withName(\"SelectParameters\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputLocation !== undefined && input.OutputLocation !== null) {\n var node = serializeAws_restXmlOutputLocation(input.OutputLocation, context).withName(\"OutputLocation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlRoutingRule = function (input, context) {\n var bodyNode = new __XmlNode(\"RoutingRule\");\n if (input.Condition !== undefined && input.Condition !== null) {\n var node = serializeAws_restXmlCondition(input.Condition, context).withName(\"Condition\");\n bodyNode.addChildNode(node);\n }\n if (input.Redirect !== undefined && input.Redirect !== null) {\n var node = serializeAws_restXmlRedirect(input.Redirect, context).withName(\"Redirect\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlRoutingRules = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlRoutingRule(entry, context);\n return node.withName(\"RoutingRule\");\n });\n};\nvar serializeAws_restXmlS3KeyFilter = function (input, context) {\n var bodyNode = new __XmlNode(\"S3KeyFilter\");\n if (input.FilterRules !== undefined && input.FilterRules !== null) {\n var nodes = serializeAws_restXmlFilterRuleList(input.FilterRules, context);\n nodes.map(function (node) {\n node = node.withName(\"FilterRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlS3Location = function (input, context) {\n var bodyNode = new __XmlNode(\"S3Location\");\n if (input.BucketName !== undefined && input.BucketName !== null) {\n var node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.BucketName)).withName(\"BucketName\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n var node = new __XmlNode(\"LocationPrefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption !== undefined && input.Encryption !== null) {\n var node = serializeAws_restXmlEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n if (input.CannedACL !== undefined && input.CannedACL !== null) {\n var node = new __XmlNode(\"ObjectCannedACL\").addChildNode(new __XmlText(input.CannedACL)).withName(\"CannedACL\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlList !== undefined && input.AccessControlList !== null) {\n var nodes = serializeAws_restXmlGrants(input.AccessControlList, context);\n var containerNode_4 = new __XmlNode(\"AccessControlList\");\n nodes.map(function (node) {\n containerNode_4.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_4);\n }\n if (input.Tagging !== undefined && input.Tagging !== null) {\n var node = serializeAws_restXmlTagging(input.Tagging, context).withName(\"Tagging\");\n bodyNode.addChildNode(node);\n }\n if (input.UserMetadata !== undefined && input.UserMetadata !== null) {\n var nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context);\n var containerNode_5 = new __XmlNode(\"UserMetadata\");\n nodes.map(function (node) {\n containerNode_5.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_5);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlScanRange = function (input, context) {\n var bodyNode = new __XmlNode(\"ScanRange\");\n if (input.Start !== undefined && input.Start !== null) {\n var node = new __XmlNode(\"Start\").addChildNode(new __XmlText(String(input.Start))).withName(\"Start\");\n bodyNode.addChildNode(node);\n }\n if (input.End !== undefined && input.End !== null) {\n var node = new __XmlNode(\"End\").addChildNode(new __XmlText(String(input.End))).withName(\"End\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlSelectParameters = function (input, context) {\n var bodyNode = new __XmlNode(\"SelectParameters\");\n if (input.InputSerialization !== undefined && input.InputSerialization !== null) {\n var node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\"InputSerialization\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType !== undefined && input.ExpressionType !== null) {\n var node = new __XmlNode(\"ExpressionType\")\n .addChildNode(new __XmlText(input.ExpressionType))\n .withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.Expression !== undefined && input.Expression !== null) {\n var node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization !== undefined && input.OutputSerialization !== null) {\n var node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\"OutputSerialization\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlServerSideEncryptionByDefault = function (input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionByDefault\");\n if (input.SSEAlgorithm !== undefined && input.SSEAlgorithm !== null) {\n var node = new __XmlNode(\"ServerSideEncryption\")\n .addChildNode(new __XmlText(input.SSEAlgorithm))\n .withName(\"SSEAlgorithm\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSMasterKeyID !== undefined && input.KMSMasterKeyID !== null) {\n var node = new __XmlNode(\"SSEKMSKeyId\")\n .addChildNode(new __XmlText(input.KMSMasterKeyID))\n .withName(\"KMSMasterKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlServerSideEncryptionConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionConfiguration\");\n if (input.Rules !== undefined && input.Rules !== null) {\n var nodes = serializeAws_restXmlServerSideEncryptionRules(input.Rules, context);\n nodes.map(function (node) {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\nvar serializeAws_restXmlServerSideEncryptionRule = function (input, context) {\n var bodyNode = new __XmlNode(\"ServerSideEncryptionRule\");\n if (input.ApplyServerSideEncryptionByDefault !== undefined && input.ApplyServerSideEncryptionByDefault !== null) {\n var node = serializeAws_restXmlServerSideEncryptionByDefault(input.ApplyServerSideEncryptionByDefault, context).withName(\"ApplyServerSideEncryptionByDefault\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketKeyEnabled !== undefined && input.BucketKeyEnabled !== null) {\n var node = new __XmlNode(\"BucketKeyEnabled\")\n .addChildNode(new __XmlText(String(input.BucketKeyEnabled)))\n .withName(\"BucketKeyEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlServerSideEncryptionRules = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlServerSideEncryptionRule(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlSourceSelectionCriteria = function (input, context) {\n var bodyNode = new __XmlNode(\"SourceSelectionCriteria\");\n if (input.SseKmsEncryptedObjects !== undefined && input.SseKmsEncryptedObjects !== null) {\n var node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName(\"SseKmsEncryptedObjects\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplicaModifications !== undefined && input.ReplicaModifications !== null) {\n var node = serializeAws_restXmlReplicaModifications(input.ReplicaModifications, context).withName(\"ReplicaModifications\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlSSEKMS = function (input, context) {\n var bodyNode = new __XmlNode(\"SSE-KMS\");\n if (input.KeyId !== undefined && input.KeyId !== null) {\n var node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KeyId)).withName(\"KeyId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlSseKmsEncryptedObjects = function (input, context) {\n var bodyNode = new __XmlNode(\"SseKmsEncryptedObjects\");\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"SseKmsEncryptedObjectsStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlSSES3 = function (input, context) {\n var bodyNode = new __XmlNode(\"SSE-S3\");\n return bodyNode;\n};\nvar serializeAws_restXmlStorageClassAnalysis = function (input, context) {\n var bodyNode = new __XmlNode(\"StorageClassAnalysis\");\n if (input.DataExport !== undefined && input.DataExport !== null) {\n var node = serializeAws_restXmlStorageClassAnalysisDataExport(input.DataExport, context).withName(\"DataExport\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlStorageClassAnalysisDataExport = function (input, context) {\n var bodyNode = new __XmlNode(\"StorageClassAnalysisDataExport\");\n if (input.OutputSchemaVersion !== undefined && input.OutputSchemaVersion !== null) {\n var node = new __XmlNode(\"StorageClassAnalysisSchemaVersion\")\n .addChildNode(new __XmlText(input.OutputSchemaVersion))\n .withName(\"OutputSchemaVersion\");\n bodyNode.addChildNode(node);\n }\n if (input.Destination !== undefined && input.Destination !== null) {\n var node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlTag = function (input, context) {\n var bodyNode = new __XmlNode(\"Tag\");\n if (input.Key !== undefined && input.Key !== null) {\n var node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.Value !== undefined && input.Value !== null) {\n var node = new __XmlNode(\"Value\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlTagging = function (input, context) {\n var bodyNode = new __XmlNode(\"Tagging\");\n if (input.TagSet !== undefined && input.TagSet !== null) {\n var nodes = serializeAws_restXmlTagSet(input.TagSet, context);\n var containerNode_6 = new __XmlNode(\"TagSet\");\n nodes.map(function (node) {\n containerNode_6.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_6);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlTagSet = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlTag(entry, context);\n return node.withName(\"Tag\");\n });\n};\nvar serializeAws_restXmlTargetGrant = function (input, context) {\n var bodyNode = new __XmlNode(\"TargetGrant\");\n if (input.Grantee !== undefined && input.Grantee !== null) {\n var node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission !== undefined && input.Permission !== null) {\n var node = new __XmlNode(\"BucketLogsPermission\")\n .addChildNode(new __XmlText(input.Permission))\n .withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlTargetGrants = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlTargetGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\nvar serializeAws_restXmlTiering = function (input, context) {\n var bodyNode = new __XmlNode(\"Tiering\");\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"IntelligentTieringDays\")\n .addChildNode(new __XmlText(String(input.Days)))\n .withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessTier !== undefined && input.AccessTier !== null) {\n var node = new __XmlNode(\"IntelligentTieringAccessTier\")\n .addChildNode(new __XmlText(input.AccessTier))\n .withName(\"AccessTier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlTieringList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlTiering(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlTopicConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"TopicConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n var node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.TopicArn !== undefined && input.TopicArn !== null) {\n var node = new __XmlNode(\"TopicArn\").addChildNode(new __XmlText(input.TopicArn)).withName(\"Topic\");\n bodyNode.addChildNode(node);\n }\n if (input.Events !== undefined && input.Events !== null) {\n var nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map(function (node) {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n var node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlTopicConfigurationList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlTopicConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlTransition = function (input, context) {\n var bodyNode = new __XmlNode(\"Transition\");\n if (input.Date !== undefined && input.Date !== null) {\n var node = new __XmlNode(\"Date\")\n .addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\"))\n .withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days !== undefined && input.Days !== null) {\n var node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n var node = new __XmlNode(\"TransitionStorageClass\")\n .addChildNode(new __XmlText(input.StorageClass))\n .withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlTransitionList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlTransition(entry, context);\n return node.withName(\"member\");\n });\n};\nvar serializeAws_restXmlUserMetadata = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n var node = serializeAws_restXmlMetadataEntry(entry, context);\n return node.withName(\"MetadataEntry\");\n });\n};\nvar serializeAws_restXmlVersioningConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"VersioningConfiguration\");\n if (input.MFADelete !== undefined && input.MFADelete !== null) {\n var node = new __XmlNode(\"MFADelete\").addChildNode(new __XmlText(input.MFADelete)).withName(\"MfaDelete\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n var node = new __XmlNode(\"BucketVersioningStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\nvar serializeAws_restXmlWebsiteConfiguration = function (input, context) {\n var bodyNode = new __XmlNode(\"WebsiteConfiguration\");\n if (input.ErrorDocument !== undefined && input.ErrorDocument !== null) {\n var node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName(\"ErrorDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.IndexDocument !== undefined && input.IndexDocument !== null) {\n var node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName(\"IndexDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.RedirectAllRequestsTo !== undefined && input.RedirectAllRequestsTo !== null) {\n var node = serializeAws_restXmlRedirectAllRequestsTo(input.RedirectAllRequestsTo, context).withName(\"RedirectAllRequestsTo\");\n bodyNode.addChildNode(node);\n }\n if (input.RoutingRules !== undefined && input.RoutingRules !== null) {\n var nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context);\n var containerNode_7 = new __XmlNode(\"RoutingRules\");\n nodes.map(function (node) {\n containerNode_7.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode_7);\n }\n return bodyNode;\n};\nvar deserializeAws_restXmlAbortIncompleteMultipartUpload = function (output, context) {\n var contents = {\n DaysAfterInitiation: undefined,\n };\n if (output[\"DaysAfterInitiation\"] !== undefined) {\n contents.DaysAfterInitiation = parseInt(output[\"DaysAfterInitiation\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlAccessControlTranslation = function (output, context) {\n var contents = {\n Owner: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = output[\"Owner\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlAllowedHeaders = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_restXmlAllowedMethods = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_restXmlAllowedOrigins = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_restXmlAnalyticsAndOperator = function (output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlAnalyticsConfiguration = function (output, context) {\n var contents = {\n Id: undefined,\n Filter: undefined,\n StorageClassAnalysis: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlAnalyticsFilter(output[\"Filter\"], context);\n }\n if (output[\"StorageClassAnalysis\"] !== undefined) {\n contents.StorageClassAnalysis = deserializeAws_restXmlStorageClassAnalysis(output[\"StorageClassAnalysis\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlAnalyticsConfigurationList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlAnalyticsConfiguration(entry, context);\n });\n};\nvar deserializeAws_restXmlAnalyticsExportDestination = function (output, context) {\n var contents = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlAnalyticsS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlAnalyticsFilter = function (output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlAnalyticsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nvar deserializeAws_restXmlAnalyticsS3BucketDestination = function (output, context) {\n var contents = {\n Format: undefined,\n BucketAccountId: undefined,\n Bucket: undefined,\n Prefix: undefined,\n };\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n if (output[\"BucketAccountId\"] !== undefined) {\n contents.BucketAccountId = output[\"BucketAccountId\"];\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlBucket = function (output, context) {\n var contents = {\n Name: undefined,\n CreationDate: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n if (output[\"CreationDate\"] !== undefined) {\n contents.CreationDate = new Date(output[\"CreationDate\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlBuckets = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlBucket(entry, context);\n });\n};\nvar deserializeAws_restXmlCommonPrefix = function (output, context) {\n var contents = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlCommonPrefixList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlCommonPrefix(entry, context);\n });\n};\nvar deserializeAws_restXmlCondition = function (output, context) {\n var contents = {\n HttpErrorCodeReturnedEquals: undefined,\n KeyPrefixEquals: undefined,\n };\n if (output[\"HttpErrorCodeReturnedEquals\"] !== undefined) {\n contents.HttpErrorCodeReturnedEquals = output[\"HttpErrorCodeReturnedEquals\"];\n }\n if (output[\"KeyPrefixEquals\"] !== undefined) {\n contents.KeyPrefixEquals = output[\"KeyPrefixEquals\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlCopyObjectResult = function (output, context) {\n var contents = {\n ETag: undefined,\n LastModified: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlCopyPartResult = function (output, context) {\n var contents = {\n ETag: undefined,\n LastModified: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlCORSRule = function (output, context) {\n var contents = {\n AllowedHeaders: undefined,\n AllowedMethods: undefined,\n AllowedOrigins: undefined,\n ExposeHeaders: undefined,\n MaxAgeSeconds: undefined,\n };\n if (output.AllowedHeader === \"\") {\n contents.AllowedHeaders = [];\n }\n if (output[\"AllowedHeader\"] !== undefined) {\n contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders(__getArrayIfSingleItem(output[\"AllowedHeader\"]), context);\n }\n if (output.AllowedMethod === \"\") {\n contents.AllowedMethods = [];\n }\n if (output[\"AllowedMethod\"] !== undefined) {\n contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(__getArrayIfSingleItem(output[\"AllowedMethod\"]), context);\n }\n if (output.AllowedOrigin === \"\") {\n contents.AllowedOrigins = [];\n }\n if (output[\"AllowedOrigin\"] !== undefined) {\n contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins(__getArrayIfSingleItem(output[\"AllowedOrigin\"]), context);\n }\n if (output.ExposeHeader === \"\") {\n contents.ExposeHeaders = [];\n }\n if (output[\"ExposeHeader\"] !== undefined) {\n contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders(__getArrayIfSingleItem(output[\"ExposeHeader\"]), context);\n }\n if (output[\"MaxAgeSeconds\"] !== undefined) {\n contents.MaxAgeSeconds = parseInt(output[\"MaxAgeSeconds\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlCORSRules = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlCORSRule(entry, context);\n });\n};\nvar deserializeAws_restXmlDefaultRetention = function (output, context) {\n var contents = {\n Mode: undefined,\n Days: undefined,\n Years: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"Years\"] !== undefined) {\n contents.Years = parseInt(output[\"Years\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlDeletedObject = function (output, context) {\n var contents = {\n Key: undefined,\n VersionId: undefined,\n DeleteMarker: undefined,\n DeleteMarkerVersionId: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarker = output[\"DeleteMarker\"] == \"true\";\n }\n if (output[\"DeleteMarkerVersionId\"] !== undefined) {\n contents.DeleteMarkerVersionId = output[\"DeleteMarkerVersionId\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlDeletedObjects = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlDeletedObject(entry, context);\n });\n};\nvar deserializeAws_restXmlDeleteMarkerEntry = function (output, context) {\n var contents = {\n Owner: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlDeleteMarkerReplication = function (output, context) {\n var contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlDeleteMarkers = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlDeleteMarkerEntry(entry, context);\n });\n};\nvar deserializeAws_restXmlDestination = function (output, context) {\n var contents = {\n Bucket: undefined,\n Account: undefined,\n StorageClass: undefined,\n AccessControlTranslation: undefined,\n EncryptionConfiguration: undefined,\n ReplicationTime: undefined,\n Metrics: undefined,\n };\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n if (output[\"Account\"] !== undefined) {\n contents.Account = output[\"Account\"];\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"AccessControlTranslation\"] !== undefined) {\n contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(output[\"AccessControlTranslation\"], context);\n }\n if (output[\"EncryptionConfiguration\"] !== undefined) {\n contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(output[\"EncryptionConfiguration\"], context);\n }\n if (output[\"ReplicationTime\"] !== undefined) {\n contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output[\"ReplicationTime\"], context);\n }\n if (output[\"Metrics\"] !== undefined) {\n contents.Metrics = deserializeAws_restXmlMetrics(output[\"Metrics\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlEncryptionConfiguration = function (output, context) {\n var contents = {\n ReplicaKmsKeyID: undefined,\n };\n if (output[\"ReplicaKmsKeyID\"] !== undefined) {\n contents.ReplicaKmsKeyID = output[\"ReplicaKmsKeyID\"];\n }\n return contents;\n};\nvar deserializeAws_restXml_Error = function (output, context) {\n var contents = {\n Key: undefined,\n VersionId: undefined,\n Code: undefined,\n Message: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"Code\"] !== undefined) {\n contents.Code = output[\"Code\"];\n }\n if (output[\"Message\"] !== undefined) {\n contents.Message = output[\"Message\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlErrorDocument = function (output, context) {\n var contents = {\n Key: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlErrors = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXml_Error(entry, context);\n });\n};\nvar deserializeAws_restXmlEventList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_restXmlExistingObjectReplication = function (output, context) {\n var contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlExposeHeaders = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_restXmlFilterRule = function (output, context) {\n var contents = {\n Name: undefined,\n Value: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlFilterRuleList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlFilterRule(entry, context);\n });\n};\nvar deserializeAws_restXmlGrant = function (output, context) {\n var contents = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlGrantee = function (output, context) {\n var contents = {\n DisplayName: undefined,\n EmailAddress: undefined,\n ID: undefined,\n URI: undefined,\n Type: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n if (output[\"EmailAddress\"] !== undefined) {\n contents.EmailAddress = output[\"EmailAddress\"];\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"URI\"] !== undefined) {\n contents.URI = output[\"URI\"];\n }\n if (output[\"xsi:type\"] !== undefined) {\n contents.Type = output[\"xsi:type\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlGrants = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlGrant(entry, context);\n });\n};\nvar deserializeAws_restXmlIndexDocument = function (output, context) {\n var contents = {\n Suffix: undefined,\n };\n if (output[\"Suffix\"] !== undefined) {\n contents.Suffix = output[\"Suffix\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlInitiator = function (output, context) {\n var contents = {\n ID: undefined,\n DisplayName: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlIntelligentTieringAndOperator = function (output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlIntelligentTieringConfiguration = function (output, context) {\n var contents = {\n Id: undefined,\n Filter: undefined,\n Status: undefined,\n Tierings: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlIntelligentTieringFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output.Tiering === \"\") {\n contents.Tierings = [];\n }\n if (output[\"Tiering\"] !== undefined) {\n contents.Tierings = deserializeAws_restXmlTieringList(__getArrayIfSingleItem(output[\"Tiering\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlIntelligentTieringConfigurationList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlIntelligentTieringConfiguration(entry, context);\n });\n};\nvar deserializeAws_restXmlIntelligentTieringFilter = function (output, context) {\n var contents = {\n Prefix: undefined,\n Tag: undefined,\n And: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlIntelligentTieringAndOperator(output[\"And\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlInventoryConfiguration = function (output, context) {\n var contents = {\n Destination: undefined,\n IsEnabled: undefined,\n Filter: undefined,\n Id: undefined,\n IncludedObjectVersions: undefined,\n OptionalFields: undefined,\n Schedule: undefined,\n };\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlInventoryDestination(output[\"Destination\"], context);\n }\n if (output[\"IsEnabled\"] !== undefined) {\n contents.IsEnabled = output[\"IsEnabled\"] == \"true\";\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlInventoryFilter(output[\"Filter\"], context);\n }\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"IncludedObjectVersions\"] !== undefined) {\n contents.IncludedObjectVersions = output[\"IncludedObjectVersions\"];\n }\n if (output.OptionalFields === \"\") {\n contents.OptionalFields = [];\n }\n if (output[\"OptionalFields\"] !== undefined && output[\"OptionalFields\"][\"Field\"] !== undefined) {\n contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields(__getArrayIfSingleItem(output[\"OptionalFields\"][\"Field\"]), context);\n }\n if (output[\"Schedule\"] !== undefined) {\n contents.Schedule = deserializeAws_restXmlInventorySchedule(output[\"Schedule\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlInventoryConfigurationList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlInventoryConfiguration(entry, context);\n });\n};\nvar deserializeAws_restXmlInventoryDestination = function (output, context) {\n var contents = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlInventoryS3BucketDestination(output[\"S3BucketDestination\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlInventoryEncryption = function (output, context) {\n var contents = {\n SSES3: undefined,\n SSEKMS: undefined,\n };\n if (output[\"SSE-S3\"] !== undefined) {\n contents.SSES3 = deserializeAws_restXmlSSES3(output[\"SSE-S3\"], context);\n }\n if (output[\"SSE-KMS\"] !== undefined) {\n contents.SSEKMS = deserializeAws_restXmlSSEKMS(output[\"SSE-KMS\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlInventoryFilter = function (output, context) {\n var contents = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlInventoryOptionalFields = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_restXmlInventoryS3BucketDestination = function (output, context) {\n var contents = {\n AccountId: undefined,\n Bucket: undefined,\n Format: undefined,\n Prefix: undefined,\n Encryption: undefined,\n };\n if (output[\"AccountId\"] !== undefined) {\n contents.AccountId = output[\"AccountId\"];\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Encryption\"] !== undefined) {\n contents.Encryption = deserializeAws_restXmlInventoryEncryption(output[\"Encryption\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlInventorySchedule = function (output, context) {\n var contents = {\n Frequency: undefined,\n };\n if (output[\"Frequency\"] !== undefined) {\n contents.Frequency = output[\"Frequency\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlLambdaFunctionConfiguration = function (output, context) {\n var contents = {\n Id: undefined,\n LambdaFunctionArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"CloudFunction\"] !== undefined) {\n contents.LambdaFunctionArn = output[\"CloudFunction\"];\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlLambdaFunctionConfigurationList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n });\n};\nvar deserializeAws_restXmlLifecycleExpiration = function (output, context) {\n var contents = {\n Date: undefined,\n Days: undefined,\n ExpiredObjectDeleteMarker: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"ExpiredObjectDeleteMarker\"] !== undefined) {\n contents.ExpiredObjectDeleteMarker = output[\"ExpiredObjectDeleteMarker\"] == \"true\";\n }\n return contents;\n};\nvar deserializeAws_restXmlLifecycleRule = function (output, context) {\n var contents = {\n Expiration: undefined,\n ID: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n Transitions: undefined,\n NoncurrentVersionTransitions: undefined,\n NoncurrentVersionExpiration: undefined,\n AbortIncompleteMultipartUpload: undefined,\n };\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output[\"Expiration\"], context);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output.Transition === \"\") {\n contents.Transitions = [];\n }\n if (output[\"Transition\"] !== undefined) {\n contents.Transitions = deserializeAws_restXmlTransitionList(__getArrayIfSingleItem(output[\"Transition\"]), context);\n }\n if (output.NoncurrentVersionTransition === \"\") {\n contents.NoncurrentVersionTransitions = [];\n }\n if (output[\"NoncurrentVersionTransition\"] !== undefined) {\n contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList(__getArrayIfSingleItem(output[\"NoncurrentVersionTransition\"]), context);\n }\n if (output[\"NoncurrentVersionExpiration\"] !== undefined) {\n contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration(output[\"NoncurrentVersionExpiration\"], context);\n }\n if (output[\"AbortIncompleteMultipartUpload\"] !== undefined) {\n contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload(output[\"AbortIncompleteMultipartUpload\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlLifecycleRuleAndOperator = function (output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlLifecycleRuleFilter = function (output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlLifecycleRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nvar deserializeAws_restXmlLifecycleRules = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlLifecycleRule(entry, context);\n });\n};\nvar deserializeAws_restXmlLoggingEnabled = function (output, context) {\n var contents = {\n TargetBucket: undefined,\n TargetGrants: undefined,\n TargetPrefix: undefined,\n };\n if (output[\"TargetBucket\"] !== undefined) {\n contents.TargetBucket = output[\"TargetBucket\"];\n }\n if (output.TargetGrants === \"\") {\n contents.TargetGrants = [];\n }\n if (output[\"TargetGrants\"] !== undefined && output[\"TargetGrants\"][\"Grant\"] !== undefined) {\n contents.TargetGrants = deserializeAws_restXmlTargetGrants(__getArrayIfSingleItem(output[\"TargetGrants\"][\"Grant\"]), context);\n }\n if (output[\"TargetPrefix\"] !== undefined) {\n contents.TargetPrefix = output[\"TargetPrefix\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlMetrics = function (output, context) {\n var contents = {\n Status: undefined,\n EventThreshold: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output[\"EventThreshold\"] !== undefined) {\n contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output[\"EventThreshold\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlMetricsAndOperator = function (output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlMetricsConfiguration = function (output, context) {\n var contents = {\n Id: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlMetricsFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlMetricsConfigurationList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlMetricsConfiguration(entry, context);\n });\n};\nvar deserializeAws_restXmlMetricsFilter = function (output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlMetricsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nvar deserializeAws_restXmlMultipartUpload = function (output, context) {\n var contents = {\n UploadId: undefined,\n Key: undefined,\n Initiated: undefined,\n StorageClass: undefined,\n Owner: undefined,\n Initiator: undefined,\n };\n if (output[\"UploadId\"] !== undefined) {\n contents.UploadId = output[\"UploadId\"];\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"Initiated\"] !== undefined) {\n contents.Initiated = new Date(output[\"Initiated\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(output[\"Initiator\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlMultipartUploadList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlMultipartUpload(entry, context);\n });\n};\nvar deserializeAws_restXmlNoncurrentVersionExpiration = function (output, context) {\n var contents = {\n NoncurrentDays: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlNoncurrentVersionTransition = function (output, context) {\n var contents = {\n NoncurrentDays: undefined,\n StorageClass: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlNoncurrentVersionTransitionList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlNoncurrentVersionTransition(entry, context);\n });\n};\nvar deserializeAws_restXmlNotificationConfigurationFilter = function (output, context) {\n var contents = {\n Key: undefined,\n };\n if (output[\"S3Key\"] !== undefined) {\n contents.Key = deserializeAws_restXmlS3KeyFilter(output[\"S3Key\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXml_Object = function (output, context) {\n var contents = {\n Key: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined,\n StorageClass: undefined,\n Owner: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlObjectList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXml_Object(entry, context);\n });\n};\nvar deserializeAws_restXmlObjectLockConfiguration = function (output, context) {\n var contents = {\n ObjectLockEnabled: undefined,\n Rule: undefined,\n };\n if (output[\"ObjectLockEnabled\"] !== undefined) {\n contents.ObjectLockEnabled = output[\"ObjectLockEnabled\"];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rule = deserializeAws_restXmlObjectLockRule(output[\"Rule\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlObjectLockLegalHold = function (output, context) {\n var contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlObjectLockRetention = function (output, context) {\n var contents = {\n Mode: undefined,\n RetainUntilDate: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n if (output[\"RetainUntilDate\"] !== undefined) {\n contents.RetainUntilDate = new Date(output[\"RetainUntilDate\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlObjectLockRule = function (output, context) {\n var contents = {\n DefaultRetention: undefined,\n };\n if (output[\"DefaultRetention\"] !== undefined) {\n contents.DefaultRetention = deserializeAws_restXmlDefaultRetention(output[\"DefaultRetention\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlObjectVersion = function (output, context) {\n var contents = {\n ETag: undefined,\n Size: undefined,\n StorageClass: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n Owner: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlObjectVersionList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlObjectVersion(entry, context);\n });\n};\nvar deserializeAws_restXmlOwner = function (output, context) {\n var contents = {\n DisplayName: undefined,\n ID: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlOwnershipControls = function (output, context) {\n var contents = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlOwnershipControlsRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlOwnershipControlsRule = function (output, context) {\n var contents = {\n ObjectOwnership: undefined,\n };\n if (output[\"ObjectOwnership\"] !== undefined) {\n contents.ObjectOwnership = output[\"ObjectOwnership\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlOwnershipControlsRules = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlOwnershipControlsRule(entry, context);\n });\n};\nvar deserializeAws_restXmlPart = function (output, context) {\n var contents = {\n PartNumber: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined,\n };\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = parseInt(output[\"PartNumber\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlParts = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlPart(entry, context);\n });\n};\nvar deserializeAws_restXmlPolicyStatus = function (output, context) {\n var contents = {\n IsPublic: undefined,\n };\n if (output[\"IsPublic\"] !== undefined) {\n contents.IsPublic = output[\"IsPublic\"] == \"true\";\n }\n return contents;\n};\nvar deserializeAws_restXmlPublicAccessBlockConfiguration = function (output, context) {\n var contents = {\n BlockPublicAcls: undefined,\n IgnorePublicAcls: undefined,\n BlockPublicPolicy: undefined,\n RestrictPublicBuckets: undefined,\n };\n if (output[\"BlockPublicAcls\"] !== undefined) {\n contents.BlockPublicAcls = output[\"BlockPublicAcls\"] == \"true\";\n }\n if (output[\"IgnorePublicAcls\"] !== undefined) {\n contents.IgnorePublicAcls = output[\"IgnorePublicAcls\"] == \"true\";\n }\n if (output[\"BlockPublicPolicy\"] !== undefined) {\n contents.BlockPublicPolicy = output[\"BlockPublicPolicy\"] == \"true\";\n }\n if (output[\"RestrictPublicBuckets\"] !== undefined) {\n contents.RestrictPublicBuckets = output[\"RestrictPublicBuckets\"] == \"true\";\n }\n return contents;\n};\nvar deserializeAws_restXmlQueueConfiguration = function (output, context) {\n var contents = {\n Id: undefined,\n QueueArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Queue\"] !== undefined) {\n contents.QueueArn = output[\"Queue\"];\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlQueueConfigurationList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlQueueConfiguration(entry, context);\n });\n};\nvar deserializeAws_restXmlRedirect = function (output, context) {\n var contents = {\n HostName: undefined,\n HttpRedirectCode: undefined,\n Protocol: undefined,\n ReplaceKeyPrefixWith: undefined,\n ReplaceKeyWith: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n if (output[\"HttpRedirectCode\"] !== undefined) {\n contents.HttpRedirectCode = output[\"HttpRedirectCode\"];\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n if (output[\"ReplaceKeyPrefixWith\"] !== undefined) {\n contents.ReplaceKeyPrefixWith = output[\"ReplaceKeyPrefixWith\"];\n }\n if (output[\"ReplaceKeyWith\"] !== undefined) {\n contents.ReplaceKeyWith = output[\"ReplaceKeyWith\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlRedirectAllRequestsTo = function (output, context) {\n var contents = {\n HostName: undefined,\n Protocol: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlReplicaModifications = function (output, context) {\n var contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlReplicationConfiguration = function (output, context) {\n var contents = {\n Role: undefined,\n Rules: undefined,\n };\n if (output[\"Role\"] !== undefined) {\n contents.Role = output[\"Role\"];\n }\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlReplicationRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlReplicationRule = function (output, context) {\n var contents = {\n ID: undefined,\n Priority: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n SourceSelectionCriteria: undefined,\n ExistingObjectReplication: undefined,\n Destination: undefined,\n DeleteMarkerReplication: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"Priority\"] !== undefined) {\n contents.Priority = parseInt(output[\"Priority\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output[\"SourceSelectionCriteria\"] !== undefined) {\n contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(output[\"SourceSelectionCriteria\"], context);\n }\n if (output[\"ExistingObjectReplication\"] !== undefined) {\n contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(output[\"ExistingObjectReplication\"], context);\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlDestination(output[\"Destination\"], context);\n }\n if (output[\"DeleteMarkerReplication\"] !== undefined) {\n contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(output[\"DeleteMarkerReplication\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlReplicationRuleAndOperator = function (output, context) {\n var contents = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlReplicationRuleFilter = function (output, context) {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlReplicationRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nvar deserializeAws_restXmlReplicationRules = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlReplicationRule(entry, context);\n });\n};\nvar deserializeAws_restXmlReplicationTime = function (output, context) {\n var contents = {\n Status: undefined,\n Time: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output[\"Time\"] !== undefined) {\n contents.Time = deserializeAws_restXmlReplicationTimeValue(output[\"Time\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlReplicationTimeValue = function (output, context) {\n var contents = {\n Minutes: undefined,\n };\n if (output[\"Minutes\"] !== undefined) {\n contents.Minutes = parseInt(output[\"Minutes\"]);\n }\n return contents;\n};\nvar deserializeAws_restXmlRoutingRule = function (output, context) {\n var contents = {\n Condition: undefined,\n Redirect: undefined,\n };\n if (output[\"Condition\"] !== undefined) {\n contents.Condition = deserializeAws_restXmlCondition(output[\"Condition\"], context);\n }\n if (output[\"Redirect\"] !== undefined) {\n contents.Redirect = deserializeAws_restXmlRedirect(output[\"Redirect\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlRoutingRules = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlRoutingRule(entry, context);\n });\n};\nvar deserializeAws_restXmlS3KeyFilter = function (output, context) {\n var contents = {\n FilterRules: undefined,\n };\n if (output.FilterRule === \"\") {\n contents.FilterRules = [];\n }\n if (output[\"FilterRule\"] !== undefined) {\n contents.FilterRules = deserializeAws_restXmlFilterRuleList(__getArrayIfSingleItem(output[\"FilterRule\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlServerSideEncryptionByDefault = function (output, context) {\n var contents = {\n SSEAlgorithm: undefined,\n KMSMasterKeyID: undefined,\n };\n if (output[\"SSEAlgorithm\"] !== undefined) {\n contents.SSEAlgorithm = output[\"SSEAlgorithm\"];\n }\n if (output[\"KMSMasterKeyID\"] !== undefined) {\n contents.KMSMasterKeyID = output[\"KMSMasterKeyID\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlServerSideEncryptionConfiguration = function (output, context) {\n var contents = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlServerSideEncryptionRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n return contents;\n};\nvar deserializeAws_restXmlServerSideEncryptionRule = function (output, context) {\n var contents = {\n ApplyServerSideEncryptionByDefault: undefined,\n BucketKeyEnabled: undefined,\n };\n if (output[\"ApplyServerSideEncryptionByDefault\"] !== undefined) {\n contents.ApplyServerSideEncryptionByDefault = deserializeAws_restXmlServerSideEncryptionByDefault(output[\"ApplyServerSideEncryptionByDefault\"], context);\n }\n if (output[\"BucketKeyEnabled\"] !== undefined) {\n contents.BucketKeyEnabled = output[\"BucketKeyEnabled\"] == \"true\";\n }\n return contents;\n};\nvar deserializeAws_restXmlServerSideEncryptionRules = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlServerSideEncryptionRule(entry, context);\n });\n};\nvar deserializeAws_restXmlSourceSelectionCriteria = function (output, context) {\n var contents = {\n SseKmsEncryptedObjects: undefined,\n ReplicaModifications: undefined,\n };\n if (output[\"SseKmsEncryptedObjects\"] !== undefined) {\n contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(output[\"SseKmsEncryptedObjects\"], context);\n }\n if (output[\"ReplicaModifications\"] !== undefined) {\n contents.ReplicaModifications = deserializeAws_restXmlReplicaModifications(output[\"ReplicaModifications\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlSSEKMS = function (output, context) {\n var contents = {\n KeyId: undefined,\n };\n if (output[\"KeyId\"] !== undefined) {\n contents.KeyId = output[\"KeyId\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlSseKmsEncryptedObjects = function (output, context) {\n var contents = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlSSES3 = function (output, context) {\n var contents = {};\n return contents;\n};\nvar deserializeAws_restXmlStorageClassAnalysis = function (output, context) {\n var contents = {\n DataExport: undefined,\n };\n if (output[\"DataExport\"] !== undefined) {\n contents.DataExport = deserializeAws_restXmlStorageClassAnalysisDataExport(output[\"DataExport\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlStorageClassAnalysisDataExport = function (output, context) {\n var contents = {\n OutputSchemaVersion: undefined,\n Destination: undefined,\n };\n if (output[\"OutputSchemaVersion\"] !== undefined) {\n contents.OutputSchemaVersion = output[\"OutputSchemaVersion\"];\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output[\"Destination\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlTag = function (output, context) {\n var contents = {\n Key: undefined,\n Value: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlTagSet = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlTag(entry, context);\n });\n};\nvar deserializeAws_restXmlTargetGrant = function (output, context) {\n var contents = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlTargetGrants = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlTargetGrant(entry, context);\n });\n};\nvar deserializeAws_restXmlTiering = function (output, context) {\n var contents = {\n Days: undefined,\n AccessTier: undefined,\n };\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"AccessTier\"] !== undefined) {\n contents.AccessTier = output[\"AccessTier\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlTieringList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlTiering(entry, context);\n });\n};\nvar deserializeAws_restXmlTopicConfiguration = function (output, context) {\n var contents = {\n Id: undefined,\n TopicArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Topic\"] !== undefined) {\n contents.TopicArn = output[\"Topic\"];\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\nvar deserializeAws_restXmlTopicConfigurationList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlTopicConfiguration(entry, context);\n });\n};\nvar deserializeAws_restXmlTransition = function (output, context) {\n var contents = {\n Date: undefined,\n Days: undefined,\n StorageClass: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n return contents;\n};\nvar deserializeAws_restXmlTransitionList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restXmlTransition(entry, context);\n });\n};\nvar deserializeMetadata = function (output) {\n var _a;\n return ({\n httpStatusCode: output.statusCode,\n requestId: (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n });\n};\n// Collect low-level response body stream to Uint8Array.\nvar collectBody = function (streamBody, context) {\n if (streamBody === void 0) { streamBody = new Uint8Array(); }\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n// Encode Uint8Array data into string with utf-8.\nvar collectBodyString = function (streamBody, context) {\n return collectBody(streamBody, context).then(function (body) { return context.utf8Encoder(body); });\n};\nvar isSerializableHeaderValue = function (value) {\n return value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\n};\nvar decodeEscapedXML = function (str) {\n return str\n .replace(/&/g, \"&\")\n .replace(/'/g, \"'\")\n .replace(/"/g, '\"')\n .replace(/>/g, \">\")\n .replace(/</g, \"<\");\n};\nvar parseBody = function (streamBody, context) {\n return collectBodyString(streamBody, context).then(function (encoded) {\n if (encoded.length) {\n var parsedObj = xmlParse(encoded, {\n attributeNamePrefix: \"\",\n ignoreAttributes: false,\n parseNodeValue: false,\n tagValueProcessor: function (val, tagName) { return decodeEscapedXML(val); },\n });\n var textNodeName = \"#text\";\n var key = Object.keys(parsedObj)[0];\n var parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return __getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n });\n};\nvar loadRestXmlErrorCode = function (output, data) {\n if (data.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n return \"\";\n};\n//# sourceMappingURL=Aws_restXml.js.map","import { __read } from \"tslib\";\n/**\n * Validate whether a string is an ARN.\n */\nexport var validate = function (str) {\n return typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6;\n};\n/**\n * Parse an ARN string into structure with partition, service, region, accountId and resource values\n */\nexport var parse = function (arn) {\n var segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\")\n throw new Error(\"Malformed ARN\");\n var _a = __read(segments), \n //Skip \"arn\" literal\n partition = _a[1], service = _a[2], region = _a[3], accountId = _a[4], resource = _a.slice(5);\n return {\n partition: partition,\n service: service,\n region: region,\n accountId: accountId,\n resource: resource.join(\":\"),\n };\n};\n/**\n * Build an ARN with service, partition, region, accountId, and resources strings\n */\nexport var build = function (arnObject) {\n var _a = arnObject.partition, partition = _a === void 0 ? \"aws\" : _a, service = arnObject.service, region = arnObject.region, accountId = arnObject.accountId, resource = arnObject.resource;\n if ([service, region, accountId, resource].some(function (segment) { return typeof segment !== \"string\"; })) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return \"arn:\" + partition + \":\" + service + \":\" + region + \":\" + accountId + \":\" + resource;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQU9BOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sUUFBUSxHQUFHLFVBQUMsR0FBUTtJQUMvQixPQUFBLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO0FBQWxGLENBQWtGLENBQUM7QUFFckY7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxLQUFLLEdBQUcsVUFBQyxHQUFXO0lBQy9CLElBQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0UsSUFBQSxLQUFBLE9BUUYsUUFBUSxDQUFBO0lBTlYsb0JBQW9CO0lBQ3BCLFNBQVMsUUFBQSxFQUNULE9BQU8sUUFBQSxFQUNQLE1BQU0sUUFBQSxFQUNOLFNBQVMsUUFBQSxFQUNOLFFBQVEsY0FDRCxDQUFDO0lBRWIsT0FBTztRQUNMLFNBQVMsV0FBQTtRQUNULE9BQU8sU0FBQTtRQUNQLE1BQU0sUUFBQTtRQUNOLFNBQVMsV0FBQTtRQUNULFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztLQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBSUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxLQUFLLEdBQUcsVUFBQyxTQUF1QjtJQUNuQyxJQUFBLEtBQTRELFNBQVMsVUFBcEQsRUFBakIsU0FBUyxtQkFBRyxLQUFLLEtBQUEsRUFBRSxPQUFPLEdBQWtDLFNBQVMsUUFBM0MsRUFBRSxNQUFNLEdBQTBCLFNBQVMsT0FBbkMsRUFBRSxTQUFTLEdBQWUsU0FBUyxVQUF4QixFQUFFLFFBQVEsR0FBSyxTQUFTLFNBQWQsQ0FBZTtJQUM5RSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxPQUFPLEtBQUssUUFBUSxFQUEzQixDQUEyQixDQUFDLEVBQUU7UUFDekYsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ2hEO0lBQ0QsT0FBTyxTQUFPLFNBQVMsU0FBSSxPQUFPLFNBQUksTUFBTSxTQUFJLFNBQVMsU0FBSSxRQUFVLENBQUM7QUFDMUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBUk4ge1xuICBwYXJ0aXRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICByZWdpb246IHN0cmluZztcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHJlc291cmNlOiBzdHJpbmc7XG59XG4vKipcbiAqIFZhbGlkYXRlIHdoZXRoZXIgYSBzdHJpbmcgaXMgYW4gQVJOLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGUgPSAoc3RyOiBhbnkpOiBib29sZWFuID0+XG4gIHR5cGVvZiBzdHIgPT09IFwic3RyaW5nXCIgJiYgc3RyLmluZGV4T2YoXCJhcm46XCIpID09PSAwICYmIHN0ci5zcGxpdChcIjpcIikubGVuZ3RoID49IDY7XG5cbi8qKlxuICogUGFyc2UgYW4gQVJOIHN0cmluZyBpbnRvIHN0cnVjdHVyZSB3aXRoIHBhcnRpdGlvbiwgc2VydmljZSwgcmVnaW9uLCBhY2NvdW50SWQgYW5kIHJlc291cmNlIHZhbHVlc1xuICovXG5leHBvcnQgY29uc3QgcGFyc2UgPSAoYXJuOiBzdHJpbmcpOiBBUk4gPT4ge1xuICBjb25zdCBzZWdtZW50cyA9IGFybi5zcGxpdChcIjpcIik7XG4gIGlmIChzZWdtZW50cy5sZW5ndGggPCA2IHx8IHNlZ21lbnRzWzBdICE9PSBcImFyblwiKSB0aHJvdyBuZXcgRXJyb3IoXCJNYWxmb3JtZWQgQVJOXCIpO1xuICBjb25zdCBbXG4gICAgLFxuICAgIC8vU2tpcCBcImFyblwiIGxpdGVyYWxcbiAgICBwYXJ0aXRpb24sXG4gICAgc2VydmljZSxcbiAgICByZWdpb24sXG4gICAgYWNjb3VudElkLFxuICAgIC4uLnJlc291cmNlXG4gIF0gPSBzZWdtZW50cztcblxuICByZXR1cm4ge1xuICAgIHBhcnRpdGlvbixcbiAgICBzZXJ2aWNlLFxuICAgIHJlZ2lvbixcbiAgICBhY2NvdW50SWQsXG4gICAgcmVzb3VyY2U6IHJlc291cmNlLmpvaW4oXCI6XCIpLFxuICB9O1xufTtcblxudHlwZSBidWlsZE9wdGlvbnMgPSBPbWl0PEFSTiwgXCJwYXJ0aXRpb25cIj4gJiB7IHBhcnRpdGlvbj86IHN0cmluZyB9O1xuXG4vKipcbiAqIEJ1aWxkIGFuIEFSTiB3aXRoIHNlcnZpY2UsIHBhcnRpdGlvbiwgcmVnaW9uLCBhY2NvdW50SWQsIGFuZCByZXNvdXJjZXMgc3RyaW5nc1xuICovXG5leHBvcnQgY29uc3QgYnVpbGQgPSAoYXJuT2JqZWN0OiBidWlsZE9wdGlvbnMpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IHBhcnRpdGlvbiA9IFwiYXdzXCIsIHNlcnZpY2UsIHJlZ2lvbiwgYWNjb3VudElkLCByZXNvdXJjZSB9ID0gYXJuT2JqZWN0O1xuICBpZiAoW3NlcnZpY2UsIHJlZ2lvbiwgYWNjb3VudElkLCByZXNvdXJjZV0uc29tZSgoc2VnbWVudCkgPT4gdHlwZW9mIHNlZ21lbnQgIT09IFwic3RyaW5nXCIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgQVJOIG9iamVjdCBpcyBpbnZhbGlkXCIpO1xuICB9XG4gIHJldHVybiBgYXJuOiR7cGFydGl0aW9ufToke3NlcnZpY2V9OiR7cmVnaW9ufToke2FjY291bnRJZH06JHtyZXNvdXJjZX1gO1xufTtcbiJdfQ==","import { __read } from \"tslib\";\nvar DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nvar IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nvar DOTS_PATTERN = /\\.\\./;\nexport var DOT_PATTERN = /\\./;\nexport var S3_HOSTNAME_PATTERN = /^(.+\\.)?s3[.-]([a-z0-9-]+)\\./;\nvar S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\\.amazonaws\\.com$/;\nvar AWS_PARTITION_SUFFIX = \"amazonaws.com\";\nexport var isBucketNameOptions = function (options) { return typeof options.bucketName === \"string\"; };\n/**\n * Get pseudo region from supplied region. For example, if supplied with `fips-us-west-2`, it returns `us-west-2`.\n * @internal\n */\nexport var getPseudoRegion = function (region) { return (isFipsRegion(region) ? region.replace(/fips-|-fips/, \"\") : region); };\n/**\n * Determines whether a given string is DNS compliant per the rules outlined by\n * S3. Length, capitaization, and leading dot restrictions are enforced by the\n * DOMAIN_PATTERN regular expression.\n * @internal\n *\n * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html\n */\nexport var isDnsCompatibleBucketName = function (bucketName) {\n return DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\n};\nvar getRegionalSuffix = function (hostname) {\n var parts = hostname.match(S3_HOSTNAME_PATTERN);\n return [parts[2], hostname.replace(new RegExp(\"^\" + parts[0]), \"\")];\n};\nexport var getSuffix = function (hostname) {\n return S3_US_EAST_1_ALTNAME_PATTERN.test(hostname) ? [\"us-east-1\", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname);\n};\n/**\n * Infer region and hostname suffix from a complete hostname\n * @internal\n * @param hostname - Hostname\n * @returns [Region, Hostname suffix]\n */\nexport var getSuffixForArnEndpoint = function (hostname) {\n return S3_US_EAST_1_ALTNAME_PATTERN.test(hostname)\n ? [hostname.replace(\".\" + AWS_PARTITION_SUFFIX, \"\"), AWS_PARTITION_SUFFIX]\n : getRegionalSuffix(hostname);\n};\nexport var validateArnEndpointOptions = function (options) {\n if (options.pathStyleEndpoint) {\n throw new Error(\"Path-style S3 endpoint is not supported when bucket is an ARN\");\n }\n if (options.accelerateEndpoint) {\n throw new Error(\"Accelerate endpoint is not supported when bucket is an ARN\");\n }\n if (!options.tlsCompatible) {\n throw new Error(\"HTTPS is required when bucket is an ARN\");\n }\n};\nexport var validateService = function (service) {\n if (service !== \"s3\" && service !== \"s3-outposts\") {\n throw new Error(\"Expect 's3' or 's3-outposts' in ARN service component\");\n }\n};\nexport var validateS3Service = function (service) {\n if (service !== \"s3\") {\n throw new Error(\"Expect 's3' in Accesspoint ARN service component\");\n }\n};\nexport var validateOutpostService = function (service) {\n if (service !== \"s3-outposts\") {\n throw new Error(\"Expect 's3-posts' in Outpost ARN service component\");\n }\n};\n/**\n * Validate partition inferred from ARN is the same to `options.clientPartition`.\n * @internal\n */\nexport var validatePartition = function (partition, options) {\n if (partition !== options.clientPartition) {\n throw new Error(\"Partition in ARN is incompatible, got \\\"\" + partition + \"\\\" but expected \\\"\" + options.clientPartition + \"\\\"\");\n }\n};\n/**\n * validate region value inferred from ARN. If `options.useArnRegion` is set, it validates the region is not a FIPS\n * region. If `options.useArnRegion` is unset, it validates the region is equal to `options.clientRegion` or\n * `options.clientSigningRegion`.\n * @internal\n */\nexport var validateRegion = function (region, options) {\n if (region === \"\") {\n throw new Error(\"ARN region is empty\");\n }\n if (!options.useArnRegion &&\n !isEqualRegions(region, options.clientRegion) &&\n !isEqualRegions(region, options.clientSigningRegion)) {\n throw new Error(\"Region in ARN is incompatible, got \" + region + \" but expected \" + options.clientRegion);\n }\n if (options.useArnRegion && isFipsRegion(region)) {\n throw new Error(\"Endpoint does not support FIPS region\");\n }\n};\nvar isFipsRegion = function (region) { return region.startsWith(\"fips-\") || region.endsWith(\"-fips\"); };\nvar isEqualRegions = function (regionA, regionB) {\n return regionA === regionB || getPseudoRegion(regionA) === regionB || regionA === getPseudoRegion(regionB);\n};\n/**\n * Validate an account ID\n * @internal\n */\nexport var validateAccountId = function (accountId) {\n if (!/[0-9]{12}/.exec(accountId)) {\n throw new Error(\"Access point ARN accountID does not match regex '[0-9]{12}'\");\n }\n};\n/**\n * Validate a host label according to https://tools.ietf.org/html/rfc3986#section-3.2.2\n * @internal\n */\nexport var validateDNSHostLabel = function (label, options) {\n if (options === void 0) { options = { tlsCompatible: true }; }\n // reference: https://tools.ietf.org/html/rfc3986#section-3.2.2\n if (label.length >= 64 ||\n !/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/.test(label) ||\n /(\\d+\\.){3}\\d+/.test(label) ||\n /[.-]{2}/.test(label) ||\n ((options === null || options === void 0 ? void 0 : options.tlsCompatible) && DOT_PATTERN.test(label))) {\n throw new Error(\"Invalid DNS label \" + label);\n }\n};\n/**\n * Validate and parse an Access Point ARN or Outposts ARN\n * @internal\n *\n * @param resource - The resource section of an ARN\n * @returns Access Point Name and optional Outpost ID.\n */\nexport var getArnResources = function (resource) {\n var delimiter = resource.includes(\":\") ? \":\" : \"/\";\n var _a = __read(resource.split(delimiter)), resourceType = _a[0], rest = _a.slice(1);\n if (resourceType === \"accesspoint\") {\n // Parse accesspoint ARN\n if (rest.length !== 1 || rest[0] === \"\") {\n throw new Error(\"Access Point ARN should have one resource accesspoint\" + delimiter + \"{accesspointname}\");\n }\n return { accesspointName: rest[0] };\n }\n else if (resourceType === \"outpost\") {\n // Parse outpost ARN\n if (!rest[0] || rest[1] !== \"accesspoint\" || !rest[2] || rest.length !== 3) {\n throw new Error(\"Outpost ARN should have resource outpost\" + delimiter + \"{outpostId}\" + delimiter + \"accesspoint\" + delimiter + \"{accesspointName}\");\n }\n var _b = __read(rest, 3), outpostId = _b[0], _ = _b[1], accesspointName = _b[2];\n return { outpostId: outpostId, accesspointName: accesspointName };\n }\n else {\n throw new Error(\"ARN resource should begin with 'accesspoint\" + delimiter + \"' or 'outpost\" + delimiter + \"'\");\n }\n};\n/**\n * Throw if dual stack configuration is set to true.\n * @internal\n */\nexport var validateNoDualstack = function (dualstackEndpoint) {\n if (dualstackEndpoint)\n throw new Error(\"Dualstack endpoint is not supported with Outpost\");\n};\n/**\n * Validate region is not appended or prepended with a `fips-`\n * @internal\n */\nexport var validateNoFIPS = function (region) {\n if (isFipsRegion(region !== null && region !== void 0 ? region : \"\"))\n throw new Error(\"FIPS region is not supported with Outpost, got \" + region);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXRIb3N0bmFtZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxJQUFNLGNBQWMsR0FBRyxzQ0FBc0MsQ0FBQztBQUM5RCxJQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUMzQyxJQUFNLFlBQVksR0FBRyxNQUFNLENBQUM7QUFDNUIsTUFBTSxDQUFDLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUNoQyxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUNsRSxJQUFNLDRCQUE0QixHQUFHLG9DQUFvQyxDQUFDO0FBQzFFLElBQU0sb0JBQW9CLEdBQUcsZUFBZSxDQUFDO0FBd0I3QyxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxVQUNqQyxPQUFpRCxJQUNiLE9BQUEsT0FBTyxPQUFPLENBQUMsVUFBVSxLQUFLLFFBQVEsRUFBdEMsQ0FBc0MsQ0FBQztBQUU3RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQUcsVUFBQyxNQUFjLElBQUssT0FBQSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFuRSxDQUFtRSxDQUFDO0FBRXZIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSx5QkFBeUIsR0FBRyxVQUFDLFVBQWtCO0lBQzFELE9BQUEsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0FBQXpHLENBQXlHLENBQUM7QUFFNUcsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLFFB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QzFFLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkNBQTJDLFNBQVMsbUJBQWMsU0FBUyxtQkFBYyxTQUFTLHNCQUFtQixDQUN0SCxDQUFDO1NBQ0g7UUFDSyxJQUFBLEtBQUEsT0FBa0MsSUFBSSxJQUFBLEVBQXJDLFNBQVMsUUFBQSxFQUFFLENBQUMsUUFBQSxFQUFFLGVBQWUsUUFBUSxDQUFDO1FBQzdDLE9BQU8sRUFBRSxTQUFTLFdBQUEsRUFBRSxlQUFlLGlCQUFBLEVBQUUsQ0FBQztLQUN2QztTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBOEMsU0FBUyxxQkFBZ0IsU0FBUyxNQUFHLENBQUMsQ0FBQztLQUN0RztBQUNILENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLFVBQUMsaUJBQTBCO0lBQzVELElBQUksaUJBQWlCO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0FBQzdGLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxVQUFDLE1BQWM7SUFDM0MsSUFBSSxZQUFZLENBQUMsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksRUFBRSxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBa0QsTUFBUSxDQUFDLENBQUM7QUFDOUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVJOIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtYXJuLXBhcnNlclwiO1xuXG5jb25zdCBET01BSU5fUEFUVEVSTiA9IC9eW2EtejAtOV1bYS16MC05XFwuXFwtXXsxLDYxfVthLXowLTldJC87XG5jb25zdCBJUF9BRERSRVNTX1BBVFRFUk4gPSAvKFxcZCtcXC4pezN9XFxkKy87XG5jb25zdCBET1RTX1BBVFRFUk4gPSAvXFwuXFwuLztcbmV4cG9ydCBjb25zdCBET1RfUEFUVEVSTiA9IC9cXC4vO1xuZXhwb3J0IGNvbnN0IFMzX0hPU1ROQU1FX1BBVFRFUk4gPSAvXiguK1xcLik/czNbLi1dKFthLXowLTktXSspXFwuLztcbmNvbnN0IFMzX1VTX0VBU1RfMV9BTFROQU1FX1BBVFRFUk4gPSAvXnMzKC1leHRlcm5hbC0xKT9cXC5hbWF6b25hd3NcXC5jb20kLztcbmNvbnN0IEFXU19QQVJUSVRJT05fU1VGRklYID0gXCJhbWF6b25hd3MuY29tXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZXNzUG9pbnRBcm4gZXh0ZW5kcyBBUk4ge1xuICBhY2Nlc3NQb2ludE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRIb3N0bmFtZVBhcmFtcyB7XG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG4gIGJhc2VIb3N0bmFtZTogc3RyaW5nO1xuICBidWNrZXROYW1lOiBzdHJpbmc7XG4gIGNsaWVudFJlZ2lvbjogc3RyaW5nO1xuICBhY2NlbGVyYXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuICBkdWFsc3RhY2tFbmRwb2ludD86IGJvb2xlYW47XG4gIHBhdGhTdHlsZUVuZHBvaW50PzogYm9vbGVhbjtcbiAgdGxzQ29tcGF0aWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJuSG9zdG5hbWVQYXJhbXMgZXh0ZW5kcyBPbWl0PEJ1Y2tldEhvc3RuYW1lUGFyYW1zLCBcImJ1Y2tldE5hbWVcIj4ge1xuICBidWNrZXROYW1lOiBBUk47XG4gIGNsaWVudFNpZ25pbmdSZWdpb24/OiBzdHJpbmc7XG4gIGNsaWVudFBhcnRpdGlvbj86IHN0cmluZztcbiAgdXNlQXJuUmVnaW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGlzQnVja2V0TmFtZU9wdGlvbnMgPSAoXG4gIG9wdGlvbnM6IEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHwgQXJuSG9zdG5hbWVQYXJhbXNcbik6IG9wdGlvbnMgaXMgQnVja2V0SG9zdG5hbWVQYXJhbXMgPT4gdHlwZW9mIG9wdGlvbnMuYnVja2V0TmFtZSA9PT0gXCJzdHJpbmdcIjtcblxuLyoqXG4gKiBHZXQgcHNldWRvIHJlZ2lvbiBmcm9tIHN1cHBsaWVkIHJlZ2lvbi4gRm9yIGV4YW1wbGUsIGlmIHN1cHBsaWVkIHdpdGggYGZpcHMtdXMtd2VzdC0yYCwgaXQgcmV0dXJucyBgdXMtd2VzdC0yYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgZ2V0UHNldWRvUmVnaW9uID0gKHJlZ2lvbjogc3RyaW5nKSA9PiAoaXNGaXBzUmVnaW9uKHJlZ2lvbikgPyByZWdpb24ucmVwbGFjZSgvZmlwcy18LWZpcHMvLCBcIlwiKSA6IHJlZ2lvbik7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZ2l2ZW4gc3RyaW5nIGlzIEROUyBjb21wbGlhbnQgcGVyIHRoZSBydWxlcyBvdXRsaW5lZCBieVxuICogUzMuIExlbmd0aCwgY2FwaXRhaXphdGlvbiwgYW5kIGxlYWRpbmcgZG90IHJlc3RyaWN0aW9ucyBhcmUgZW5mb3JjZWQgYnkgdGhlXG4gKiBET01BSU5fUEFUVEVSTiByZWd1bGFyIGV4cHJlc3Npb24uXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L0J1Y2tldFJlc3RyaWN0aW9ucy5odG1sXG4gKi9cbmV4cG9ydCBjb25zdCBpc0Ruc0NvbXBhdGlibGVCdWNrZXROYW1lID0gKGJ1Y2tldE5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT5cbiAgRE9NQUlOX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSAmJiAhSVBfQUREUkVTU19QQVRURVJOLnRlc3QoYnVja2V0TmFtZSkgJiYgIURPVFNfUEFUVEVSTi50ZXN0KGJ1Y2tldE5hbWUpO1xuXG5jb25zdCBnZXRSZWdpb25hbFN1ZmZpeCA9IChob3N0bmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSA9PiB7XG4gIGNvbnN0IHBhcnRzID0gaG9zdG5hbWUubWF0Y2goUzNfSE9TVE5BTUVfUEFUVEVSTikhO1xuICByZXR1cm4gW3BhcnRzWzJdLCBob3N0bmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoYF4ke3BhcnRzWzBdfWApLCBcIlwiKV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3VmZml4ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddID0+XG4gIFMzX1VTX0VBU1RfMV9BTFROQU1FX1BBVFRFUk4udGVzdChob3N0bmFtZSkgPyBbXCJ1cy1lYXN0LTFcIiwgQVdTX1BBUlRJVElPTl9TVUZGSVhdIDogZ2V0UmVnaW9uYWxTdWZmaXgoaG9zdG5hbWUpO1xuXG4vKipcbiAqIEluZmVyIHJlZ2lvbiBhbmQgaG9zdG5hbWUgc3VmZml4IGZyb20gYSBjb21wbGV0ZSBob3N0bmFtZVxuICogQGludGVybmFsXG4gKiBAcGFyYW0gaG9zdG5hbWUgLSBIb3N0bmFtZVxuICogQHJldHVybnMgW1JlZ2lvbiwgSG9zdG5hbWUgc3VmZml4XVxuICovXG5leHBvcnQgY29uc3QgZ2V0U3VmZml4Rm9yQXJuRW5kcG9pbnQgPSAoaG9zdG5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gPT5cbiAgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTi50ZXN0KGhvc3RuYW1lKVxuICAgID8gW2hvc3RuYW1lLnJlcGxhY2UoYC4ke0FXU19QQVJUSVRJT05fU1VGRklYfWAsIFwiXCIpLCBBV1NfUEFSVElUSU9OX1NVRkZJWF1cbiAgICA6IGdldFJlZ2lvbmFsU3VmZml4KGhvc3RuYW1lKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zID0gKG9wdGlvbnM6IHtcbiAgYWNjZWxlcmF0ZUVuZHBvaW50PzogYm9vbGVhbjtcbiAgdGxzQ29tcGF0aWJsZT86IGJvb2xlYW47XG4gIHBhdGhTdHlsZUVuZHBvaW50PzogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKG9wdGlvbnMucGF0aFN0eWxlRW5kcG9pbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXRoLXN0eWxlIFMzIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiBidWNrZXQgaXMgYW4gQVJOXCIpO1xuICB9XG4gIGlmIChvcHRpb25zLmFjY2VsZXJhdGVFbmRwb2ludCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFjY2VsZXJhdGUgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbiAgaWYgKCFvcHRpb25zLnRsc0NvbXBhdGlibGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJIVFRQUyBpcyByZXF1aXJlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzXCIgJiYgc2VydmljZSAhPT0gXCJzMy1vdXRwb3N0c1wiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ICdzMycgb3IgJ3MzLW91dHBvc3RzJyBpbiBBUk4gc2VydmljZSBjb21wb25lbnRcIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVMzU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdCAnczMnIGluIEFjY2Vzc3BvaW50IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlT3V0cG9zdFNlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzLXBvc3RzJyBpbiBPdXRwb3N0IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBwYXJ0aXRpb24gaW5mZXJyZWQgZnJvbSBBUk4gaXMgdGhlIHNhbWUgdG8gYG9wdGlvbnMuY2xpZW50UGFydGl0aW9uYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQYXJ0aXRpb24gPSAocGFydGl0aW9uOiBzdHJpbmcsIG9wdGlvbnM6IHsgY2xpZW50UGFydGl0aW9uOiBzdHJpbmcgfSkgPT4ge1xuICBpZiAocGFydGl0aW9uICE9PSBvcHRpb25zLmNsaWVudFBhcnRpdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFydGl0aW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCBcIiR7cGFydGl0aW9ufVwiIGJ1dCBleHBlY3RlZCBcIiR7b3B0aW9ucy5jbGllbnRQYXJ0aXRpb259XCJgKTtcbiAgfVxufTtcblxuLyoqXG4gKiB2YWxpZGF0ZSByZWdpb24gdmFsdWUgaW5mZXJyZWQgZnJvbSBBUk4uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgc2V0LCBpdCB2YWxpZGF0ZXMgdGhlIHJlZ2lvbiBpcyBub3QgYSBGSVBTXG4gKiByZWdpb24uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgdW5zZXQsIGl0IHZhbGlkYXRlcyB0aGUgcmVnaW9uIGlzIGVxdWFsIHRvIGBvcHRpb25zLmNsaWVudFJlZ2lvbmAgb3JcbiAqIGBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb25gLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlZ2lvbiA9IChcbiAgcmVnaW9uOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xuICAgIGNsaWVudFJlZ2lvbjogc3RyaW5nO1xuICAgIGNsaWVudFNpZ25pbmdSZWdpb246IHN0cmluZztcbiAgfVxuKSA9PiB7XG4gIGlmIChyZWdpb24gPT09IFwiXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBUk4gcmVnaW9uIGlzIGVtcHR5XCIpO1xuICB9XG4gIGlmIChcbiAgICAhb3B0aW9ucy51c2VBcm5SZWdpb24gJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFJlZ2lvbikgJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb24pXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUmVnaW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCAke3JlZ2lvbn0gYnV0IGV4cGVjdGVkICR7b3B0aW9ucy5jbGllbnRSZWdpb259YCk7XG4gIH1cbiAgaWYgKG9wdGlvbnMudXNlQXJuUmVnaW9uICYmIGlzRmlwc1JlZ2lvbihyZWdpb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBGSVBTIHJlZ2lvblwiKTtcbiAgfVxufTtcblxuY29uc3QgaXNGaXBzUmVnaW9uID0gKHJlZ2lvbjogc3RyaW5nKSA9PiByZWdpb24uc3RhcnRzV2l0aChcImZpcHMtXCIpIHx8IHJlZ2lvbi5lbmRzV2l0aChcIi1maXBzXCIpO1xuXG5jb25zdCBpc0VxdWFsUmVnaW9ucyA9IChyZWdpb25BOiBzdHJpbmcsIHJlZ2lvbkI6IHN0cmluZykgPT5cbiAgcmVnaW9uQSA9PT0gcmVnaW9uQiB8fCBnZXRQc2V1ZG9SZWdpb24ocmVnaW9uQSkgPT09IHJlZ2lvbkIgfHwgcmVnaW9uQSA9PT0gZ2V0UHNldWRvUmVnaW9uKHJlZ2lvbkIpO1xuXG4vKipcbiAqIFZhbGlkYXRlIGFuIGFjY291bnQgSURcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBY2NvdW50SWQgPSAoYWNjb3VudElkOiBzdHJpbmcpID0+IHtcbiAgaWYgKCEvWzAtOV17MTJ9Ly5leGVjKGFjY291bnRJZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBY2Nlc3MgcG9pbnQgQVJOIGFjY291bnRJRCBkb2VzIG5vdCBtYXRjaCByZWdleCAnWzAtOV17MTJ9J1wiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhIGhvc3QgbGFiZWwgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4yLjJcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVETlNIb3N0TGFiZWwgPSAobGFiZWw6IHN0cmluZywgb3B0aW9uczogeyB0bHNDb21wYXRpYmxlPzogYm9vbGVhbiB9ID0geyB0bHNDb21wYXRpYmxlOiB0cnVlIH0pID0+IHtcbiAgLy8gcmVmZXJlbmNlOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMi4yXG4gIGlmIChcbiAgICBsYWJlbC5sZW5ndGggPj0gNjQgfHxcbiAgICAhL15bYS16MC05XVthLXowLTkuLV0rW2EtejAtOV0kLy50ZXN0KGxhYmVsKSB8fFxuICAgIC8oXFxkK1xcLil7M31cXGQrLy50ZXN0KGxhYmVsKSB8fFxuICAgIC9bLi1dezJ9Ly50ZXN0KGxhYmVsKSB8fFxuICAgIChvcHRpb25zPy50bHNDb21wYXRpYmxlICYmIERPVF9QQVRURVJOLnRlc3QobGFiZWwpKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRE5TIGxhYmVsICR7bGFiZWx9YCk7XG4gIH1cbn07XG5cbi8qKlxuICogVmFsaWRhdGUgYW5kIHBhcnNlIGFuIEFjY2VzcyBQb2ludCBBUk4gb3IgT3V0cG9zdHMgQVJOXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBAcGFyYW0gcmVzb3VyY2UgLSBUaGUgcmVzb3VyY2Ugc2VjdGlvbiBvZiBhbiBBUk5cbiAqIEByZXR1cm5zIEFjY2VzcyBQb2ludCBOYW1lIGFuZCBvcHRpb25hbCBPdXRwb3N0IElELlxuICovXG5leHBvcnQgY29uc3QgZ2V0QXJuUmVzb3VyY2VzID0gKFxuICByZXNvdXJjZTogc3RyaW5nXG4pOiB7XG4gIGFjY2Vzc3BvaW50TmFtZTogc3RyaW5nO1xuICBvdXRwb3N0SWQ/OiBzdHJpbmc7XG59ID0+IHtcbiAgY29uc3QgZGVsaW1pdGVyID0gcmVzb3VyY2UuaW5jbHVkZXMoXCI6XCIpID8gXCI6XCIgOiBcIi9cIjtcbiAgY29uc3QgW3Jlc291cmNlVHlwZSwgLi4ucmVzdF0gPSByZXNvdXJjZS5zcGxpdChkZWxpbWl0ZXIpO1xuICBpZiAocmVzb3VyY2VUeXBlID09PSBcImFjY2Vzc3BvaW50XCIpIHtcbiAgICAvLyBQYXJzZSBhY2Nlc3Nwb2ludCBBUk5cbiAgICBpZiAocmVzdC5sZW5ndGggIT09IDEgfHwgcmVzdFswXSA9PT0gXCJcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBY2Nlc3MgUG9pbnQgQVJOIHNob3VsZCBoYXZlIG9uZSByZXNvdXJjZSBhY2Nlc3Nwb2ludCR7ZGVsaW1pdGVyfXthY2Nlc3Nwb2ludG5hbWV9YCk7XG4gICAgfVxuICAgIHJldHVybiB7IGFjY2Vzc3BvaW50TmFtZTogcmVzdFswXSB9O1xuICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gXCJvdXRwb3N0XCIpIHtcbiAgICAvLyBQYXJzZSBvdXRwb3N0IEFSTlxuICAgIGlmICghcmVzdFswXSB8fCByZXN0WzFdICE9PSBcImFjY2Vzc3BvaW50XCIgfHwgIXJlc3RbMl0gfHwgcmVzdC5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE91dHBvc3QgQVJOIHNob3VsZCBoYXZlIHJlc291cmNlIG91dHBvc3Qke2RlbGltaXRlcn17b3V0cG9zdElkfSR7ZGVsaW1pdGVyfWFjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9e2FjY2Vzc3BvaW50TmFtZX1gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBbb3V0cG9zdElkLCBfLCBhY2Nlc3Nwb2ludE5hbWVdID0gcmVzdDtcbiAgICByZXR1cm4geyBvdXRwb3N0SWQsIGFjY2Vzc3BvaW50TmFtZSB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgQVJOIHJlc291cmNlIHNob3VsZCBiZWdpbiB3aXRoICdhY2Nlc3Nwb2ludCR7ZGVsaW1pdGVyfScgb3IgJ291dHBvc3Qke2RlbGltaXRlcn0nYCk7XG4gIH1cbn07XG5cbi8qKlxuICogVGhyb3cgaWYgZHVhbCBzdGFjayBjb25maWd1cmF0aW9uIGlzIHNldCB0byB0cnVlLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU5vRHVhbHN0YWNrID0gKGR1YWxzdGFja0VuZHBvaW50OiBib29sZWFuKSA9PiB7XG4gIGlmIChkdWFsc3RhY2tFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiRHVhbHN0YWNrIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBPdXRwb3N0XCIpO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSByZWdpb24gaXMgbm90IGFwcGVuZGVkIG9yIHByZXBlbmRlZCB3aXRoIGEgYGZpcHMtYFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU5vRklQUyA9IChyZWdpb246IHN0cmluZykgPT4ge1xuICBpZiAoaXNGaXBzUmVnaW9uKHJlZ2lvbiA/PyBcIlwiKSkgdGhyb3cgbmV3IEVycm9yKGBGSVBTIHJlZ2lvbiBpcyBub3Qgc3VwcG9ydGVkIHdpdGggT3V0cG9zdCwgZ290ICR7cmVnaW9ufWApO1xufTtcbiJdfQ==","import { __assign, __read } from \"tslib\";\nimport { DOT_PATTERN, getArnResources, getSuffix, getSuffixForArnEndpoint, isBucketNameOptions, isDnsCompatibleBucketName, validateAccountId, validateArnEndpointOptions, validateDNSHostLabel, validateNoDualstack, validateNoFIPS, validateOutpostService, validatePartition, validateRegion, validateS3Service, validateService, } from \"./bucketHostnameUtils\";\nexport var bucketHostname = function (options) {\n var isCustomEndpoint = options.isCustomEndpoint, baseHostname = options.baseHostname, dualstackEndpoint = options.dualstackEndpoint, accelerateEndpoint = options.accelerateEndpoint;\n if (isCustomEndpoint) {\n if (dualstackEndpoint)\n throw new Error(\"Dualstack endpoint is not supported with custom endpoint\");\n if (accelerateEndpoint)\n throw new Error(\"Accelerate endpoint is not supported with custom endpoint\");\n }\n return isBucketNameOptions(options)\n ? // Construct endpoint when bucketName is a string referring to a bucket name\n getEndpointFromBucketName(__assign(__assign({}, options), { isCustomEndpoint: isCustomEndpoint }))\n : // Construct endpoint when bucketName is an ARN referring to an S3 resource like Access Point\n getEndpointFromArn(__assign(__assign({}, options), { isCustomEndpoint: isCustomEndpoint }));\n};\nvar getEndpointFromArn = function (options) {\n var isCustomEndpoint = options.isCustomEndpoint, baseHostname = options.baseHostname;\n var _a = __read(isCustomEndpoint\n ? [options.clientRegion, baseHostname]\n : // Infer client region and hostname suffix from hostname from endpoints.json, like `s3.us-west-2.amazonaws.com`\n getSuffixForArnEndpoint(baseHostname), 2), clientRegion = _a[0], hostnameSuffix = _a[1];\n var pathStyleEndpoint = options.pathStyleEndpoint, _b = options.dualstackEndpoint, dualstackEndpoint = _b === void 0 ? false : _b, _c = options.accelerateEndpoint, accelerateEndpoint = _c === void 0 ? false : _c, _d = options.tlsCompatible, tlsCompatible = _d === void 0 ? true : _d, useArnRegion = options.useArnRegion, bucketName = options.bucketName, _e = options.clientPartition, clientPartition = _e === void 0 ? \"aws\" : _e, _f = options.clientSigningRegion, clientSigningRegion = _f === void 0 ? clientRegion : _f;\n validateArnEndpointOptions({ pathStyleEndpoint: pathStyleEndpoint, accelerateEndpoint: accelerateEndpoint, tlsCompatible: tlsCompatible });\n // Validate and parse the ARN supplied as a bucket name\n var service = bucketName.service, partition = bucketName.partition, accountId = bucketName.accountId, region = bucketName.region, resource = bucketName.resource;\n validateService(service);\n validatePartition(partition, { clientPartition: clientPartition });\n validateAccountId(accountId);\n validateRegion(region, { useArnRegion: useArnRegion, clientRegion: clientRegion, clientSigningRegion: clientSigningRegion });\n var _g = getArnResources(resource), accesspointName = _g.accesspointName, outpostId = _g.outpostId;\n validateDNSHostLabel(accesspointName + \"-\" + accountId, { tlsCompatible: tlsCompatible });\n var endpointRegion = useArnRegion ? region : clientRegion;\n var signingRegion = useArnRegion ? region : clientSigningRegion;\n if (outpostId) {\n // if this is an Outpost ARN\n validateOutpostService(service);\n validateDNSHostLabel(outpostId, { tlsCompatible: tlsCompatible });\n validateNoDualstack(dualstackEndpoint);\n validateNoFIPS(endpointRegion);\n var hostnamePrefix_1 = accesspointName + \"-\" + accountId + \".\" + outpostId;\n return {\n bucketEndpoint: true,\n hostname: \"\" + hostnamePrefix_1 + (isCustomEndpoint ? \"\" : \".s3-outposts.\" + endpointRegion) + \".\" + hostnameSuffix,\n signingRegion: signingRegion,\n signingService: \"s3-outposts\",\n };\n }\n // construct endpoint from Accesspoint ARN\n validateS3Service(service);\n var hostnamePrefix = accesspointName + \"-\" + accountId;\n return {\n bucketEndpoint: true,\n hostname: \"\" + hostnamePrefix + (isCustomEndpoint ? \"\" : \".s3-accesspoint\" + (dualstackEndpoint ? \".dualstack\" : \"\") + \".\" + endpointRegion) + \".\" + hostnameSuffix,\n signingRegion: signingRegion,\n };\n};\nvar getEndpointFromBucketName = function (_a) {\n var _b = _a.accelerateEndpoint, accelerateEndpoint = _b === void 0 ? false : _b, region = _a.clientRegion, baseHostname = _a.baseHostname, bucketName = _a.bucketName, _c = _a.dualstackEndpoint, dualstackEndpoint = _c === void 0 ? false : _c, _d = _a.pathStyleEndpoint, pathStyleEndpoint = _d === void 0 ? false : _d, _e = _a.tlsCompatible, tlsCompatible = _e === void 0 ? true : _e, _f = _a.isCustomEndpoint, isCustomEndpoint = _f === void 0 ? false : _f;\n var _g = __read(isCustomEndpoint ? [region, baseHostname] : getSuffix(baseHostname), 2), clientRegion = _g[0], hostnameSuffix = _g[1];\n if (pathStyleEndpoint || !isDnsCompatibleBucketName(bucketName) || (tlsCompatible && DOT_PATTERN.test(bucketName))) {\n return {\n bucketEndpoint: false,\n hostname: dualstackEndpoint ? \"s3.dualstack.\" + clientRegion + \".\" + hostnameSuffix : baseHostname,\n };\n }\n if (accelerateEndpoint) {\n baseHostname = \"s3-accelerate\" + (dualstackEndpoint ? \".dualstack\" : \"\") + \".\" + hostnameSuffix;\n }\n else if (dualstackEndpoint) {\n baseHostname = \"s3.dualstack.\" + clientRegion + \".\" + hostnameSuffix;\n }\n return {\n bucketEndpoint: true,\n hostname: bucketName + \".\" + baseHostname,\n };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0SG9zdG5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFTL0IsTUFBTSxDQUFDLElBQU0sY0FBYyxHQUFHLFVBQUMsT0FBaUQ7SUFDdEUsSUFBQSxnQkFBZ0IsR0FBMEQsT0FBTyxpQkFBakUsRUFBRSxZQUFZLEdBQTRDLE9BQU8sYUFBbkQsRUFBRSxpQkFBaUIsR0FBeUIsT0FBTyxrQkFBaEMsRUFBRSxrQkFBa0IsR0FBSyxPQUFPLG1CQUFaLENBQWE7SUFFMUYsSUFBSSxnQkFBZ0IsRUFBRTtRQUNwQixJQUFJLGlCQUFpQjtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUNuRyxJQUFJLGtCQUFrQjtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztLQUN0RztJQUVELE9BQU8sbUJBQW1CLENBQUMsT0FBTyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyw0RUFBNEU7WUFDNUUseUJBQXlCLHVCQUFNLE9BQU8sS0FBRSxnQkFBZ0Isa0JBQUEsSUFBRztRQUM3RCxDQUFDLENBQUMsNkZBQTZGO1lBQzdGLGtCQUFrQix1QkFBTSxPQUFPLEtBQUUsZ0JBQWdCLGtCQUFBLElBQUcsQ0FBQztBQUMzRCxDQUFDLENBQUM7QUFFRixJQUFNLGtCQUFrQixHQUFHLFVBQUMsT0FBMEQ7SUFDNUUsSUFBQSxn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OUYsQ0FBQztLQUNIO0lBRUQsSUFBSSxrQkFBa0IsRUFBRTtRQUN0QixZQUFZLEdBQUcsbUJBQWdCLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBSSxjQUFnQixDQUFDO0tBQzFGO1NBQU0sSUFBSSxpQkFBaUIsRUFBRTtRQUM1QixZQUFZLEdBQUcsa0JBQWdCLFlBQVksU0FBSSxjQUFnQixDQUFDO0tBQ2pFO0lBRUQsT0FBTztRQUNMLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFFBQVEsRUFBSyxVQUFVLFNBQUksWUFBYztLQUMxQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXJuSG9zdG5hbWVQYXJhbXMsXG4gIEJ1Y2tldEhvc3RuYW1lUGFyYW1zLFxuICBET1RfUEFUVEVSTixcbiAgZ2V0QXJuUmVzb3VyY2VzLFxuICBnZXRTdWZmaXgsXG4gIGdldFN1ZmZpeEZvckFybkVuZHBvaW50LFxuICBpc0J1Y2tldE5hbWVPcHRpb25zLFxuICBpc0Ruc0NvbXBhdGlibGVCdWNrZXROYW1lLFxuICB2YWxpZGF0ZUFjY291bnRJZCxcbiAgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMsXG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsLFxuICB2YWxpZGF0ZU5vRHVhbHN0YWNrLFxuICB2YWxpZGF0ZU5vRklQUyxcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZSxcbiAgdmFsaWRhdGVQYXJ0aXRpb24sXG4gIHZhbGlkYXRlUmVnaW9uLFxuICB2YWxpZGF0ZVMzU2VydmljZSxcbiAgdmFsaWRhdGVTZXJ2aWNlLFxufSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVV0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0SG9zdG5hbWUge1xuICBob3N0bmFtZTogc3RyaW5nO1xuICBidWNrZXRFbmRwb2ludDogYm9vbGVhbjtcbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgc2lnbmluZ1NlcnZpY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBidWNrZXRIb3N0bmFtZSA9IChvcHRpb25zOiBCdWNrZXRIb3N0bmFtZVBhcmFtcyB8IEFybkhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCB7IGlzQ3VzdG9tRW5kcG9pbnQsIGJhc2VIb3N0bmFtZSwgZHVhbHN0YWNrRW5kcG9pbnQsIGFjY2VsZXJhdGVFbmRwb2ludCB9ID0gb3B0aW9ucztcblxuICBpZiAoaXNDdXN0b21FbmRwb2ludCkge1xuICAgIGlmIChkdWFsc3RhY2tFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiRHVhbHN0YWNrIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjdXN0b20gZW5kcG9pbnRcIik7XG4gICAgaWYgKGFjY2VsZXJhdGVFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiQWNjZWxlcmF0ZSBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY3VzdG9tIGVuZHBvaW50XCIpO1xuICB9XG5cbiAgcmV0dXJuIGlzQnVja2V0TmFtZU9wdGlvbnMob3B0aW9ucylcbiAgICA/IC8vIENvbnN0cnVjdCBlbmRwb2ludCB3aGVuIGJ1Y2tldE5hbWUgaXMgYSBzdHJpbmcgcmVmZXJyaW5nIHRvIGEgYnVja2V0IG5hbWVcbiAgICAgIGdldEVuZHBvaW50RnJvbUJ1Y2tldE5hbWUoeyAuLi5vcHRpb25zLCBpc0N1c3RvbUVuZHBvaW50IH0pXG4gICAgOiAvLyBDb25zdHJ1Y3QgZW5kcG9pbnQgd2hlbiBidWNrZXROYW1lIGlzIGFuIEFSTiByZWZlcnJpbmcgdG8gYW4gUzMgcmVzb3VyY2UgbGlrZSBBY2Nlc3MgUG9pbnRcbiAgICAgIGdldEVuZHBvaW50RnJvbUFybih7IC4uLm9wdGlvbnMsIGlzQ3VzdG9tRW5kcG9pbnQgfSk7XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21Bcm4gPSAob3B0aW9uczogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW4gfSk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgY29uc3QgeyBpc0N1c3RvbUVuZHBvaW50LCBiYXNlSG9zdG5hbWUgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IFtjbGllbnRSZWdpb24sIGhvc3RuYW1lU3VmZml4XSA9IGlzQ3VzdG9tRW5kcG9pbnRcbiAgICA/IFtvcHRpb25zLmNsaWVudFJlZ2lvbiwgYmFzZUhvc3RuYW1lXVxuICAgIDogLy8gSW5mZXIgY2xpZW50IHJlZ2lvbiBhbmQgaG9zdG5hbWUgc3VmZml4IGZyb20gaG9zdG5hbWUgZnJvbSBlbmRwb2ludHMuanNvbiwgbGlrZSBgczMudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21gXG4gICAgICBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludChiYXNlSG9zdG5hbWUpO1xuXG4gIGNvbnN0IHtcbiAgICBwYXRoU3R5bGVFbmRwb2ludCxcbiAgICBkdWFsc3RhY2tFbmRwb2ludCA9IGZhbHNlLFxuICAgIGFjY2VsZXJhdGVFbmRwb2ludCA9IGZhbHNlLFxuICAgIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICAgIHVzZUFyblJlZ2lvbixcbiAgICBidWNrZXROYW1lLFxuICAgIGNsaWVudFBhcnRpdGlvbiA9IFwiYXdzXCIsXG4gICAgY2xpZW50U2lnbmluZ1JlZ2lvbiA9IGNsaWVudFJlZ2lvbixcbiAgfSA9IG9wdGlvbnM7XG5cbiAgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMoeyBwYXRoU3R5bGVFbmRwb2ludCwgYWNjZWxlcmF0ZUVuZHBvaW50LCB0bHNDb21wYXRpYmxlIH0pO1xuXG4gIC8vIFZhbGlkYXRlIGFuZCBwYXJzZSB0aGUgQVJOIHN1cHBsaWVkIGFzIGEgYnVja2V0IG5hbWVcbiAgY29uc3QgeyBzZXJ2aWNlLCBwYXJ0aXRpb24sIGFjY291bnRJZCwgcmVnaW9uLCByZXNvdXJjZSB9ID0gYnVja2V0TmFtZTtcbiAgdmFsaWRhdGVTZXJ2aWNlKHNlcnZpY2UpO1xuICB2YWxpZGF0ZVBhcnRpdGlvbihwYXJ0aXRpb24sIHsgY2xpZW50UGFydGl0aW9uIH0pO1xuICB2YWxpZGF0ZUFjY291bnRJZChhY2NvdW50SWQpO1xuICB2YWxpZGF0ZVJlZ2lvbihyZWdpb24sIHsgdXNlQXJuUmVnaW9uLCBjbGllbnRSZWdpb24sIGNsaWVudFNpZ25pbmdSZWdpb24gfSk7XG4gIGNvbnN0IHsgYWNjZXNzcG9pbnROYW1lLCBvdXRwb3N0SWQgfSA9IGdldEFyblJlc291cmNlcyhyZXNvdXJjZSk7XG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsKGAke2FjY2Vzc3BvaW50TmFtZX0tJHthY2NvdW50SWR9YCwgeyB0bHNDb21wYXRpYmxlIH0pO1xuXG4gIGNvbnN0IGVuZHBvaW50UmVnaW9uID0gdXNlQXJuUmVnaW9uID8gcmVnaW9uIDogY2xpZW50UmVnaW9uO1xuICBjb25zdCBzaWduaW5nUmVnaW9uID0gdXNlQXJuUmVnaW9uID8gcmVnaW9uIDogY2xpZW50U2lnbmluZ1JlZ2lvbjtcbiAgaWYgKG91dHBvc3RJZCkge1xuICAgIC8vIGlmIHRoaXMgaXMgYW4gT3V0cG9zdCBBUk5cbiAgICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlKHNlcnZpY2UpO1xuICAgIHZhbGlkYXRlRE5TSG9zdExhYmVsKG91dHBvc3RJZCwgeyB0bHNDb21wYXRpYmxlIH0pO1xuICAgIHZhbGlkYXRlTm9EdWFsc3RhY2soZHVhbHN0YWNrRW5kcG9pbnQpO1xuICAgIHZhbGlkYXRlTm9GSVBTKGVuZHBvaW50UmVnaW9uKTtcbiAgICBjb25zdCBob3N0bmFtZVByZWZpeCA9IGAke2FjY2Vzc3BvaW50TmFtZX0tJHthY2NvdW50SWR9LiR7b3V0cG9zdElkfWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgICAgaG9zdG5hbWU6IGAke2hvc3RuYW1lUHJlZml4fSR7aXNDdXN0b21FbmRwb2ludCA/IFwiXCIgOiBgLnMzLW91dHBvc3RzLiR7ZW5kcG9pbnRSZWdpb259YH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgICAgc2lnbmluZ1JlZ2lvbixcbiAgICAgIHNpZ25pbmdTZXJ2aWNlOiBcInMzLW91dHBvc3RzXCIsXG4gICAgfTtcbiAgfVxuICAvLyBjb25zdHJ1Y3QgZW5kcG9pbnQgZnJvbSBBY2Nlc3Nwb2ludCBBUk5cbiAgdmFsaWRhdGVTM1NlcnZpY2Uoc2VydmljZSk7XG4gIGNvbnN0IGhvc3RuYW1lUHJlZml4ID0gYCR7YWNjZXNzcG9pbnROYW1lfS0ke2FjY291bnRJZH1gO1xuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtob3N0bmFtZVByZWZpeH0ke1xuICAgICAgaXNDdXN0b21FbmRwb2ludCA/IFwiXCIgOiBgLnMzLWFjY2Vzc3BvaW50JHtkdWFsc3RhY2tFbmRwb2ludCA/IFwiLmR1YWxzdGFja1wiIDogXCJcIn0uJHtlbmRwb2ludFJlZ2lvbn1gXG4gICAgfS4ke2hvc3RuYW1lU3VmZml4fWAsXG4gICAgc2lnbmluZ1JlZ2lvbixcbiAgfTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbUJ1Y2tldE5hbWUgPSAoe1xuICBhY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgY2xpZW50UmVnaW9uOiByZWdpb24sXG4gIGJhc2VIb3N0bmFtZSxcbiAgYnVja2V0TmFtZSxcbiAgZHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgcGF0aFN0eWxlRW5kcG9pbnQgPSBmYWxzZSxcbiAgdGxzQ29tcGF0aWJsZSA9IHRydWUsXG4gIGlzQ3VzdG9tRW5kcG9pbnQgPSBmYWxzZSxcbn06IEJ1Y2tldEhvc3RuYW1lUGFyYW1zICYgeyBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuIH0pOiBCdWNrZXRIb3N0bmFtZSA9PiB7XG4gIGNvbnN0IFtjbGllbnRSZWdpb24sIGhvc3RuYW1lU3VmZml4XSA9IGlzQ3VzdG9tRW5kcG9pbnQgPyBbcmVnaW9uLCBiYXNlSG9zdG5hbWVdIDogZ2V0U3VmZml4KGJhc2VIb3N0bmFtZSk7XG4gIGlmIChwYXRoU3R5bGVFbmRwb2ludCB8fCAhaXNEbnNDb21wYXRpYmxlQnVja2V0TmFtZShidWNrZXROYW1lKSB8fCAodGxzQ29tcGF0aWJsZSAmJiBET1RfUEFUVEVSTi50ZXN0KGJ1Y2tldE5hbWUpKSkge1xuICAgIHJldHVybiB7XG4gICAgICBidWNrZXRFbmRwb2ludDogZmFsc2UsXG4gICAgICBob3N0bmFtZTogZHVhbHN0YWNrRW5kcG9pbnQgPyBgczMuZHVhbHN0YWNrLiR7Y2xpZW50UmVnaW9ufS4ke2hvc3RuYW1lU3VmZml4fWAgOiBiYXNlSG9zdG5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChhY2NlbGVyYXRlRW5kcG9pbnQpIHtcbiAgICBiYXNlSG9zdG5hbWUgPSBgczMtYWNjZWxlcmF0ZSR7ZHVhbHN0YWNrRW5kcG9pbnQgPyBcIi5kdWFsc3RhY2tcIiA6IFwiXCJ9LiR7aG9zdG5hbWVTdWZmaXh9YDtcbiAgfSBlbHNlIGlmIChkdWFsc3RhY2tFbmRwb2ludCkge1xuICAgIGJhc2VIb3N0bmFtZSA9IGBzMy5kdWFsc3RhY2suJHtjbGllbnRSZWdpb259LiR7aG9zdG5hbWVTdWZmaXh9YDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVja2V0RW5kcG9pbnQ6IHRydWUsXG4gICAgaG9zdG5hbWU6IGAke2J1Y2tldE5hbWV9LiR7YmFzZUhvc3RuYW1lfWAsXG4gIH07XG59O1xuIl19","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { parse as parseArn, validate as validateArn } from \"@aws-sdk/util-arn-parser\";\nimport { bucketHostname } from \"./bucketHostname\";\nimport { getPseudoRegion } from \"./bucketHostnameUtils\";\nexport var bucketEndpointMiddleware = function (options) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var bucketName, replaceBucketInPath, request, bucketArn, clientRegion, _a, _b, partition, _c, signingRegion, useArnRegion, _d, hostname, bucketEndpoint, modifiedSigningRegion, signingService, clientRegion, _e, _f, hostname, bucketEndpoint;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n bucketName = args.input.Bucket;\n replaceBucketInPath = options.bucketEndpoint;\n request = args.request;\n if (!HttpRequest.isInstance(request)) return [3 /*break*/, 8];\n if (!options.bucketEndpoint) return [3 /*break*/, 1];\n request.hostname = bucketName;\n return [3 /*break*/, 7];\n case 1:\n if (!validateArn(bucketName)) return [3 /*break*/, 5];\n bucketArn = parseArn(bucketName);\n _a = getPseudoRegion;\n return [4 /*yield*/, options.region()];\n case 2:\n clientRegion = _a.apply(void 0, [_g.sent()]);\n return [4 /*yield*/, options.regionInfoProvider(clientRegion)];\n case 3:\n _b = (_g.sent()) || {}, partition = _b.partition, _c = _b.signingRegion, signingRegion = _c === void 0 ? clientRegion : _c;\n return [4 /*yield*/, options.useArnRegion()];\n case 4:\n useArnRegion = _g.sent();\n _d = bucketHostname({\n bucketName: bucketArn,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint: options.useDualstackEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n useArnRegion: useArnRegion,\n clientPartition: partition,\n clientSigningRegion: signingRegion,\n clientRegion: clientRegion,\n isCustomEndpoint: options.isCustomEndpoint,\n }), hostname = _d.hostname, bucketEndpoint = _d.bucketEndpoint, modifiedSigningRegion = _d.signingRegion, signingService = _d.signingService;\n // If the request needs to use a region or service name inferred from ARN that different from client region, we\n // need to set them in the handler context so the signer will use them\n if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) {\n context[\"signing_region\"] = modifiedSigningRegion;\n }\n if (signingService && signingService !== \"s3\") {\n context[\"signing_service\"] = signingService;\n }\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n return [3 /*break*/, 7];\n case 5:\n _e = getPseudoRegion;\n return [4 /*yield*/, options.region()];\n case 6:\n clientRegion = _e.apply(void 0, [_g.sent()]);\n _f = bucketHostname({\n bucketName: bucketName,\n clientRegion: clientRegion,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint: options.useDualstackEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n isCustomEndpoint: options.isCustomEndpoint,\n }), hostname = _f.hostname, bucketEndpoint = _f.bucketEndpoint;\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n _g.label = 7;\n case 7:\n if (replaceBucketInPath) {\n request.path = request.path.replace(/^(\\/)?[^\\/]+/, \"\");\n if (request.path === \"\") {\n request.path = \"/\";\n }\n }\n _g.label = 8;\n case 8: return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n }\n });\n}); }; }; };\nexport var bucketEndpointMiddlewareOptions = {\n tags: [\"BUCKET_ENDPOINT\"],\n name: \"bucketEndpointMiddleware\",\n relation: \"before\",\n toMiddleware: \"hostHeaderMiddleware\",\n override: true,\n};\nexport var getBucketEndpointPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1Y2tldEVuZHBvaW50TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBV3JELE9BQU8sRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLFFBQVEsSUFBSSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE1BQU0sQ0FBQyxJQUFNLHdCQUF3QixHQUFHLFVBQUMsT0FBcUMsSUFBZ0MsT0FBQSxVQUc1RyxJQUErQixFQUMvQixPQUFnQyxJQUNGLE9BQUEsVUFBTyxJQUFnQzs7Ozs7Z0JBQ3JELFVBQVUsR0FBSyxJQUFJLENBQUMsS0FBMkIsT0FBckMsQ0FBc0M7Z0JBQzVELG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7Z0JBQzNDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUN6QixXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUEvQix3QkFBK0I7cUJBQzdCLE9BQU8sQ0FBQyxjQUFjLEVBQXRCLHdCQUFzQjtnQkFDeEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7OztxQkFDckIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUF2Qix3QkFBdUI7Z0JBQzFCLFNBQVMsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2xCLEtBQUEsZUFBZSxDQUFBO2dCQUFDLHFCQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBQTs7Z0JBQXJELFlBQVksR0FBRyxrQkFBZ0IsU0FBc0IsRUFBQztnQkFDUCxxQkFBTSxPQUFPLENBQUMsa0JBQWtCLENB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cEMsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sdUJBQXVCLEdBQUcsVUFBQyxPQUFxQyxJQUEwQixPQUFBLENBQUM7SUFDdEcsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxFQUFFLCtCQUErQixDQUFDLENBQUM7SUFDaEcsQ0FBQztDQUNGLENBQUMsRUFKcUcsQ0FJckcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEJ1aWxkSGFuZGxlcixcbiAgQnVpbGRIYW5kbGVyQXJndW1lbnRzLFxuICBCdWlsZEhhbmRsZXJPdXRwdXQsXG4gIEJ1aWxkTWlkZGxld2FyZSxcbiAgSGFuZGxlckV4ZWN1dGlvbkNvbnRleHQsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBQbHVnZ2FibGUsXG4gIFJlbGF0aXZlTWlkZGxld2FyZU9wdGlvbnMsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VBcm4sIHZhbGlkYXRlIGFzIHZhbGlkYXRlQXJuIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtYXJuLXBhcnNlclwiO1xuXG5pbXBvcnQgeyBidWNrZXRIb3N0bmFtZSB9IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lXCI7XG5pbXBvcnQgeyBnZXRQc2V1ZG9SZWdpb24gfSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVV0aWxzXCI7XG5pbXBvcnQgeyBCdWNrZXRFbmRwb2ludFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcblxuZXhwb3J0IGNvbnN0IGJ1Y2tldEVuZHBvaW50TWlkZGxld2FyZSA9IChvcHRpb25zOiBCdWNrZXRFbmRwb2ludFJlc29sdmVkQ29uZmlnKTogQnVpbGRNaWRkbGV3YXJlPGFueSwgYW55PiA9PiA8XG4gIE91dHB1dCBleHRlbmRzIE1ldGFkYXRhQmVhcmVyXG4+KFxuICBuZXh0OiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+LFxuICBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dFxuKTogQnVpbGRIYW5kbGVyPGFueSwgT3V0cHV0PiA9PiBhc3luYyAoYXJnczogQnVpbGRIYW5kbGVyQXJndW1lbnRzPGFueT4pOiBQcm9taXNlPEJ1aWxkSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gIGNvbnN0IHsgQnVja2V0OiBidWNrZXROYW1lIH0gPSBhcmdzLmlucHV0IGFzIHsgQnVja2V0OiBzdHJpbmcgfTtcbiAgbGV0IHJlcGxhY2VCdWNrZXRJblBhdGggPSBvcHRpb25zLmJ1Y2tldEVuZHBvaW50O1xuICBjb25zdCByZXF1ZXN0ID0gYXJncy5yZXF1ZXN0O1xuICBpZiAoSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgIGlmIChvcHRpb25zLmJ1Y2tldEVuZHBvaW50KSB7XG4gICAgICByZXF1ZXN0Lmhvc3RuYW1lID0gYnVja2V0TmFtZTtcbiAgICB9IGVsc2UgaWYgKHZhbGlkYXRlQXJuKGJ1Y2tldE5hbWUpKSB7XG4gICAgICBjb25zdCBidWNrZXRBcm4gPSBwYXJzZUFybihidWNrZXROYW1lKTtcbiAgICAgIGNvbnN0IGNsaWVudFJlZ2lvbiA9IGdldFBzZXVkb1JlZ2lvbihhd2FpdCBvcHRpb25zLnJlZ2lvbigpKTtcbiAgICAgIGNvbnN0IHsgcGFydGl0aW9uLCBzaWduaW5nUmVnaW9uID0gY2xpZW50UmVnaW9uIH0gPSAoYXdhaXQgb3B0aW9ucy5yZWdpb25JbmZvUHJvdmlkZXIoY2xpZW50UmVnaW9uKSkgfHwge307XG4gICAgICBjb25zdCB1c2VBcm5SZWdpb24gPSBhd2FpdCBvcHRpb25zLnVzZUFyblJlZ2lvbigpO1xuICAgICAgY29uc3QgeyBob3N0bmFtZSwgYnVja2V0RW5kcG9pbnQsIHNpZ25pbmdSZWdpb246IG1vZGlmaWVkU2lnbmluZ1JlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSA9IGJ1Y2tldEhvc3RuYW1lKHtcbiAgICAgICAgYnVja2V0TmFtZTogYnVja2V0QXJuLFxuICAgICAgICBiYXNlSG9zdG5hbWU6IHJlcXVlc3QuaG9zdG5hbWUsXG4gICAgICAgIGFjY2VsZXJhdGVFbmRwb2ludDogb3B0aW9ucy51c2VBY2NlbGVyYXRlRW5kcG9pbnQsXG4gICAgICAgIGR1YWxzdGFja0VuZHBvaW50OiBvcHRpb25zLnVzZUR1YWxzdGFja0VuZHBvaW50LFxuICAgICAgICBwYXRoU3R5bGVFbmRwb2ludDogb3B0aW9ucy5mb3JjZVBhdGhTdHlsZSxcbiAgICAgICAgdGxzQ29tcGF0aWJsZTogcmVxdWVzdC5wcm90b2NvbCA9PT0gXCJodHRwczpcIixcbiAgICAgICAgdXNlQXJuUmVnaW9uLFxuICAgICAgICBjbGllbnRQYXJ0aXRpb246IHBhcnRpdGlvbixcbiAgICAgICAgY2xpZW50U2lnbmluZ1JlZ2lvbjogc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgY2xpZW50UmVnaW9uOiBjbGllbnRSZWdpb24sXG4gICAgICAgIGlzQ3VzdG9tRW5kcG9pbnQ6IG9wdGlvbnMuaXNDdXN0b21FbmRwb2ludCxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBJZiB0aGUgcmVxdWVzdCBuZWVkcyB0byB1c2UgYSByZWdpb24gb3Igc2VydmljZSBuYW1lIGluZmVycmVkIGZyb20gQVJOIHRoYXQgZGlmZmVyZW50IGZyb20gY2xpZW50IHJlZ2lvbiwgd2VcbiAgICAgIC8vIG5lZWQgdG8gc2V0IHRoZW0gaW4gdGhlIGhhbmRsZXIgY29udGV4dCBzbyB0aGUgc2lnbmVyIHdpbGwgdXNlIHRoZW1cbiAgICAgIGlmIChtb2RpZmllZFNpZ25pbmdSZWdpb24gJiYgbW9kaWZpZWRTaWduaW5nUmVnaW9uICE9PSBzaWduaW5nUmVnaW9uKSB7XG4gICAgICAgIGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSA9IG1vZGlmaWVkU2lnbmluZ1JlZ2lvbjtcbiAgICAgIH1cbiAgICAgIGlmIChzaWduaW5nU2VydmljZSAmJiBzaWduaW5nU2VydmljZSAhPT0gXCJzM1wiKSB7XG4gICAgICAgIGNvbnRleHRbXCJzaWduaW5nX3NlcnZpY2VcIl0gPSBzaWduaW5nU2VydmljZTtcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuICAgICAgcmVwbGFjZUJ1Y2tldEluUGF0aCA9IGJ1Y2tldEVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGllbnRSZWdpb24gPSBnZXRQc2V1ZG9SZWdpb24oYXdhaXQgb3B0aW9ucy5yZWdpb24oKSk7XG4gICAgICBjb25zdCB7IGhvc3RuYW1lLCBidWNrZXRFbmRwb2ludCB9ID0gYnVja2V0SG9zdG5hbWUoe1xuICAgICAgICBidWNrZXROYW1lLFxuICAgICAgICBjbGllbnRSZWdpb24sXG4gICAgICAgIGJhc2VIb3N0bmFtZTogcmVxdWVzdC5ob3N0bmFtZSxcbiAgICAgICAgYWNjZWxlcmF0ZUVuZHBvaW50OiBvcHRpb25zLnVzZUFjY2VsZXJhdGVFbmRwb2ludCxcbiAgICAgICAgZHVhbHN0YWNrRW5kcG9pbnQ6IG9wdGlvbnMudXNlRHVhbHN0YWNrRW5kcG9pbnQsXG4gICAgICAgIHBhdGhTdHlsZUVuZHBvaW50OiBvcHRpb25zLmZvcmNlUGF0aFN0eWxlLFxuICAgICAgICB0bHNDb21wYXRpYmxlOiByZXF1ZXN0LnByb3RvY29sID09PSBcImh0dHBzOlwiLFxuICAgICAgICBpc0N1c3RvbUVuZHBvaW50OiBvcHRpb25zLmlzQ3VzdG9tRW5kcG9pbnQsXG4gICAgICB9KTtcblxuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuICAgICAgcmVwbGFjZUJ1Y2tldEluUGF0aCA9IGJ1Y2tldEVuZHBvaW50O1xuICAgIH1cblxuICAgIGlmIChyZXBsYWNlQnVja2V0SW5QYXRoKSB7XG4gICAgICByZXF1ZXN0LnBhdGggPSByZXF1ZXN0LnBhdGgucmVwbGFjZSgvXihcXC8pP1teXFwvXSsvLCBcIlwiKTtcbiAgICAgIGlmIChyZXF1ZXN0LnBhdGggPT09IFwiXCIpIHtcbiAgICAgICAgcmVxdWVzdC5wYXRoID0gXCIvXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHQoeyAuLi5hcmdzLCByZXF1ZXN0IH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1Y2tldEVuZHBvaW50TWlkZGxld2FyZU9wdGlvbnM6IFJlbGF0aXZlTWlkZGxld2FyZU9wdGlvbnMgPSB7XG4gIHRhZ3M6IFtcIkJVQ0tFVF9FTkRQT0lOVFwiXSxcbiAgbmFtZTogXCJidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVcIixcbiAgcmVsYXRpb246IFwiYmVmb3JlXCIsXG4gIHRvTWlkZGxld2FyZTogXCJob3N0SGVhZGVyTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRCdWNrZXRFbmRwb2ludFBsdWdpbiA9IChvcHRpb25zOiBCdWNrZXRFbmRwb2ludFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZFJlbGF0aXZlVG8oYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlKG9wdGlvbnMpLCBidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19","import { __assign } from \"tslib\";\nexport function resolveBucketEndpointConfig(input) {\n var _a = input.bucketEndpoint, bucketEndpoint = _a === void 0 ? false : _a, _b = input.forcePathStyle, forcePathStyle = _b === void 0 ? false : _b, _c = input.useAccelerateEndpoint, useAccelerateEndpoint = _c === void 0 ? false : _c, _d = input.useDualstackEndpoint, useDualstackEndpoint = _d === void 0 ? false : _d, _e = input.useArnRegion, useArnRegion = _e === void 0 ? false : _e;\n return __assign(__assign({}, input), { bucketEndpoint: bucketEndpoint,\n forcePathStyle: forcePathStyle,\n useAccelerateEndpoint: useAccelerateEndpoint,\n useDualstackEndpoint: useDualstackEndpoint, useArnRegion: typeof useArnRegion === \"function\" ? useArnRegion : function () { return Promise.resolve(useArnRegion); } });\n}\nexport var NODE_USE_ARN_REGION_ENV_NAME = \"AWS_S3_USE_ARN_REGION\";\nexport var NODE_USE_ARN_REGION_INI_NAME = \"s3_use_arn_region\";\n/**\n * Config to load useArnRegion from environment variables and shared INI files\n *\n * @api private\n */\nexport var NODE_USE_ARN_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) {\n if (!Object.prototype.hasOwnProperty.call(env, NODE_USE_ARN_REGION_ENV_NAME))\n return undefined;\n if (env[NODE_USE_ARN_REGION_ENV_NAME] === \"true\")\n return true;\n if (env[NODE_USE_ARN_REGION_ENV_NAME] === \"false\")\n return false;\n throw new Error(\"Cannot load env \" + NODE_USE_ARN_REGION_ENV_NAME + \". Expected \\\"true\\\" or \\\"false\\\", got \" + env[NODE_USE_ARN_REGION_ENV_NAME] + \".\");\n },\n configFileSelector: function (profile) {\n if (!Object.prototype.hasOwnProperty.call(profile, NODE_USE_ARN_REGION_INI_NAME))\n return undefined;\n if (profile[NODE_USE_ARN_REGION_INI_NAME] === \"true\")\n return true;\n if (profile[NODE_USE_ARN_REGION_INI_NAME] === \"false\")\n return false;\n throw new Error(\"Cannot load shared config entry \" + NODE_USE_ARN_REGION_INI_NAME + \". Expected \\\"true\\\" or \\\"false\\\", got \" + profile[NODE_USE_ARN_REGION_INI_NAME] + \".\");\n },\n default: false,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQTJDQSxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLEtBQXlEO0lBR3ZELElBQUEsS0FLRSxLQUFLLGVBTGUsRUFBdEIsY0FBYyxtQkFBRyxLQUFLLEtBQUEsRUFDdEIsS0FJRSxLQUFLLGVBSmUsRUFBdEIsY0FBYyxtQkFBRyxLQUFLLEtBQUEsRUFDdEIsS0FHRSxLQUFLLHNCQUhzQixFQUE3QixxQkFBcUIsbUJBQUcsS0FBSyxLQUFBLEVBQzdCLEtBRUUsS0FBSyxxQkFGcUIsRUFBNUIsb0JBQW9CLG1CQUFHLEtBQUssS0FBQSxFQUM1QixLQUNFLEtBQUssYUFEYSxFQUFwQixZQUFZLG1CQUFHLEtBQUssS0FBQSxDQUNaO0lBQ1YsNkJBQ0ssS0FBSyxLQUNSLGNBQWMsZ0JBQUE7UUFDZCxjQUFjLGdCQUFBO1FBQ2QscUJBQXFCLHVCQUFBO1FBQ3JCLG9CQUFvQixzQkFBQSxFQUNwQixZQUFZLEVBQUUsT0FBTyxZQUFZLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUE3QixDQUE2QixJQUNyRztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSw0QkFBNEIsR0FBRyx1QkFBdUIsQ0FBQztBQUNwRSxNQUFNLENBQUMsSUFBTSw0QkFBNEIsR0FBRyxtQkFBbUIsQ0FBQztBQUVoRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLElBQU0sa0NBQWtDLEdBQW1DO0lBQ2hGLDJCQUEyQixFQUFFLFVBQUMsR0FBc0I7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMvRixJQUFJLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUM5RCxJQUFJLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNoRSxNQUFNLElBQUksS0FBSyxDQUNiLHFCQUFtQiw0QkFBNEIsOENBQXFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxNQUFHLENBQ3pILENBQUM7SUFDSixDQUFDO0lBQ0Qsa0JBQWtCLEVBQUUsVUFBQyxPQUFPO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLDRCQUE0QixDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDbkcsSUFBSSxPQUFPLENBQUMsNEJBQTRCLENBQUMsS0FBSyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsNEJBQTRCLENBQUMsS0FBSyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FDYixxQ0FBbUMsNEJBQTRCLDhDQUFxQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsTUFBRyxDQUM3SSxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvYWRlZENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gXCJAYXdzLXNkay9ub2RlLWNvbmZpZy1wcm92aWRlclwiO1xuaW1wb3J0IHsgUHJvdmlkZXIsIFJlZ2lvbkluZm9Qcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcHJvdmlkZWQgZW5kcG9pbnQgYWRkcmVzc2VzIGFuIGluZGl2aWR1YWwgYnVja2V0LlxuICAgKi9cbiAgYnVja2V0RW5kcG9pbnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBmb3JjZSBwYXRoIHN0eWxlIFVSTHMgZm9yIFMzIG9iamVjdHMgKGUuZy4sIGh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS88YnVja2V0TmFtZT4vPGtleT4gaW5zdGVhZCBvZiBodHRwczovLzxidWNrZXROYW1lPi5zMy5hbWF6b25hd3MuY29tLzxrZXk+XG4gICAqL1xuICBmb3JjZVBhdGhTdHlsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgUzMgVHJhbnNmZXIgQWNjZWxlcmF0aW9uIGVuZHBvaW50IGJ5IGRlZmF1bHRcbiAgICovXG4gIHVzZUFjY2VsZXJhdGVFbmRwb2ludD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGVzIElQdjYvSVB2NCBkdWFsc3RhY2sgZW5kcG9pbnQuIFdoZW4gYSBETlMgbG9va3VwIGlzIHBlcmZvcm1lZCBvbiBhbiBlbmRwb2ludCBvZiB0aGlzIHR5cGUsIGl0IHJldHVybnMgYW4g4oCcQeKAnSByZWNvcmQgd2l0aCBhbiBJUHY0IGFkZHJlc3MgYW5kIGFuIOKAnEFBQUHigJ0gcmVjb3JkIHdpdGggYW4gSVB2NiBhZGRyZXNzLiBJbiBtb3N0IGNhc2VzIHRoZSBuZXR3b3JrIHN0YWNrIGluIHRoZSBjbGllbnQgZW52aXJvbm1lbnQgd2lsbCBhdXRvbWF0aWNhbGx5IHByZWZlciB0aGUgQUFBQSByZWNvcmQgYW5kIG1ha2UgYSBjb25uZWN0aW9uIHVzaW5nIHRoZSBJUHY2IGFkZHJlc3MuIE5vdGUsIGhvd2V2ZXIsIHRoYXQgY3VycmVudGx5IG9uIFdpbmRvd3MsIHRoZSBJUHY0IGFkZHJlc3Mgd2lsbCBiZSBwcmVmZXJyZWQuXG4gICAqL1xuICB1c2VEdWFsc3RhY2tFbmRwb2ludD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG92ZXJyaWRlIHRoZSByZXF1ZXN0IHJlZ2lvbiB3aXRoIHRoZSByZWdpb24gaW5mZXJyZWQgZnJvbSByZXF1ZXN0ZWQgcmVzb3VyY2UncyBBUk4uIERlZmF1bHRzIHRvIGZhbHNlXG4gICAqL1xuICB1c2VBcm5SZWdpb24/OiBib29sZWFuIHwgUHJvdmlkZXI8Ym9vbGVhbj47XG59XG5cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuO1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG4gIHJlZ2lvbkluZm9Qcm92aWRlcjogUmVnaW9uSW5mb1Byb3ZpZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcge1xuICBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuO1xuICBidWNrZXRFbmRwb2ludDogYm9vbGVhbjtcbiAgZm9yY2VQYXRoU3R5bGU6IGJvb2xlYW47XG4gIHVzZUFjY2VsZXJhdGVFbmRwb2ludDogYm9vbGVhbjtcbiAgdXNlRHVhbHN0YWNrRW5kcG9pbnQ6IGJvb2xlYW47XG4gIHVzZUFyblJlZ2lvbjogUHJvdmlkZXI8Ym9vbGVhbj47XG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQnVja2V0RW5kcG9pbnRDb25maWc8VD4oXG4gIGlucHV0OiBUICYgUHJldmlvdXNseVJlc29sdmVkICYgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZ1xuKTogVCAmIEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcge1xuICBjb25zdCB7XG4gICAgYnVja2V0RW5kcG9pbnQgPSBmYWxzZSxcbiAgICBmb3JjZVBhdGhTdHlsZSA9IGZhbHNlLFxuICAgIHVzZUFjY2VsZXJhdGVFbmRwb2ludCA9IGZhbHNlLFxuICAgIHVzZUR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gICAgdXNlQXJuUmVnaW9uID0gZmFsc2UsXG4gIH0gPSBpbnB1dDtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBidWNrZXRFbmRwb2ludCxcbiAgICBmb3JjZVBhdGhTdHlsZSxcbiAgICB1c2VBY2NlbGVyYXRlRW5kcG9pbnQsXG4gICAgdXNlRHVhbHN0YWNrRW5kcG9pbnQsXG4gICAgdXNlQXJuUmVnaW9uOiB0eXBlb2YgdXNlQXJuUmVnaW9uID09PSBcImZ1bmN0aW9uXCIgPyB1c2VBcm5SZWdpb24gOiAoKSA9PiBQcm9taXNlLnJlc29sdmUodXNlQXJuUmVnaW9uKSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IE5PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUUgPSBcIkFXU19TM19VU0VfQVJOX1JFR0lPTlwiO1xuZXhwb3J0IGNvbnN0IE5PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUUgPSBcInMzX3VzZV9hcm5fcmVnaW9uXCI7XG5cbi8qKlxuICogQ29uZmlnIHRvIGxvYWQgdXNlQXJuUmVnaW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZCBzaGFyZWQgSU5JIGZpbGVzXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cbmV4cG9ydCBjb25zdCBOT0RFX1VTRV9BUk5fUkVHSU9OX0NPTkZJR19PUFRJT05TOiBMb2FkZWRDb25maWdTZWxlY3RvcnM8Ym9vbGVhbj4gPSB7XG4gIGVudmlyb25tZW50VmFyaWFibGVTZWxlY3RvcjogKGVudjogTm9kZUpTLlByb2Nlc3NFbnYpID0+IHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnYsIE5PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChlbnZbTk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRV0gPT09IFwidHJ1ZVwiKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZW52W05PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUVdID09PSBcImZhbHNlXCIpIHJldHVybiBmYWxzZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IGxvYWQgZW52ICR7Tk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRX0uIEV4cGVjdGVkIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiwgZ290ICR7ZW52W05PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUVdfS5gXG4gICAgKTtcbiAgfSxcbiAgY29uZmlnRmlsZVNlbGVjdG9yOiAocHJvZmlsZSkgPT4ge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb2ZpbGUsIE5PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9maWxlW05PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUVdID09PSBcInRydWVcIikgcmV0dXJuIHRydWU7XG4gICAgaWYgKHByb2ZpbGVbTk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRV0gPT09IFwiZmFsc2VcIikgcmV0dXJuIGZhbHNlO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBDYW5ub3QgbG9hZCBzaGFyZWQgY29uZmlnIGVudHJ5ICR7Tk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRX0uIEV4cGVjdGVkIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiwgZ290ICR7cHJvZmlsZVtOT0RFX1VTRV9BUk5fUkVHSU9OX0lOSV9OQU1FXX0uYFxuICAgICk7XG4gIH0sXG4gIGRlZmF1bHQ6IGZhbHNlLFxufTtcbiJdfQ==","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { validate as validateArn } from \"@aws-sdk/util-arn-parser\";\n/**\n * @internal\n */\nexport function validateBucketNameMiddleware() {\n var _this = this;\n return function (next) { return function (args) { return __awaiter(_this, void 0, void 0, function () {\n var Bucket, err;\n return __generator(this, function (_a) {\n Bucket = args.input.Bucket;\n if (typeof Bucket === \"string\" && !validateArn(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n err = new Error(\"Bucket name shouldn't contain '/', received '\" + Bucket + \"'\");\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return [2 /*return*/, next(__assign({}, args))];\n });\n }); }; };\n}\n/**\n * @internal\n */\nexport var validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true,\n};\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport var getValidateBucketNamePlugin = function (unused) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(validateBucketNameMiddleware(), validateBucketNameMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtYnVja2V0LW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGUtYnVja2V0LW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVNBLE9BQU8sRUFBRSxRQUFRLElBQUksV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCO0lBQTVDLGlCQWdCQztJQWZDLE9BQU8sVUFDTCxJQUFvQyxJQUNELE9BQUEsVUFDbkMsSUFBcUM7OztZQUcxQixNQUFNLEdBQ2IsSUFBSSxhQURTLENBQ1I7WUFDVCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDNUUsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLGtEQUFnRCxNQUFNLE1BQUcsQ0FBQyxDQUFDO2dCQUNqRixHQUFHLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDO2dCQUMvQixNQUFNLEdBQUcsQ0FBQzthQUNYO1lBQ0Qsc0JBQU8sSUFBSSxjQUFNLElBQUksRUFBRyxFQUFDOztTQUMxQixFQVpvQyxDQVlwQyxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sbUNBQW1DLEdBQTZCO0lBQzNFLElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxDQUFDLHNCQUFzQixDQUFDO0lBQzlCLElBQUksRUFBRSw4QkFBOEI7SUFDcEMsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUY7O0dBRUc7QUFDSCw2REFBNkQ7QUFDN0QsTUFBTSxDQUFDLElBQU0sMkJBQTJCLEdBQUcsVUFBQyxNQUFXLElBQTBCLE9BQUEsQ0FBQztJQUNoRixZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7Q0FDRixDQUFDLEVBSitFLENBSS9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbml0aWFsaXplSGFuZGxlcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyxcbiAgSW5pdGlhbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIEluaXRpYWxpemVNaWRkbGV3YXJlLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IHZhbGlkYXRlIGFzIHZhbGlkYXRlQXJuIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtYXJuLXBhcnNlclwiO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVCdWNrZXROYW1lTWlkZGxld2FyZSgpOiBJbml0aWFsaXplTWlkZGxld2FyZTxhbnksIGFueT4ge1xuICByZXR1cm4gPE91dHB1dCBleHRlbmRzIE1ldGFkYXRhQmVhcmVyPihcbiAgICBuZXh0OiBJbml0aWFsaXplSGFuZGxlcjxhbnksIE91dHB1dD5cbiAgKTogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChcbiAgICBhcmdzOiBJbml0aWFsaXplSGFuZGxlckFyZ3VtZW50czxhbnk+XG4gICk6IFByb21pc2U8SW5pdGlhbGl6ZUhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlucHV0OiB7IEJ1Y2tldCB9LFxuICAgIH0gPSBhcmdzO1xuICAgIGlmICh0eXBlb2YgQnVja2V0ID09PSBcInN0cmluZ1wiICYmICF2YWxpZGF0ZUFybihCdWNrZXQpICYmIEJ1Y2tldC5pbmRleE9mKFwiL1wiKSA+PSAwKSB7XG4gICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoYEJ1Y2tldCBuYW1lIHNob3VsZG4ndCBjb250YWluICcvJywgcmVjZWl2ZWQgJyR7QnVja2V0fSdgKTtcbiAgICAgIGVyci5uYW1lID0gXCJJbnZhbGlkQnVja2V0TmFtZVwiO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dCh7IC4uLmFyZ3MgfSk7XG4gIH07XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUJ1Y2tldE5hbWVNaWRkbGV3YXJlT3B0aW9uczogSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImluaXRpYWxpemVcIixcbiAgdGFnczogW1wiVkFMSURBVEVfQlVDS0VUX05BTUVcIl0sXG4gIG5hbWU6IFwidmFsaWRhdGVCdWNrZXROYW1lTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCBjb25zdCBnZXRWYWxpZGF0ZUJ1Y2tldE5hbWVQbHVnaW4gPSAodW51c2VkOiBhbnkpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkKHZhbGlkYXRlQnVja2V0TmFtZU1pZGRsZXdhcmUoKSwgdmFsaWRhdGVCdWNrZXROYW1lTWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG4iXX0=","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\n/**\n * @internal\n */\nexport var useRegionalEndpointMiddleware = function (config) { return function (next) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n request = args.request;\n if (!HttpRequest.isInstance(request) || config.isCustomEndpoint)\n return [2 /*return*/, next(__assign({}, args))];\n if (!(request.hostname === \"s3.amazonaws.com\")) return [3 /*break*/, 1];\n request.hostname = \"s3.us-east-1.amazonaws.com\";\n return [3 /*break*/, 3];\n case 1:\n _a = \"aws-global\";\n return [4 /*yield*/, config.region()];\n case 2:\n if (_a === (_b.sent())) {\n request.hostname = \"s3.amazonaws.com\";\n }\n _b.label = 3;\n case 3: return [2 /*return*/, next(__assign({}, args))];\n }\n });\n}); }; }; };\n/**\n * @internal\n */\nexport var useRegionalEndpointMiddlewareOptions = {\n step: \"build\",\n tags: [\"USE_REGIONAL_ENDPOINT\", \"S3\"],\n name: \"useRegionalEndpointMiddleware\",\n override: true,\n};\n/**\n * @internal\n */\nexport var getUseRegionalEndpointPlugin = function (config) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(useRegionalEndpointMiddleware(config), useRegionalEndpointMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJlZ2lvbmFsLWVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VzZS1yZWdpb25hbC1lbmRwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBaUJyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxJQUFNLDZCQUE2QixHQUFHLFVBQUMsTUFBMEIsSUFBZ0MsT0FBQSxVQUd0RyxJQUErQixJQUNELE9BQUEsVUFBTyxJQUFnQzs7Ozs7Z0JBQzdELE9BQU8sR0FBSyxJQUFJLFFBQVQsQ0FBVTtnQkFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLGdCQUFnQjtvQkFBRSxzQkFBTyxJQUFJLGNBQU0sSUFBSSxFQUFHLEVBQUM7cUJBQ3RGLENBQUEsT0FBTyxDQUFDLFFBQVEsS0FBSyxrQkFBa0IsQ0FBQSxFQUF2Qyx3QkFBdUM7Z0JBQ3pDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsNEJBQTRCLENBQUM7OztnQkFDdkMsS0FBQSxZQUFZLENBQUE7Z0JBQU0scUJBQU0sTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFBOztnQkFBM0MsSUFBSSxPQUFpQixDQUFDLFNBQXFCLENBQUMsRUFBRTtvQkFDbkQsT0FBTyxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQztpQkFDdkM7O29CQUNELHNCQUFPLElBQUksY0FBTSxJQUFJLEVBQUcsRUFBQzs7O0tBQzFCLEVBVCtCLENBUy9CLEVBYnVHLENBYXZHLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxJQUFNLG9DQUFvQyxHQUF3QjtJQUN2RSxJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQztJQUNyQyxJQUFJLEVBQUUsK0JBQStCO0lBQ3JDLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQUcsVUFBQyxNQUEwQixJQUEwQixPQUFBLENBQUM7SUFDaEcsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxFQUFFLG9DQUFvQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztDQUNGLENBQUMsRUFKK0YsQ0FJL0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEJ1aWxkSGFuZGxlcixcbiAgQnVpbGRIYW5kbGVyQXJndW1lbnRzLFxuICBCdWlsZEhhbmRsZXJPcHRpb25zLFxuICBCdWlsZEhhbmRsZXJPdXRwdXQsXG4gIEJ1aWxkTWlkZGxld2FyZSxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgUHJvdmlkZXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG50eXBlIFByZXZpb3VzbHlSZXNvbHZlZCA9IHtcbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xuICBpc0N1c3RvbUVuZHBvaW50OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVJlZ2lvbmFsRW5kcG9pbnRNaWRkbGV3YXJlID0gKGNvbmZpZzogUHJldmlvdXNseVJlc29sdmVkKTogQnVpbGRNaWRkbGV3YXJlPGFueSwgYW55PiA9PiA8XG4gIE91dHB1dCBleHRlbmRzIE1ldGFkYXRhQmVhcmVyXG4+KFxuICBuZXh0OiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+XG4pOiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChhcmdzOiBCdWlsZEhhbmRsZXJBcmd1bWVudHM8YW55Pik6IFByb21pc2U8QnVpbGRIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgY29uc3QgeyByZXF1ZXN0IH0gPSBhcmdzO1xuICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UocmVxdWVzdCkgfHwgY29uZmlnLmlzQ3VzdG9tRW5kcG9pbnQpIHJldHVybiBuZXh0KHsgLi4uYXJncyB9KTtcbiAgaWYgKHJlcXVlc3QuaG9zdG5hbWUgPT09IFwiczMuYW1hem9uYXdzLmNvbVwiKSB7XG4gICAgcmVxdWVzdC5ob3N0bmFtZSA9IFwiczMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cIjtcbiAgfSBlbHNlIGlmIChcImF3cy1nbG9iYWxcIiA9PT0gKGF3YWl0IGNvbmZpZy5yZWdpb24oKSkpIHtcbiAgICByZXF1ZXN0Lmhvc3RuYW1lID0gXCJzMy5hbWF6b25hd3MuY29tXCI7XG4gIH1cbiAgcmV0dXJuIG5leHQoeyAuLi5hcmdzIH0pO1xufTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVJlZ2lvbmFsRW5kcG9pbnRNaWRkbGV3YXJlT3B0aW9uczogQnVpbGRIYW5kbGVyT3B0aW9ucyA9IHtcbiAgc3RlcDogXCJidWlsZFwiLFxuICB0YWdzOiBbXCJVU0VfUkVHSU9OQUxfRU5EUE9JTlRcIiwgXCJTM1wiXSxcbiAgbmFtZTogXCJ1c2VSZWdpb25hbEVuZHBvaW50TWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRVc2VSZWdpb25hbEVuZHBvaW50UGx1Z2luID0gKGNvbmZpZzogUHJldmlvdXNseVJlc29sdmVkKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZCh1c2VSZWdpb25hbEVuZHBvaW50TWlkZGxld2FyZShjb25maWcpLCB1c2VSZWdpb25hbEVuZHBvaW50TWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG4iXX0=","import { __awaiter, __generator } from \"tslib\";\nimport { HttpResponse } from \"@aws-sdk/protocol-http\";\n/**\n * In case of an internal error/terminated connection, S3 operations may return 200 errors. CopyObject, UploadPartCopy,\n * CompleteMultipartUpload may return empty payload or payload with only xml Preamble.\n * @internal\n */\nexport var throw200ExceptionsMiddleware = function (config) { return function (next) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var result, response, statusCode, body, bodyBytes, bodyString, err;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, next(args)];\n case 1:\n result = _a.sent();\n response = result.response;\n if (!HttpResponse.isInstance(response))\n return [2 /*return*/, result];\n statusCode = response.statusCode, body = response.body;\n if (statusCode < 200 && statusCode >= 300)\n return [2 /*return*/, result];\n return [4 /*yield*/, collectBody(body, config)];\n case 2:\n bodyBytes = _a.sent();\n return [4 /*yield*/, collectBodyString(bodyBytes, config)];\n case 3:\n bodyString = _a.sent();\n if (bodyBytes.length === 0) {\n err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyString && bodyString.match(\"\")) {\n // Set the error code to 4XX so that error deserializer can parse them\n response.statusCode = 400;\n }\n // Body stream is consumed and paused at this point. So replace the response.body to the collected bytes.\n // So that the deserializer can consume the body as normal.\n response.body = bodyBytes;\n return [2 /*return*/, result];\n }\n });\n}); }; }; };\n// Collect low-level response body stream to Uint8Array.\nvar collectBody = function (streamBody, context) {\n if (streamBody === void 0) { streamBody = new Uint8Array(); }\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n// Encode Uint8Array data into string with utf-8.\nvar collectBodyString = function (streamBody, context) {\n return collectBody(streamBody, context).then(function (body) { return context.utf8Encoder(body); });\n};\n/**\n * @internal\n */\nexport var throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true,\n};\n/**\n *\n * @internal\n */\nexport var getThrow200ExceptionsPlugin = function (config) { return ({\n applyToStack: function (clientStack) {\n clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3ctMjAwLWV4Y2VwdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGhyb3ctMjAwLWV4Y2VwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVF0RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQUcsVUFBQyxNQUEwQixJQUFzQyxPQUFBLFVBQzNHLElBQUksSUFDRCxPQUFBLFVBQU8sSUFBSTs7OztvQkFDQyxxQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUE7O2dCQUF6QixNQUFNLEdBQUcsU0FBZ0I7Z0JBQ3ZCLFFBQVEsR0FBSyxNQUFNLFNBQVgsQ0FBWTtnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUFFLHNCQUFPLE1BQU0sRUFBQztnQkFDOUMsVUFBVSxHQUFXLFFBQVEsV0FBbkIsRUFBRSxJQUFJLEdBQUssUUFBUSxLQUFiLENBQWM7Z0JBQ3RDLElBQUksVUFBVSxHQUFHLEdBQUcsSUFBSSxVQUFVLElBQUksR0FBRztvQkFBRSxzQkFBTyxNQUFNLEVBQUM7Z0JBR3ZDLHFCQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUE7O2dCQUEzQyxTQUFTLEdBQUcsU0FBK0I7Z0JBQzlCLHFCQUFNLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBQTs7Z0JBQXZELFVBQVUsR0FBRyxTQUEwQztnQkFDN0QsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDcEIsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7b0JBQzVDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO29CQUMzQixNQUFNLEdBQUcsQ0FBQztpQkFDWDtnQkFDRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUM3QyxzRUFBc0U7b0JBQ3RFLFFBQVEsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO2lCQUMzQjtnQkFFRCx5R0FBeUc7Z0JBQ3pHLDJEQUEyRDtnQkFDM0QsUUFBUSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7Z0JBQzFCLHNCQUFPLE1BQU0sRUFBQzs7O0tBQ2YsRUF4QkksQ0F3QkosRUExQjRHLENBMEI1RyxDQUFDO0FBRUYsd0RBQXdEO0FBQ3hELElBQU0sV0FBVyxHQUFHLFVBQUMsVUFBa0MsRUFBRSxPQUEyQjtJQUEvRCwyQkFBQSxFQUFBLGlCQUFzQixVQUFVLEVBQUU7SUFDckQsSUFBSSxVQUFVLFlBQVksVUFBVSxFQUFFO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUNwQztJQUNELE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLFVBQWUsRUFBRSxPQUEyQjtJQUNyRSxPQUFBLFdBQVcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBekIsQ0FBeUIsQ0FBQztBQUExRSxDQUEwRSxDQUFDO0FBRTdFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sbUNBQW1DLEdBQThCO0lBQzVFLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFlBQVksRUFBRSx3QkFBd0I7SUFDdEMsSUFBSSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDO0lBQ3BDLElBQUksRUFBRSw4QkFBOEI7SUFDcEMsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sMkJBQTJCLEdBQUcsVUFBQyxNQUEwQixJQUEwQixPQUFBLENBQUM7SUFDL0YsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxFQUFFLG1DQUFtQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztDQUNGLENBQUMsRUFKOEYsQ0FJOUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQgeyBEZXNlcmlhbGl6ZU1pZGRsZXdhcmUsIEVuY29kZXIsIFBsdWdnYWJsZSwgUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucywgU3RyZWFtQ29sbGVjdG9yIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbnR5cGUgUHJldmlvdXNseVJlc29sdmVkID0ge1xuICBzdHJlYW1Db2xsZWN0b3I6IFN0cmVhbUNvbGxlY3RvcjtcbiAgdXRmOEVuY29kZXI6IEVuY29kZXI7XG59O1xuXG4vKipcbiAqIEluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgZXJyb3IvdGVybWluYXRlZCBjb25uZWN0aW9uLCBTMyBvcGVyYXRpb25zIG1heSByZXR1cm4gMjAwIGVycm9ycy4gQ29weU9iamVjdCwgVXBsb2FkUGFydENvcHksXG4gKiBDb21wbGV0ZU11bHRpcGFydFVwbG9hZCBtYXkgcmV0dXJuIGVtcHR5IHBheWxvYWQgb3IgcGF5bG9hZCB3aXRoIG9ubHkgeG1sIFByZWFtYmxlLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB0aHJvdzIwMEV4Y2VwdGlvbnNNaWRkbGV3YXJlID0gKGNvbmZpZzogUHJldmlvdXNseVJlc29sdmVkKTogRGVzZXJpYWxpemVNaWRkbGV3YXJlPGFueSwgYW55PiA9PiAoXG4gIG5leHRcbikgPT4gYXN5bmMgKGFyZ3MpID0+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbmV4dChhcmdzKTtcbiAgY29uc3QgeyByZXNwb25zZSB9ID0gcmVzdWx0O1xuICBpZiAoIUh0dHBSZXNwb25zZS5pc0luc3RhbmNlKHJlc3BvbnNlKSkgcmV0dXJuIHJlc3VsdDtcbiAgY29uc3QgeyBzdGF0dXNDb2RlLCBib2R5IH0gPSByZXNwb25zZTtcbiAgaWYgKHN0YXR1c0NvZGUgPCAyMDAgJiYgc3RhdHVzQ29kZSA+PSAzMDApIHJldHVybiByZXN1bHQ7XG5cbiAgLy8gVGhyb3cgMlhYIHJlc3BvbnNlIHRoYXQncyBlaXRoZXIgYW4gZXJyb3Igb3IgaGFzIGVtcHR5IGJvZHkuXG4gIGNvbnN0IGJvZHlCeXRlcyA9IGF3YWl0IGNvbGxlY3RCb2R5KGJvZHksIGNvbmZpZyk7XG4gIGNvbnN0IGJvZHlTdHJpbmcgPSBhd2FpdCBjb2xsZWN0Qm9keVN0cmluZyhib2R5Qnl0ZXMsIGNvbmZpZyk7XG4gIGlmIChib2R5Qnl0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgY29uc3QgZXJyID0gbmV3IEVycm9yKFwiUzMgYWJvcnRlZCByZXF1ZXN0XCIpO1xuICAgIGVyci5uYW1lID0gXCJJbnRlcm5hbEVycm9yXCI7XG4gICAgdGhyb3cgZXJyO1xuICB9XG4gIGlmIChib2R5U3RyaW5nICYmIGJvZHlTdHJpbmcubWF0Y2goXCI8RXJyb3I+XCIpKSB7XG4gICAgLy8gU2V0IHRoZSBlcnJvciBjb2RlIHRvIDRYWCBzbyB0aGF0IGVycm9yIGRlc2VyaWFsaXplciBjYW4gcGFyc2UgdGhlbVxuICAgIHJlc3BvbnNlLnN0YXR1c0NvZGUgPSA0MDA7XG4gIH1cblxuICAvLyBCb2R5IHN0cmVhbSBpcyBjb25zdW1lZCBhbmQgcGF1c2VkIGF0IHRoaXMgcG9pbnQuIFNvIHJlcGxhY2UgdGhlIHJlc3BvbnNlLmJvZHkgdG8gdGhlIGNvbGxlY3RlZCBieXRlcy5cbiAgLy8gU28gdGhhdCB0aGUgZGVzZXJpYWxpemVyIGNhbiBjb25zdW1lIHRoZSBib2R5IGFzIG5vcm1hbC5cbiAgcmVzcG9uc2UuYm9keSA9IGJvZHlCeXRlcztcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIENvbGxlY3QgbG93LWxldmVsIHJlc3BvbnNlIGJvZHkgc3RyZWFtIHRvIFVpbnQ4QXJyYXkuXG5jb25zdCBjb2xsZWN0Qm9keSA9IChzdHJlYW1Cb2R5OiBhbnkgPSBuZXcgVWludDhBcnJheSgpLCBjb250ZXh0OiBQcmV2aW91c2x5UmVzb2x2ZWQpOiBQcm9taXNlPFVpbnQ4QXJyYXk+ID0+IHtcbiAgaWYgKHN0cmVhbUJvZHkgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzdHJlYW1Cb2R5KTtcbiAgfVxuICByZXR1cm4gY29udGV4dC5zdHJlYW1Db2xsZWN0b3Ioc3RyZWFtQm9keSkgfHwgUHJvbWlzZS5yZXNvbHZlKG5ldyBVaW50OEFycmF5KCkpO1xufTtcblxuLy8gRW5jb2RlIFVpbnQ4QXJyYXkgZGF0YSBpbnRvIHN0cmluZyB3aXRoIHV0Zi04LlxuY29uc3QgY29sbGVjdEJvZHlTdHJpbmcgPSAoc3RyZWFtQm9keTogYW55LCBjb250ZXh0OiBQcmV2aW91c2x5UmVzb2x2ZWQpOiBQcm9taXNlPHN0cmluZz4gPT5cbiAgY29sbGVjdEJvZHkoc3RyZWFtQm9keSwgY29udGV4dCkudGhlbigoYm9keSkgPT4gY29udGV4dC51dGY4RW5jb2Rlcihib2R5KSk7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB0aHJvdzIwMEV4Y2VwdGlvbnNNaWRkbGV3YXJlT3B0aW9uczogUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucyA9IHtcbiAgcmVsYXRpb246IFwiYWZ0ZXJcIixcbiAgdG9NaWRkbGV3YXJlOiBcImRlc2VyaWFsaXplck1pZGRsZXdhcmVcIixcbiAgdGFnczogW1wiVEhST1dfMjAwX0VYQ0VQVElPTlNcIiwgXCJTM1wiXSxcbiAgbmFtZTogXCJ0aHJvdzIwMEV4Y2VwdGlvbnNNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuLyoqXG4gKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUaHJvdzIwMEV4Y2VwdGlvbnNQbHVnaW4gPSAoY29uZmlnOiBQcmV2aW91c2x5UmVzb2x2ZWQpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkUmVsYXRpdmVUbyh0aHJvdzIwMEV4Y2VwdGlvbnNNaWRkbGV3YXJlKGNvbmZpZyksIHRocm93MjAwRXhjZXB0aW9uc01pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19","import { __assign, __awaiter, __generator, __values } from \"tslib\";\nexport function ssecMiddleware(options) {\n var _this = this;\n return function (next) { return function (args) { return __awaiter(_this, void 0, void 0, function () {\n var input, properties, properties_1, properties_1_1, prop, value, valueView, encoded, hash, _a, _b, _c, _d, e_1_1;\n var e_1, _e, _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n input = __assign({}, args.input);\n properties = [\n {\n target: \"SSECustomerKey\",\n hash: \"SSECustomerKeyMD5\",\n },\n {\n target: \"CopySourceSSECustomerKey\",\n hash: \"CopySourceSSECustomerKeyMD5\",\n },\n ];\n _g.label = 1;\n case 1:\n _g.trys.push([1, 6, 7, 8]);\n properties_1 = __values(properties), properties_1_1 = properties_1.next();\n _g.label = 2;\n case 2:\n if (!!properties_1_1.done) return [3 /*break*/, 5];\n prop = properties_1_1.value;\n value = input[prop.target];\n if (!value) return [3 /*break*/, 4];\n valueView = ArrayBuffer.isView(value)\n ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength)\n : typeof value === \"string\"\n ? options.utf8Decoder(value)\n : new Uint8Array(value);\n encoded = options.base64Encoder(valueView);\n hash = new options.md5();\n hash.update(valueView);\n _a = [__assign({}, input)];\n _f = {}, _f[prop.target] = encoded;\n _b = prop.hash;\n _d = (_c = options).base64Encoder;\n return [4 /*yield*/, hash.digest()];\n case 3:\n input = __assign.apply(void 0, _a.concat([(_f[_b] = _d.apply(_c, [_g.sent()]), _f)]));\n _g.label = 4;\n case 4:\n properties_1_1 = properties_1.next();\n return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 8];\n case 6:\n e_1_1 = _g.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 8];\n case 7:\n try {\n if (properties_1_1 && !properties_1_1.done && (_e = properties_1.return)) _e.call(properties_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/, next(__assign(__assign({}, args), { input: input }))];\n }\n });\n }); }; };\n}\nexport var ssecMiddlewareOptions = {\n name: \"ssecMiddleware\",\n step: \"initialize\",\n tags: [\"SSE\"],\n override: true,\n};\nexport var getSsecPlugin = function (config) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(ssecMiddleware(config), ssecMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWFBLE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBcUM7SUFBcEUsaUJBMENDO0lBekNDLE9BQU8sVUFDTCxJQUFvQyxJQUNELE9BQUEsVUFDbkMsSUFBcUM7Ozs7OztvQkFFakMsS0FBSyxnQkFBUSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUM7b0JBQ3hCLFVBQVUsR0FBRzt3QkFDakI7NEJBQ0UsTUFBTSxFQUFFLGdCQUFnQjs0QkFDeEIsSUFBSSxFQUFFLG1CQUFtQjt5QkFDMUI7d0JBQ0Q7NEJBQ0UsTUFBTSxFQUFFLDBCQUEwQjs0QkFDbEMsSUFBSSxFQUFFLDZCQUE2Qjt5QkFDcEM7cUJBQ0YsQ0FBQzs7OztvQkFFaUIsZUFBQSxTQUFBLFVBQVUsQ0FBQTs7OztvQkFBbEIsSUFBSTtvQkFDUCxLQUFLLEdBQTRCLEtBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7eUJBQzlELEtBQUssRUFBTCx3QkFBSztvQkFDRCxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7d0JBQ3pDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQzt3QkFDbEUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVE7NEJBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQzs0QkFDNUIsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQixPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDM0MsSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3VDQUVqQixLQUFhO2dDQUNoQixJQUFJLENBQUMsTUFBTSxJQUFHLE9BQU87b0JBQ3JCLEtBQUEsSUFBSSxDQUFDLElBQUksQ0FBQTtvQkFBRyxLQUFBLENBQUEsS0FBQSxPQUFPLENBQUEsQ0FBQyxhQUFhLENBQUE7b0JBQUMscUJBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFBOztvQkFIeEQsS0FBSywrQ0FHVSxjQUFzQixTQUFtQixFQUFDLFFBQ3hELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7d0JBSU4sc0JBQU8sSUFBSSx1QkFDTixJQUFJLEtBQ1AsS0FBSyxPQUFBLElBQ0wsRUFBQzs7O1NBQ0osRUF0Q29DLENBc0NwQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLHFCQUFxQixHQUE2QjtJQUM3RCxJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztJQUNiLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxVQUFDLE1BQW9DLElBQTBCLE9BQUEsQ0FBQztJQUMzRixZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDakUsQ0FBQztDQUNGLENBQUMsRUFKMEYsQ0FJMUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluaXRpYWxpemVIYW5kbGVyLFxuICBJbml0aWFsaXplSGFuZGxlckFyZ3VtZW50cyxcbiAgSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zLFxuICBJbml0aWFsaXplSGFuZGxlck91dHB1dCxcbiAgSW5pdGlhbGl6ZU1pZGRsZXdhcmUsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBQbHVnZ2FibGUsXG4gIFNvdXJjZURhdGEsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBSZXNvbHZlZFNzZWNNaWRkbGV3YXJlQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc3NlY01pZGRsZXdhcmUob3B0aW9uczogUmVzb2x2ZWRTc2VjTWlkZGxld2FyZUNvbmZpZyk6IEluaXRpYWxpemVNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KFxuICAgIG5leHQ6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PlxuICApOiBJbml0aWFsaXplSGFuZGxlcjxhbnksIE91dHB1dD4gPT4gYXN5bmMgKFxuICAgIGFyZ3M6IEluaXRpYWxpemVIYW5kbGVyQXJndW1lbnRzPGFueT5cbiAgKTogUHJvbWlzZTxJbml0aWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgbGV0IGlucHV0ID0geyAuLi5hcmdzLmlucHV0IH07XG4gICAgY29uc3QgcHJvcGVydGllcyA9IFtcbiAgICAgIHtcbiAgICAgICAgdGFyZ2V0OiBcIlNTRUN1c3RvbWVyS2V5XCIsXG4gICAgICAgIGhhc2g6IFwiU1NFQ3VzdG9tZXJLZXlNRDVcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRhcmdldDogXCJDb3B5U291cmNlU1NFQ3VzdG9tZXJLZXlcIixcbiAgICAgICAgaGFzaDogXCJDb3B5U291cmNlU1NFQ3VzdG9tZXJLZXlNRDVcIixcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICBjb25zdCB2YWx1ZTogU291cmNlRGF0YSB8IHVuZGVmaW5lZCA9IChpbnB1dCBhcyBhbnkpW3Byb3AudGFyZ2V0XTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBjb25zdCB2YWx1ZVZpZXcgPSBBcnJheUJ1ZmZlci5pc1ZpZXcodmFsdWUpXG4gICAgICAgICAgPyBuZXcgVWludDhBcnJheSh2YWx1ZS5idWZmZXIsIHZhbHVlLmJ5dGVPZmZzZXQsIHZhbHVlLmJ5dGVMZW5ndGgpXG4gICAgICAgICAgOiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICA/IG9wdGlvbnMudXRmOERlY29kZXIodmFsdWUpXG4gICAgICAgICAgOiBuZXcgVWludDhBcnJheSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGVuY29kZWQgPSBvcHRpb25zLmJhc2U2NEVuY29kZXIodmFsdWVWaWV3KTtcbiAgICAgICAgY29uc3QgaGFzaCA9IG5ldyBvcHRpb25zLm1kNSgpO1xuICAgICAgICBoYXNoLnVwZGF0ZSh2YWx1ZVZpZXcpO1xuICAgICAgICBpbnB1dCA9IHtcbiAgICAgICAgICAuLi4oaW5wdXQgYXMgYW55KSxcbiAgICAgICAgICBbcHJvcC50YXJnZXRdOiBlbmNvZGVkLFxuICAgICAgICAgIFtwcm9wLmhhc2hdOiBvcHRpb25zLmJhc2U2NEVuY29kZXIoYXdhaXQgaGFzaC5kaWdlc3QoKSksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQoe1xuICAgICAgLi4uYXJncyxcbiAgICAgIGlucHV0LFxuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3Qgc3NlY01pZGRsZXdhcmVPcHRpb25zOiBJbml0aWFsaXplSGFuZGxlck9wdGlvbnMgPSB7XG4gIG5hbWU6IFwic3NlY01pZGRsZXdhcmVcIixcbiAgc3RlcDogXCJpbml0aWFsaXplXCIsXG4gIHRhZ3M6IFtcIlNTRVwiXSxcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3NlY1BsdWdpbiA9IChjb25maWc6IFJlc29sdmVkU3NlY01pZGRsZXdhcmVDb25maWcpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkKHNzZWNNaWRkbGV3YXJlKGNvbmZpZyksIHNzZWNNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","import { __extends } from \"tslib\";\nimport { CopyObjectOutput, CopyObjectRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlCopyObjectCommand, serializeAws_restXmlCopyObjectCommand, } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Creates a copy of an object that is already stored in Amazon S3.

\n * \n *

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n * object up to 5 GB in size in a single atomic operation using this API. However, to copy\n * an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API.\n * For more information, see Copy Object Using the REST Multipart Upload API.

\n *
\n *

All copy requests must be authenticated. Additionally, you must have\n * read access to the source object and write\n * access to the destination bucket. For more information, see REST Authentication. Both the Region\n * that you want to copy the object from and the Region that you want to copy the object to\n * must be enabled for your account.

\n *

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n * is copying the files. If the error occurs before the copy operation starts, you receive a\n * standard Amazon S3 error. If the error occurs during the copy operation, the error response is\n * embedded in the 200 OK response. This means that a 200 OK\n * response can contain either a success or an error. Design your application to parse the\n * contents of the response and handle it appropriately.

\n *

If the copy is successful, you receive a response with information about the copied\n * object.

\n * \n *

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,\n * it would not contain the content-length, and you would need to read the entire\n * body.

\n *
\n *

The copy request charge is based on the storage class and Region that you specify for\n * the destination object. For pricing information, see Amazon S3 pricing.

\n * \n *

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n * cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n * Request error. For more information, see Transfer Acceleration.

\n *
\n *

\n * Metadata\n *

\n *

When copying an object, you can preserve all metadata (default) or specify new metadata.\n * However, the ACL is not preserved and is set to private for the user making the request. To\n * override the default ACL setting, specify a new ACL when generating a copy request. For\n * more information, see Using ACLs.

\n *

To specify whether you want the object metadata copied from the source object or\n * replaced with metadata provided in the request, you can optionally add the\n * x-amz-metadata-directive header. When you grant permissions, you can use\n * the s3:x-amz-metadata-directive condition key to enforce certain metadata\n * behavior when objects are uploaded. For more information, see Specifying Conditions in a\n * Policy in the Amazon S3 Developer Guide. For a complete list of\n * Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for\n * Amazon S3.

\n *

\n * \n * x-amz-copy-source-if Headers\n *

\n *

To only copy an object under certain conditions, such as whether the Etag\n * matches or whether the object was modified before or after a specified date, use the\n * following request parameters:

\n * \n *

If both the x-amz-copy-source-if-match and\n * x-amz-copy-source-if-unmodified-since headers are present in the request\n * and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

\n * \n *\n *

If both the x-amz-copy-source-if-none-match and\n * x-amz-copy-source-if-modified-since headers are present in the request and\n * evaluate as follows, Amazon S3 returns the 412 Precondition Failed response\n * code:

\n * \n *\n * \n *

All headers with the x-amz- prefix, including\n * x-amz-copy-source, must be signed.

\n *
\n *

\n * Server-side encryption\n *

\n *

When you perform a CopyObject operation, you can optionally use the appropriate encryption-related headers to encrypt the object using server-side encryption with AWS managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see Using\n * Server-Side Encryption.

\n *

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more\n * information, see Amazon S3 Bucket Keys in the Amazon Simple Storage Service Developer Guide.

\n *

\n * Access Control List (ACL)-Specific Request\n * Headers\n *

\n *

When copying an object, you can optionally use headers to grant ACL-based permissions.\n * By default, all objects are private. Only the owner has full access control. When adding a\n * new object, you can grant permissions to individual AWS accounts or to predefined groups\n * defined by Amazon S3. These permissions are then added to the ACL on the object. For more\n * information, see Access Control List (ACL) Overview and Managing ACLs Using the REST\n * API.

\n *\n *

\n * Storage Class Options\n *

\n *

You can use the CopyObject operation to change the storage class of an\n * object that is already stored in Amazon S3 using the StorageClass parameter. For\n * more information, see Storage\n * Classes in the Amazon S3 Service Developer Guide.

\n *

\n * Versioning\n *

\n *

By default, x-amz-copy-source identifies the current version of an object\n * to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was\n * deleted. To copy a different version, use the versionId subresource.

\n *

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for\n * the object being copied. This version ID is different from the version ID of the source\n * object. Amazon S3 returns the version ID of the copied object in the\n * x-amz-version-id response header in the response.

\n *

If you do not enable versioning or suspend it on the target bucket, the version ID that\n * Amazon S3 generates is always null.

\n *

If the source object's storage class is GLACIER, you must restore a copy of this object\n * before you can use it as a source object for the copy operation. For more information, see\n * RestoreObject.

\n *

The following operations are related to CopyObject:

\n * \n *

For more information, see Copying\n * Objects.

\n */\nvar CopyObjectCommand = /** @class */ (function (_super) {\n __extends(CopyObjectCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function CopyObjectCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n CopyObjectCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getThrow200ExceptionsPlugin(configuration));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"CopyObjectCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: CopyObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: CopyObjectOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n CopyObjectCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlCopyObjectCommand(input, context);\n };\n CopyObjectCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlCopyObjectCommand(output, context);\n };\n return CopyObjectCommand;\n}($Command));\nexport { CopyObjectCommand };\n//# sourceMappingURL=CopyObjectCommand.js.map","import { __extends } from \"tslib\";\nimport { GetObjectOutput, GetObjectRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlGetObjectCommand, serializeAws_restXmlGetObjectCommand } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Retrieves objects from Amazon S3. To use GET, you must have READ\n * access to the object. If you grant READ access to the anonymous user, you can\n * return the object without using an authorization header.

\n *\n *

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n * file system. You can, however, create a logical hierarchy by using object key names that\n * imply a folder structure. For example, instead of naming an object sample.jpg,\n * you can name it photos/2006/February/sample.jpg.

\n *\n *

To get an object from such a logical hierarchy, specify the full key name for the object\n * in the GET operation. For a virtual hosted-style request example, if you have\n * the object photos/2006/February/sample.jpg, specify the resource as\n * /photos/2006/February/sample.jpg. For a path-style request example, if you\n * have the object photos/2006/February/sample.jpg in the bucket named\n * examplebucket, specify the resource as\n * /examplebucket/photos/2006/February/sample.jpg. For more information about\n * request types, see HTTP Host Header Bucket Specification.

\n *\n *

To distribute large files to many people, you can save bandwidth costs by using\n * BitTorrent. For more information, see Amazon S3\n * Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

\n *\n *

If the object you are retrieving is stored in the S3 Glacier or\n * S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or\n * S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a\n * copy using RestoreObject. Otherwise, this operation returns an\n * InvalidObjectStateError error. For information about restoring archived\n * objects, see Restoring Archived\n * Objects.

\n *\n *

Encryption request headers, like x-amz-server-side-encryption, should not\n * be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS\n * KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n * object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

\n *

If you encrypt an object by using server-side encryption with customer-provided\n * encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n * you must use the following headers:

\n * \n *

For more information about SSE-C, see Server-Side Encryption (Using\n * Customer-Provided Encryption Keys).

\n *\n *

Assuming you have permission to read object tags (permission for the\n * s3:GetObjectVersionTagging action), the response also returns the\n * x-amz-tagging-count header that provides the count of number of tags\n * associated with the object. You can use GetObjectTagging to retrieve\n * the tag set associated with an object.

\n *\n *

\n * Permissions\n *

\n *

You need the s3:GetObject permission for this operation. For more\n * information, see Specifying Permissions\n * in a Policy. If the object you request does not exist, the error Amazon S3 returns\n * depends on whether you also have the s3:ListBucket permission.

\n * \n *\n *\n *

\n * Versioning\n *

\n *

By default, the GET operation returns the current version of an object. To return a\n * different version, use the versionId subresource.

\n *\n * \n *

If the current version of the object is a delete marker, Amazon S3 behaves as if the\n * object was deleted and includes x-amz-delete-marker: true in the\n * response.

\n *
\n *\n *\n *

For more information about versioning, see PutBucketVersioning.

\n *\n *

\n * Overriding Response Header Values\n *

\n *

There are times when you want to override certain response header values in a GET\n * response. For example, you might override the Content-Disposition response header value in\n * your GET request.

\n *\n *

You can override values for a set of response headers using the following query\n * parameters. These response header values are sent only on a successful request, that is,\n * when status code 200 OK is returned. The set of headers you can override using these\n * parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n * response headers that you can override for the GET response are Content-Type,\n * Content-Language, Expires, Cache-Control,\n * Content-Disposition, and Content-Encoding. To override these\n * header values in the GET response, you use the following request parameters.

\n *\n * \n *

You must sign the request, either using an Authorization header or a presigned URL,\n * when using these parameters. They cannot be used with an unsigned (anonymous)\n * request.

\n *
\n * \n *\n *

\n * Additional Considerations about Request Headers\n *

\n *\n *

If both of the If-Match and If-Unmodified-Since headers are\n * present in the request as follows: If-Match condition evaluates to\n * true, and; If-Unmodified-Since condition evaluates to\n * false; then, S3 returns 200 OK and the data requested.

\n *\n *

If both of the If-None-Match and If-Modified-Since headers are\n * present in the request as follows: If-None-Match condition evaluates to\n * false, and; If-Modified-Since condition evaluates to\n * true; then, S3 returns 304 Not Modified response code.

\n *\n *

For more information about conditional requests, see RFC 7232.

\n *\n *

The following operations are related to GetObject:

\n * \n */\nvar GetObjectCommand = /** @class */ (function (_super) {\n __extends(GetObjectCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function GetObjectCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n GetObjectCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"GetObjectCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: GetObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: GetObjectOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n GetObjectCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlGetObjectCommand(input, context);\n };\n GetObjectCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlGetObjectCommand(output, context);\n };\n return GetObjectCommand;\n}($Command));\nexport { GetObjectCommand };\n//# sourceMappingURL=GetObjectCommand.js.map","import { __extends } from \"tslib\";\nimport { DeleteObjectOutput, DeleteObjectRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlDeleteObjectCommand, serializeAws_restXmlDeleteObjectCommand, } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Removes the null version (if there is one) of an object and inserts a delete marker,\n * which becomes the latest version of the object. If there isn't a null version, Amazon S3 does\n * not remove any objects.

\n *\n *

To remove a specific version, you must be the bucket owner and you must use the version\n * Id subresource. Using this subresource permanently deletes the version. If the object\n * deleted is a delete marker, Amazon S3 sets the response header,\n * x-amz-delete-marker, to true.

\n *\n *

If the object you want to delete is in a bucket where the bucket versioning\n * configuration is MFA Delete enabled, you must include the x-amz-mfa request\n * header in the DELETE versionId request. Requests that include\n * x-amz-mfa must use HTTPS.

\n *\n *

For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.

\n *\n *

You can delete objects by explicitly calling the DELETE Object API or configure its\n * lifecycle (PutBucketLifecycle) to\n * enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or\n * deleting objects from your bucket, you must deny them the s3:DeleteObject,\n * s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration\n * actions.

\n *\n *

The following operation is related to DeleteObject:

\n * \n */\nvar DeleteObjectCommand = /** @class */ (function (_super) {\n __extends(DeleteObjectCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function DeleteObjectCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n DeleteObjectCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"DeleteObjectCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: DeleteObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: DeleteObjectOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n DeleteObjectCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlDeleteObjectCommand(input, context);\n };\n DeleteObjectCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlDeleteObjectCommand(output, context);\n };\n return DeleteObjectCommand;\n}($Command));\nexport { DeleteObjectCommand };\n//# sourceMappingURL=DeleteObjectCommand.js.map","import { __extends } from \"tslib\";\nimport { ListObjectsV2Output, ListObjectsV2Request } from \"../models/models_0\";\nimport { deserializeAws_restXmlListObjectsV2Command, serializeAws_restXmlListObjectsV2Command, } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n * parameters as selection criteria to return a subset of the objects in a bucket. A 200\n * OK response can contain valid or invalid XML. Make sure to design your\n * application to parse the contents of the response and handle it appropriately.

\n *\n *

To use this operation, you must have READ access to the bucket.

\n *\n *

To use this operation in an AWS Identity and Access Management (IAM) policy, you must\n * have permissions to perform the s3:ListBucket action. The bucket owner has\n * this permission by default and can grant this permission to others. For more information\n * about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n * Resources.

\n * \n *

This section describes the latest revision of the API. We recommend that you use this\n * revised API for application development. For backward compatibility, Amazon S3 continues to\n * support the prior version of this API, ListObjects.

\n *
\n *\n *

To get a list of your buckets, see ListBuckets.

\n *\n *

The following operations are related to ListObjectsV2:

\n * \n */\nvar ListObjectsV2Command = /** @class */ (function (_super) {\n __extends(ListObjectsV2Command, _super);\n // Start section: command_properties\n // End section: command_properties\n function ListObjectsV2Command(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n ListObjectsV2Command.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"ListObjectsV2Command\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: ListObjectsV2Request.filterSensitiveLog,\n outputFilterSensitiveLog: ListObjectsV2Output.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n ListObjectsV2Command.prototype.serialize = function (input, context) {\n return serializeAws_restXmlListObjectsV2Command(input, context);\n };\n ListObjectsV2Command.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlListObjectsV2Command(output, context);\n };\n return ListObjectsV2Command;\n}($Command));\nexport { ListObjectsV2Command };\n//# sourceMappingURL=ListObjectsV2Command.js.map","import { buildQueryString } from \"@aws-sdk/querystring-builder\";\nexport function formatUrl(request) {\n var port = request.port, query = request.query;\n var protocol = request.protocol, path = request.path, hostname = request.hostname;\n if (protocol && protocol.substr(-1) !== \":\") {\n protocol += \":\";\n }\n if (port) {\n hostname += \":\" + port;\n }\n if (path && path.charAt(0) !== \"/\") {\n path = \"/\" + path;\n }\n var queryString = query ? buildQueryString(query) : \"\";\n if (queryString && queryString[0] !== \"?\") {\n queryString = \"?\" + queryString;\n }\n return protocol + \"//\" + hostname + path + queryString;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHaEUsTUFBTSxVQUFVLFNBQVMsQ0FBQyxPQUFnRDtJQUNoRSxJQUFBLElBQUksR0FBWSxPQUFPLEtBQW5CLEVBQUUsS0FBSyxHQUFLLE9BQU8sTUFBWixDQUFhO0lBQzFCLElBQUEsUUFBUSxHQUFxQixPQUFPLFNBQTVCLEVBQUUsSUFBSSxHQUFlLE9BQU8sS0FBdEIsRUFBRSxRQUFRLEdBQUssT0FBTyxTQUFaLENBQWE7SUFDM0MsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtRQUMzQyxRQUFRLElBQUksR0FBRyxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxJQUFJLEVBQUU7UUFDUixRQUFRLElBQUksTUFBSSxJQUFNLENBQUM7S0FDeEI7SUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtRQUNsQyxJQUFJLEdBQUcsTUFBSSxJQUFNLENBQUM7S0FDbkI7SUFDRCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtRQUN6QyxXQUFXLEdBQUcsTUFBSSxXQUFhLENBQUM7S0FDakM7SUFDRCxPQUFVLFFBQVEsVUFBSyxRQUFRLEdBQUcsSUFBSSxHQUFHLFdBQWEsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYnVpbGRRdWVyeVN0cmluZyB9IGZyb20gXCJAYXdzLXNkay9xdWVyeXN0cmluZy1idWlsZGVyXCI7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VXJsKHJlcXVlc3Q6IE9taXQ8SHR0cFJlcXVlc3QsIFwiaGVhZGVyc1wiIHwgXCJtZXRob2RcIj4pOiBzdHJpbmcge1xuICBjb25zdCB7IHBvcnQsIHF1ZXJ5IH0gPSByZXF1ZXN0O1xuICBsZXQgeyBwcm90b2NvbCwgcGF0aCwgaG9zdG5hbWUgfSA9IHJlcXVlc3Q7XG4gIGlmIChwcm90b2NvbCAmJiBwcm90b2NvbC5zdWJzdHIoLTEpICE9PSBcIjpcIikge1xuICAgIHByb3RvY29sICs9IFwiOlwiO1xuICB9XG4gIGlmIChwb3J0KSB7XG4gICAgaG9zdG5hbWUgKz0gYDoke3BvcnR9YDtcbiAgfVxuICBpZiAocGF0aCAmJiBwYXRoLmNoYXJBdCgwKSAhPT0gXCIvXCIpIHtcbiAgICBwYXRoID0gYC8ke3BhdGh9YDtcbiAgfVxuICBsZXQgcXVlcnlTdHJpbmcgPSBxdWVyeSA/IGJ1aWxkUXVlcnlTdHJpbmcocXVlcnkpIDogXCJcIjtcbiAgaWYgKHF1ZXJ5U3RyaW5nICYmIHF1ZXJ5U3RyaW5nWzBdICE9PSBcIj9cIikge1xuICAgIHF1ZXJ5U3RyaW5nID0gYD8ke3F1ZXJ5U3RyaW5nfWA7XG4gIH1cbiAgcmV0dXJuIGAke3Byb3RvY29sfS8vJHtob3N0bmFtZX0ke3BhdGh9JHtxdWVyeVN0cmluZ31gO1xufVxuIl19","import { __awaiter, __generator } from \"tslib\";\nexport function createRequest(client, command) {\n return __awaiter(this, void 0, void 0, function () {\n var interceptMiddleware, clientStack, handler;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n interceptMiddleware = function (next) { return function (args) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, { output: { request: args.request }, response: undefined }];\n });\n }); }; };\n clientStack = client.middlewareStack.clone();\n // @ts-ignore: add middleware to the last of 'build' step\n clientStack.add(interceptMiddleware, {\n step: \"build\",\n priority: \"low\",\n });\n handler = command.resolveMiddleware(clientStack, client.config, undefined);\n return [4 /*yield*/, handler(command).then(function (output) { return output.output.request; })];\n case 1: \n // @ts-ignore\n return [2 /*return*/, _a.sent()];\n }\n });\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE1BQU0sVUFBZ0IsYUFBYSxDQUtqQyxNQUF5RCxFQUN6RCxPQUE2RTs7Ozs7OztvQkFHdkUsbUJBQW1CLEdBQTJDLFVBQUMsSUFBSSxJQUFLLE9BQUEsVUFBTyxJQUFJOzs0QkFDdkYsc0JBQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBQzs7eUJBQzFFLEVBRjZFLENBRTdFLENBQUM7b0JBQ0ksV0FBVyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBRW5ELHlEQUF5RDtvQkFDekQsV0FBVyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRTt3QkFDbkMsSUFBSSxFQUFFLE9BQU87d0JBQ2IsUUFBUSxFQUFFLEtBQUs7cUJBQ2hCLENBQUMsQ0FBQztvQkFFRyxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUcxRSxxQkFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsTUFBTSxJQUFLLE9BQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQXJCLENBQXFCLENBQUMsRUFBQTs7Z0JBRHJFLGFBQWE7Z0JBQ2Isc0JBQU8sU0FBOEQsRUFBQzs7OztDQUN2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudCwgQ29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9zbWl0aHktY2xpZW50XCI7XG5pbXBvcnQgeyBCdWlsZE1pZGRsZXdhcmUsIEh0dHBSZXF1ZXN0LCBNZXRhZGF0YUJlYXJlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlUmVxdWVzdDxcbiAgSW5wdXRUeXBlc1VuaW9uIGV4dGVuZHMgb2JqZWN0LFxuICBJbnB1dFR5cGUgZXh0ZW5kcyBJbnB1dFR5cGVzVW5pb24sXG4gIE91dHB1dFR5cGUgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlciA9IE1ldGFkYXRhQmVhcmVyXG4+KFxuICBjbGllbnQ6IENsaWVudDxhbnksIElucHV0VHlwZXNVbmlvbiwgTWV0YWRhdGFCZWFyZXIsIGFueT4sXG4gIGNvbW1hbmQ6IENvbW1hbmQ8SW5wdXRUeXBlLCBPdXRwdXRUeXBlLCBhbnksIElucHV0VHlwZXNVbmlvbiwgTWV0YWRhdGFCZWFyZXI+XG4pOiBQcm9taXNlPEh0dHBSZXF1ZXN0PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgY29uc3QgaW50ZXJjZXB0TWlkZGxld2FyZTogQnVpbGRNaWRkbGV3YXJlPElucHV0VHlwZSwgT3V0cHV0VHlwZT4gPSAobmV4dCkgPT4gYXN5bmMgKGFyZ3MpID0+IHtcbiAgICByZXR1cm4geyBvdXRwdXQ6IHsgcmVxdWVzdDogYXJncy5yZXF1ZXN0IH0gYXMgYW55LCByZXNwb25zZTogdW5kZWZpbmVkIH07XG4gIH07XG4gIGNvbnN0IGNsaWVudFN0YWNrID0gY2xpZW50Lm1pZGRsZXdhcmVTdGFjay5jbG9uZSgpO1xuXG4gIC8vIEB0cy1pZ25vcmU6IGFkZCBtaWRkbGV3YXJlIHRvIHRoZSBsYXN0IG9mICdidWlsZCcgc3RlcFxuICBjbGllbnRTdGFjay5hZGQoaW50ZXJjZXB0TWlkZGxld2FyZSwge1xuICAgIHN0ZXA6IFwiYnVpbGRcIixcbiAgICBwcmlvcml0eTogXCJsb3dcIixcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlciA9IGNvbW1hbmQucmVzb2x2ZU1pZGRsZXdhcmUoY2xpZW50U3RhY2ssIGNsaWVudC5jb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gYXdhaXQgaGFuZGxlcihjb21tYW5kKS50aGVuKChvdXRwdXQpID0+IG91dHB1dC5vdXRwdXQucmVxdWVzdCk7XG59XG4iXX0=","export var StorageErrorStrings;\n(function (StorageErrorStrings) {\n StorageErrorStrings[\"NO_CREDENTIALS\"] = \"No credentials\";\n StorageErrorStrings[\"NO_SRC_KEY\"] = \"source param should be an object with the property \\\"key\\\" with value of type string\";\n StorageErrorStrings[\"NO_DEST_KEY\"] = \"destination param should be an object with the property \\\"key\\\" with value of type string\";\n StorageErrorStrings[\"INVALID_BLOB\"] = \"Object must be an instance of Blob\";\n})(StorageErrorStrings || (StorageErrorStrings = {}));\nexport var AWSS3ProviderMultipartCopierErrors;\n(function (AWSS3ProviderMultipartCopierErrors) {\n AWSS3ProviderMultipartCopierErrors[\"CLEANUP_FAILED\"] = \"Multipart copy clean up failed\";\n AWSS3ProviderMultipartCopierErrors[\"NO_OBJECT_FOUND\"] = \"Object does not exist\";\n AWSS3ProviderMultipartCopierErrors[\"INVALID_QUEUESIZE\"] = \"Queue size must be a positive number\";\n AWSS3ProviderMultipartCopierErrors[\"NO_COPYSOURCE\"] = \"You must specify a copy source\";\n AWSS3ProviderMultipartCopierErrors[\"MAX_NUM_PARTS_EXCEEDED\"] = \"Only a maximum of 10000 parts are allowed\";\n})(AWSS3ProviderMultipartCopierErrors || (AWSS3ProviderMultipartCopierErrors = {}));\nexport var AWSS3ProviderUploadErrorStrings;\n(function (AWSS3ProviderUploadErrorStrings) {\n AWSS3ProviderUploadErrorStrings[\"UPLOAD_PAUSED_MESSAGE\"] = \"paused\";\n})(AWSS3ProviderUploadErrorStrings || (AWSS3ProviderUploadErrorStrings = {}));\n//# sourceMappingURL=StorageErrorStrings.js.map","export var UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport var SHA256_HEADER = \"X-Amz-Content-Sha256\";\nexport var ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport var CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport var AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport var SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport var EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport var HOST_HEADER = \"host\";\nexport var ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUNuRCxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsc0JBQXNCLENBQUM7QUFFcEQsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsaUJBQWlCLENBQUM7QUFDdkQsTUFBTSxDQUFDLElBQU0sc0JBQXNCLEdBQUcsa0JBQWtCLENBQUM7QUFDekQsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxJQUFNLDBCQUEwQixHQUFHLHFCQUFxQixDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLGVBQWUsQ0FBQztBQUNuRCxNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDO0FBQ2xDLE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVOU0lHTkVEX1BBWUxPQUQgPSBcIlVOU0lHTkVELVBBWUxPQURcIjtcbmV4cG9ydCBjb25zdCBTSEEyNTZfSEVBREVSID0gXCJYLUFtei1Db250ZW50LVNoYTI1NlwiO1xuXG5leHBvcnQgY29uc3QgQUxHT1JJVEhNX1FVRVJZX1BBUkFNID0gXCJYLUFtei1BbGdvcml0aG1cIjtcbmV4cG9ydCBjb25zdCBDUkVERU5USUFMX1FVRVJZX1BBUkFNID0gXCJYLUFtei1DcmVkZW50aWFsXCI7XG5leHBvcnQgY29uc3QgQU1aX0RBVEVfUVVFUllfUEFSQU0gPSBcIlgtQW16LURhdGVcIjtcbmV4cG9ydCBjb25zdCBTSUdORURfSEVBREVSU19RVUVSWV9QQVJBTSA9IFwiWC1BbXotU2lnbmVkSGVhZGVyc1wiO1xuZXhwb3J0IGNvbnN0IEVYUElSRVNfUVVFUllfUEFSQU0gPSBcIlgtQW16LUV4cGlyZXNcIjtcbmV4cG9ydCBjb25zdCBIT1NUX0hFQURFUiA9IFwiaG9zdFwiO1xuZXhwb3J0IGNvbnN0IEFMR09SSVRITV9JREVOVElGSUVSID0gXCJBV1M0LUhNQUMtU0hBMjU2XCI7XG4iXX0=","import { __assign, __awaiter, __generator, __rest } from \"tslib\";\nimport { SignatureV4 } from \"@aws-sdk/signature-v4\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nvar S3RequestPresigner = /** @class */ (function () {\n function S3RequestPresigner(options) {\n var resolvedOptions = __assign({ \n // Allow `signingName` because we want to support usecase of supply client's resolved config\n // directly. Where service equals signingName.\n service: options.signingName || options.service || \"s3\", uriEscapePath: options.uriEscapePath || false }, options);\n this.signer = new SignatureV4(resolvedOptions);\n }\n S3RequestPresigner.prototype.presign = function (requestToSign, _a) {\n if (_a === void 0) { _a = {}; }\n var _b = _a.unsignableHeaders, unsignableHeaders = _b === void 0 ? new Set() : _b, _c = _a.unhoistableHeaders, unhoistableHeaders = _c === void 0 ? new Set() : _c, options = __rest(_a, [\"unsignableHeaders\", \"unhoistableHeaders\"]);\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_d) {\n unsignableHeaders.add(\"content-type\");\n // S3 requires SSE headers to be signed in headers instead of query\n // See: https://github.com/aws/aws-sdk-js-v3/issues/1576\n Object.keys(requestToSign.headers)\n .map(function (header) { return header.toLowerCase(); })\n .filter(function (header) { return header.startsWith(\"x-amz-server-side-encryption\"); })\n .forEach(function (header) {\n unhoistableHeaders.add(header);\n });\n requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;\n if (!requestToSign.headers[\"host\"]) {\n requestToSign.headers.host = requestToSign.hostname;\n }\n return [2 /*return*/, this.signer.presign(requestToSign, __assign({ expiresIn: 900, unsignableHeaders: unsignableHeaders,\n unhoistableHeaders: unhoistableHeaders }, options))];\n });\n });\n };\n return S3RequestPresigner;\n}());\nexport { S3RequestPresigner };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNpZ25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBMEMsTUFBTSx1QkFBdUIsQ0FBQztBQUk1RixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYzlEO0lBRUUsNEJBQVksT0FBa0M7UUFDNUMsSUFBTSxlQUFlO1lBQ25CLDRGQUE0RjtZQUM1Riw4Q0FBOEM7WUFDOUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQ3ZELGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUssSUFDMUMsT0FBTyxDQUNYLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFWSxvQ0FBTyxHQUFwQixVQUNFLGFBQTJCLEVBQzNCLEVBQThHO1FBQTlHLG1CQUFBLEVBQUEsT0FBOEc7UUFBNUcsSUFBQSx5QkFBNkIsRUFBN0IsaUJBQWlCLG1CQUFHLElBQUksR0FBRyxFQUFFLEtBQUEsRUFBRSwwQkFBOEIsRUFBOUIsa0JBQWtCLG1CQUFHLElBQUksR0FBRyxFQUFFLEtBQUEsRUFBSyxPQUFPLGNBQTNFLDJDQUE2RSxDQUFGOzs7Z0JBRTNFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDdEMsbUVBQW1FO2dCQUNuRSx3REFBd0Q7Z0JBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztxQkFDL0IsR0FBRyxDQUFDLFVBQUMsTUFBTSxJQUFLLE9BQUEsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFwQixDQUFvQixDQUFDO3FCQUNyQyxNQUFNLENBQUMsVUFBQyxNQUFNLElBQUssT0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLEVBQWpELENBQWlELENBQUM7cUJBQ3JFLE9BQU8sQ0FBQyxVQUFDLE1BQU07b0JBQ2Qsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsQ0FBQztnQkFDTCxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO2dCQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDbEMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztpQkFDckQ7Z0JBQ0Qsc0JBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxhQUN0QyxTQUFTLEVBQUUsR0FBRyxFQUNkLGlCQUFpQixtQkFBQTt3QkFDakIsa0JBQWtCLG9CQUFBLElBQ2YsT0FBTyxFQUNWLEVBQUM7OztLQUNKO0lBQ0gseUJBQUM7QUFBRCxDQUFDLEFBckNELElBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmF0dXJlVjQsIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCwgU2lnbmF0dXJlVjRJbml0IH0gZnJvbSBcIkBhd3Mtc2RrL3NpZ25hdHVyZS12NFwiO1xuaW1wb3J0IHsgUmVxdWVzdFByZXNpZ25lciwgUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IEh0dHBSZXF1ZXN0IGFzIElIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBTSEEyNTZfSEVBREVSLCBVTlNJR05FRF9QQVlMT0FEIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogUGFydGlhbEJ5PFQsIEs+IG1ha2VzIHByb3BlcnRpZXMgc3BlY2lmaWVkIGluIEsgb3B0aW9uYWwgaW4gaW50ZXJmYWNlIFRcbiAqIHNlZTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDMxNTk4ODcvbWFrZS1hLXNpbmdsZS1wcm9wZXJ0eS1vcHRpb25hbC1pbi10eXBlc2NyaXB0XG4gKiAqL1xudHlwZSBPbWl0PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IFBpY2s8VCwgRXhjbHVkZTxrZXlvZiBULCBLPj47XG50eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgUzNSZXF1ZXN0UHJlc2lnbmVyT3B0aW9ucyA9IFBhcnRpYWxCeTxcbiAgU2lnbmF0dXJlVjRJbml0ICYgU2lnbmF0dXJlVjRDcnlwdG9Jbml0LFxuICBcInNlcnZpY2VcIiB8IFwidXJpRXNjYXBlUGF0aFwiXG4+ICYgeyBzaWduaW5nTmFtZT86IHN0cmluZyB9O1xuXG5leHBvcnQgY2xhc3MgUzNSZXF1ZXN0UHJlc2lnbmVyIGltcGxlbWVudHMgUmVxdWVzdFByZXNpZ25lciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2lnbmVyOiBTaWduYXR1cmVWNDtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUzNSZXF1ZXN0UHJlc2lnbmVyT3B0aW9ucykge1xuICAgIGNvbnN0IHJlc29sdmVkT3B0aW9ucyA9IHtcbiAgICAgIC8vIEFsbG93IGBzaWduaW5nTmFtZWAgYmVjYXVzZSB3ZSB3YW50IHRvIHN1cHBvcnQgdXNlY2FzZSBvZiBzdXBwbHkgY2xpZW50J3MgcmVzb2x2ZWQgY29uZmlnXG4gICAgICAvLyBkaXJlY3RseS4gV2hlcmUgc2VydmljZSBlcXVhbHMgc2lnbmluZ05hbWUuXG4gICAgICBzZXJ2aWNlOiBvcHRpb25zLnNpZ25pbmdOYW1lIHx8IG9wdGlvbnMuc2VydmljZSB8fCBcInMzXCIsXG4gICAgICB1cmlFc2NhcGVQYXRoOiBvcHRpb25zLnVyaUVzY2FwZVBhdGggfHwgZmFsc2UsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gICAgdGhpcy5zaWduZXIgPSBuZXcgU2lnbmF0dXJlVjQocmVzb2x2ZWRPcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcmVzaWduKFxuICAgIHJlcXVlc3RUb1NpZ246IElIdHRwUmVxdWVzdCxcbiAgICB7IHVuc2lnbmFibGVIZWFkZXJzID0gbmV3IFNldCgpLCB1bmhvaXN0YWJsZUhlYWRlcnMgPSBuZXcgU2V0KCksIC4uLm9wdGlvbnMgfTogUmVxdWVzdFByZXNpZ25pbmdBcmd1bWVudHMgPSB7fVxuICApOiBQcm9taXNlPElIdHRwUmVxdWVzdD4ge1xuICAgIHVuc2lnbmFibGVIZWFkZXJzLmFkZChcImNvbnRlbnQtdHlwZVwiKTtcbiAgICAvLyBTMyByZXF1aXJlcyBTU0UgaGVhZGVycyB0byBiZSBzaWduZWQgaW4gaGVhZGVycyBpbnN0ZWFkIG9mIHF1ZXJ5XG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1NzZcbiAgICBPYmplY3Qua2V5cyhyZXF1ZXN0VG9TaWduLmhlYWRlcnMpXG4gICAgICAubWFwKChoZWFkZXIpID0+IGhlYWRlci50b0xvd2VyQ2FzZSgpKVxuICAgICAgLmZpbHRlcigoaGVhZGVyKSA9PiBoZWFkZXIuc3RhcnRzV2l0aChcIngtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb25cIikpXG4gICAgICAuZm9yRWFjaCgoaGVhZGVyKSA9PiB7XG4gICAgICAgIHVuaG9pc3RhYmxlSGVhZGVycy5hZGQoaGVhZGVyKTtcbiAgICAgIH0pO1xuICAgIHJlcXVlc3RUb1NpZ24uaGVhZGVyc1tTSEEyNTZfSEVBREVSXSA9IFVOU0lHTkVEX1BBWUxPQUQ7XG4gICAgaWYgKCFyZXF1ZXN0VG9TaWduLmhlYWRlcnNbXCJob3N0XCJdKSB7XG4gICAgICByZXF1ZXN0VG9TaWduLmhlYWRlcnMuaG9zdCA9IHJlcXVlc3RUb1NpZ24uaG9zdG5hbWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNpZ25lci5wcmVzaWduKHJlcXVlc3RUb1NpZ24sIHtcbiAgICAgIGV4cGlyZXNJbjogOTAwLFxuICAgICAgdW5zaWduYWJsZUhlYWRlcnMsXG4gICAgICB1bmhvaXN0YWJsZUhlYWRlcnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","/*\n * Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { HttpResponse } from '@aws-sdk/protocol-http';\nimport { buildQueryString } from '@aws-sdk/querystring-builder';\nimport axios from 'axios';\nimport { ConsoleLogger as Logger, Platform } from '@aws-amplify/core';\nimport { AWSS3ProviderUploadErrorStrings } from '../common/StorageErrorStrings';\nvar logger = new Logger('axios-http-handler');\nexport var SEND_UPLOAD_PROGRESS_EVENT = 'sendUploadProgress';\nexport var SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';\nfunction isBlob(body) {\n return typeof Blob !== 'undefined' && body instanceof Blob;\n}\nfunction hasErrorResponse(error) {\n return (typeof error !== 'undefined' &&\n Object.prototype.hasOwnProperty.call(error, 'response') &&\n typeof error.response !== 'undefined' &&\n Object.prototype.hasOwnProperty.call(error.response, 'status') &&\n typeof error.response.status === 'number');\n}\nvar normalizeHeaders = function (headers, normalizedName) {\n var e_1, _a;\n try {\n for (var _b = __values(Object.entries(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), k = _d[0], v = _d[1];\n if (k !== normalizedName &&\n k.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = v;\n delete headers[k];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n};\nexport var reactNativeRequestTransformer = [\n function (data, headers) {\n if (isBlob(data)) {\n normalizeHeaders(headers, 'Content-Type');\n normalizeHeaders(headers, 'Accept');\n return data;\n }\n // Axios' default transformRequest is an array\n return axios.defaults.transformRequest[0].call(null, data, headers);\n },\n];\nvar AxiosHttpHandler = /** @class */ (function () {\n function AxiosHttpHandler(httpOptions, emitter, cancelTokenSource) {\n if (httpOptions === void 0) { httpOptions = {}; }\n this.httpOptions = httpOptions;\n this.emitter = emitter;\n this.cancelTokenSource = cancelTokenSource;\n }\n AxiosHttpHandler.prototype.destroy = function () {\n // Do nothing. TLS and HTTP/2 connection pooling is handled by the\n // browser.\n };\n AxiosHttpHandler.prototype.handle = function (request, options) {\n var requestTimeoutInMs = this.httpOptions.requestTimeout;\n // prioritize the call specific event emitter, this is useful for multipart upload as each individual parts has\n // their own event emitter, without having to create s3client for every individual calls.\n var emitter = options.emitter || this.emitter;\n var path = request.path;\n if (request.query) {\n var queryString = buildQueryString(request.query);\n if (queryString) {\n path += \"?\" + queryString;\n }\n }\n var port = request.port;\n var url = request.protocol + \"//\" + request.hostname + (port ? \":\" + port : '') + path;\n var axiosRequest = {};\n axiosRequest.url = url;\n axiosRequest.method = request.method;\n axiosRequest.headers = request.headers;\n // The host header is automatically added by the browser and adding it explicitly in the\n // axios request throws an error https://github.com/aws-amplify/amplify-js/issues/5376\n // This is because the host header is a forbidden header for the http client to set\n // see https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name and\n // https://fetch.spec.whatwg.org/#forbidden-header-name\n // The reason we are removing this header here instead of in the aws-sdk's client\n // middleware is that the host header is required to be in the request signature and if\n // we remove it from the middlewares, then the request fails because the header is added\n // by the browser but is absent from the signature.\n delete axiosRequest.headers['host'];\n if (request.body) {\n axiosRequest.data = request.body;\n }\n else {\n // Fix for https://github.com/aws-amplify/amplify-js/issues/5432\n // If the POST request body is empty but content-type header is set, axios is forcibly removing it\n // See https://github.com/axios/axios/issues/1535 and refusing to fix it https://github.com/axios/axios/issues/755\n // This change is a workaround to set the data as null (instead of undefined) to prevent axios from\n // removing the content-type header. Link for the source code\n // https://github.com/axios/axios/blob/dc4bc49673943e35280e5df831f5c3d0347a9393/lib/adapters/xhr.js#L121-L123\n if (axiosRequest.headers[Object.keys(axiosRequest.headers).find(function (key) { return key.toLowerCase() === 'content-type'; })]) {\n axiosRequest.data = null;\n }\n }\n if (emitter) {\n // TODO: Unify linting rules across JS repo\n axiosRequest.onUploadProgress = function (event) {\n emitter.emit(SEND_UPLOAD_PROGRESS_EVENT, event);\n logger.debug(event);\n };\n // TODO: Unify linting rules across JS repo\n axiosRequest.onDownloadProgress = function (event) {\n emitter.emit(SEND_DOWNLOAD_PROGRESS_EVENT, event);\n logger.debug(event);\n };\n }\n // If a cancel token source is passed down from the provider, allows cancellation of in-flight requests\n if (this.cancelTokenSource) {\n axiosRequest.cancelToken = this.cancelTokenSource.token;\n }\n if (options.cancelTokenSource) {\n axiosRequest.cancelToken = options.cancelTokenSource.token;\n }\n // From gamma release, aws-sdk now expects all response type to be of blob or streams\n axiosRequest.responseType = 'blob';\n // In Axios, Blobs are identified by calling Object.prototype.toString on the object. However, on React Native,\n // calling Object.prototype.toString on a Blob returns '[object Object]' instead of '[object Blob]', which causes\n // Axios to treat Blobs as generic Javascript objects. Therefore we need a to use a custom request transformer\n // to correctly handle Blob in React Native.\n if (Platform.isReactNative) {\n axiosRequest.transformRequest = reactNativeRequestTransformer;\n }\n var raceOfPromises = [\n axios\n .request(axiosRequest)\n .then(function (response) {\n return {\n response: new HttpResponse({\n headers: response.headers,\n statusCode: response.status,\n body: response.data,\n }),\n };\n })\n .catch(function (error) {\n var _a, _b;\n // Error\n if (error.message !==\n AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE) {\n logger.error(error.message);\n }\n // for axios' cancel error, we should re-throw it back so it's not considered an s3client error\n // if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line.\n //\n // for errors that does not have a 'response' object, it's very likely that it is an unexpected error for\n // example a disconnect. Without it we cannot meaningfully reconstruct a HttpResponse, and the AWS SDK might\n // consider the request successful by mistake. In this case we should also re-throw the error.\n if (axios.isCancel(error) || !hasErrorResponse(error)) {\n throw error;\n }\n // otherwise, we should re-construct an HttpResponse from the error, so that it can be passed down to other\n // aws sdk middleware (e.g retry, clock skew correction, error message serializing)\n return {\n response: new HttpResponse({\n statusCode: error.response.status,\n body: (_a = error.response) === null || _a === void 0 ? void 0 : _a.data,\n headers: (_b = error.response) === null || _b === void 0 ? void 0 : _b.headers,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n return Promise.race(raceOfPromises);\n };\n return AxiosHttpHandler;\n}());\nexport { AxiosHttpHandler };\nfunction requestTimeout(timeoutInMs) {\n if (timeoutInMs === void 0) { timeoutInMs = 0; }\n return new Promise(function (resolve, reject) {\n if (timeoutInMs) {\n setTimeout(function () {\n var timeoutError = new Error(\"Request did not complete within \" + timeoutInMs + \" ms\");\n timeoutError.name = 'TimeoutError';\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n//# sourceMappingURL=axios-http-handler.js.map","export var AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' &&\n typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nexport var SET_CONTENT_LENGTH_HEADER = 'contentLengthMiddleware';\nexport var localTestingStorageEndpoint = 'http://localhost:20005';\nexport var UPLOADS_STORAGE_KEY = '__uploadInProgress';\n//# sourceMappingURL=StorageConstants.js.map","import { Hub } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL } from './StorageConstants';\nexport var byteLength = function (x) {\n if (typeof x === 'string') {\n return x.length;\n }\n else if (isArrayBuffer(x)) {\n return x.byteLength;\n }\n else if (isBlob(x)) {\n return x.size;\n }\n else {\n throw new Error('Cannot determine byte length of ' + x);\n }\n};\nexport var dispatchStorageEvent = function (track, event, attrs, metrics, message) {\n if (track) {\n var data = { attrs: attrs };\n if (metrics) {\n data['metrics'] = metrics;\n }\n Hub.dispatch('storage', {\n event: event,\n data: data,\n message: message,\n }, 'Storage', AMPLIFY_SYMBOL);\n }\n};\nexport var isFile = function (x) {\n return typeof x !== 'undefined' && x instanceof File;\n};\nexport var isBlob = function (x) {\n return typeof x !== 'undefined' && x instanceof Blob;\n};\nvar isArrayBuffer = function (x) {\n return typeof x !== 'undefined' && x instanceof ArrayBuffer;\n};\n//# sourceMappingURL=StorageUtils.js.map","import { toHex } from \"@aws-sdk/util-hex-encoding\";\n/**\n * A lossless representation of a signed, 64-bit integer. Instances of this\n * class may be used in arithmetic expressions as if they were numeric\n * primitives, but the binary representation will be preserved unchanged as the\n * `bytes` property of the object. The bytes should be encoded as big-endian,\n * two's complement integers.\n */\nvar Int64 = /** @class */ (function () {\n function Int64(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n Int64.fromNumber = function (number) {\n if (number > 9223372036854775807 || number < -9223372036854775808) {\n throw new Error(number + \" is too large (or, if negative, too small) to represent as an Int64\");\n }\n var bytes = new Uint8Array(8);\n for (var i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n };\n /**\n * Called implicitly by infix arithmetic operators.\n */\n Int64.prototype.valueOf = function () {\n var bytes = this.bytes.slice(0);\n var negative = bytes[0] & 128;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n };\n Int64.prototype.toString = function () {\n return String(this.valueOf());\n };\n return Int64;\n}());\nexport { Int64 };\nfunction negate(bytes) {\n for (var i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (var i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50NjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvSW50NjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSW5EOzs7Ozs7R0FNRztBQUNIO0lBQ0UsZUFBcUIsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNwQyxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssQ0FBQyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFTSxnQkFBVSxHQUFqQixVQUFrQixNQUFjO1FBQzlCLElBQUksTUFBTSxHQUFHLG1CQUFtQixJQUFJLE1BQU0sR0FBRyxDQUFDLG1CQUFtQixFQUFFO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUksTUFBTSx3RUFBcUUsQ0FBQyxDQUFDO1NBQ2pHO1FBRUQsSUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsSUFBSSxHQUFHLEVBQUU7WUFDeEcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztTQUN0QjtRQUVELElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNkLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBTyxHQUFQO1FBQ0UsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQVUsQ0FBQztRQUN2QyxJQUFJLFFBQVEsRUFBRTtZQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBRUQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELHdCQUFRLEdBQVI7UUFDRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0gsWUFBQztBQUFELENBQUMsQUF4Q0QsSUF3Q0M7O0FBRUQsU0FBUyxNQUFNLENBQUMsS0FBaUI7SUFDL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMxQixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0tBQ2xCO0lBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzNCLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1gsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUFFLE1BQU07S0FDM0I7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50NjQgYXMgSUludDY0IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludDY0IGV4dGVuZHMgSUludDY0IHt9XG5cbi8qKlxuICogQSBsb3NzbGVzcyByZXByZXNlbnRhdGlvbiBvZiBhIHNpZ25lZCwgNjQtYml0IGludGVnZXIuIEluc3RhbmNlcyBvZiB0aGlzXG4gKiBjbGFzcyBtYXkgYmUgdXNlZCBpbiBhcml0aG1ldGljIGV4cHJlc3Npb25zIGFzIGlmIHRoZXkgd2VyZSBudW1lcmljXG4gKiBwcmltaXRpdmVzLCBidXQgdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbiB3aWxsIGJlIHByZXNlcnZlZCB1bmNoYW5nZWQgYXMgdGhlXG4gKiBgYnl0ZXNgIHByb3BlcnR5IG9mIHRoZSBvYmplY3QuIFRoZSBieXRlcyBzaG91bGQgYmUgZW5jb2RlZCBhcyBiaWctZW5kaWFuLFxuICogdHdvJ3MgY29tcGxlbWVudCBpbnRlZ2Vycy5cbiAqL1xuZXhwb3J0IGNsYXNzIEludDY0IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBpZiAoYnl0ZXMuYnl0ZUxlbmd0aCAhPT0gOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW50NjQgYnVmZmVycyBtdXN0IGJlIGV4YWN0bHkgOCBieXRlc1wiKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZnJvbU51bWJlcihudW1iZXI6IG51bWJlcik6IEludDY0IHtcbiAgICBpZiAobnVtYmVyID4gOTIyMzM3MjAzNjg1NDc3NTgwNyB8fCBudW1iZXIgPCAtOTIyMzM3MjAzNjg1NDc3NTgwOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke251bWJlcn0gaXMgdG9vIGxhcmdlIChvciwgaWYgbmVnYXRpdmUsIHRvbyBzbWFsbCkgdG8gcmVwcmVzZW50IGFzIGFuIEludDY0YCk7XG4gICAgfVxuXG4gICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheSg4KTtcbiAgICBmb3IgKGxldCBpID0gNywgcmVtYWluaW5nID0gTWF0aC5hYnMoTWF0aC5yb3VuZChudW1iZXIpKTsgaSA+IC0xICYmIHJlbWFpbmluZyA+IDA7IGktLSwgcmVtYWluaW5nIC89IDI1Nikge1xuICAgICAgYnl0ZXNbaV0gPSByZW1haW5pbmc7XG4gICAgfVxuXG4gICAgaWYgKG51bWJlciA8IDApIHtcbiAgICAgIG5lZ2F0ZShieXRlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbnQ2NChieXRlcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIGltcGxpY2l0bHkgYnkgaW5maXggYXJpdGhtZXRpYyBvcGVyYXRvcnMuXG4gICAqL1xuICB2YWx1ZU9mKCk6IG51bWJlciB7XG4gICAgY29uc3QgYnl0ZXMgPSB0aGlzLmJ5dGVzLnNsaWNlKDApO1xuICAgIGNvbnN0IG5lZ2F0aXZlID0gYnl0ZXNbMF0gJiAwYjEwMDAwMDAwO1xuICAgIGlmIChuZWdhdGl2ZSkge1xuICAgICAgbmVnYXRlKGJ5dGVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyc2VJbnQodG9IZXgoYnl0ZXMpLCAxNikgKiAobmVnYXRpdmUgPyAtMSA6IDEpO1xuICB9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLnZhbHVlT2YoKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbmVnYXRlKGJ5dGVzOiBVaW50OEFycmF5KTogdm9pZCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgODsgaSsrKSB7XG4gICAgYnl0ZXNbaV0gXj0gMHhmZjtcbiAgfVxuXG4gIGZvciAobGV0IGkgPSA3OyBpID4gLTE7IGktLSkge1xuICAgIGJ5dGVzW2ldKys7XG4gICAgaWYgKGJ5dGVzW2ldICE9PSAwKSBicmVhaztcbiAgfVxufVxuIl19","import { __values } from \"tslib\";\nimport { fromHex, toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\n/**\n * @internal\n */\nvar HeaderMarshaller = /** @class */ (function () {\n function HeaderMarshaller(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n HeaderMarshaller.prototype.format = function (headers) {\n var e_1, _a, e_2, _b;\n var chunks = [];\n try {\n for (var _c = __values(Object.keys(headers)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var headerName = _d.value;\n var bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var out = new Uint8Array(chunks.reduce(function (carry, bytes) { return carry + bytes.byteLength; }, 0));\n var position = 0;\n try {\n for (var chunks_1 = __values(chunks), chunks_1_1 = chunks_1.next(); !chunks_1_1.done; chunks_1_1 = chunks_1.next()) {\n var chunk = chunks_1_1.value;\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (chunks_1_1 && !chunks_1_1.done && (_b = chunks_1.return)) _b.call(chunks_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return out;\n };\n HeaderMarshaller.prototype.formatHeaderValue = function (header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 /* boolTrue */ : 1 /* boolFalse */]);\n case \"byte\":\n return Uint8Array.from([2 /* byte */, header.value]);\n case \"short\":\n var shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3 /* short */);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n var intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4 /* integer */);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n var longBytes = new Uint8Array(9);\n longBytes[0] = 5 /* long */;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n var binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6 /* byteArray */);\n binView.setUint16(1, header.value.byteLength, false);\n var binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n var utf8Bytes = this.fromUtf8(header.value);\n var strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7 /* string */);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n var strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n var tsBytes = new Uint8Array(9);\n tsBytes[0] = 8 /* timestamp */;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(\"Invalid UUID received: \" + header.value);\n }\n var uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9 /* uuid */;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n };\n HeaderMarshaller.prototype.parse = function (headers) {\n var out = {};\n var position = 0;\n while (position < headers.byteLength) {\n var nameLength = headers.getUint8(position++);\n var name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0 /* boolTrue */:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1 /* boolFalse */:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2 /* byte */:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3 /* short */:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4 /* integer */:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5 /* long */:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6 /* byteArray */:\n var binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7 /* string */:\n var stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8 /* timestamp */:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9 /* uuid */:\n var uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: toHex(uuidBytes.subarray(0, 4)) + \"-\" + toHex(uuidBytes.subarray(4, 6)) + \"-\" + toHex(uuidBytes.subarray(6, 8)) + \"-\" + toHex(uuidBytes.subarray(8, 10)) + \"-\" + toHex(uuidBytes.subarray(10)),\n };\n break;\n default:\n throw new Error(\"Unrecognized header type tag\");\n }\n }\n return out;\n };\n return HeaderMarshaller;\n}());\nexport { HeaderMarshaller };\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nvar BOOLEAN_TAG = \"boolean\";\nvar BYTE_TAG = \"byte\";\nvar SHORT_TAG = \"short\";\nvar INT_TAG = \"integer\";\nvar LONG_TAG = \"long\";\nvar BINARY_TAG = \"binary\";\nvar STRING_TAG = \"string\";\nvar TIMESTAMP_TAG = \"timestamp\";\nvar UUID_TAG = \"uuid\";\nvar UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhZGVyTWFyc2hhbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9IZWFkZXJNYXJzaGFsbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEM7O0dBRUc7QUFDSDtJQUNFLDBCQUE2QixNQUFlLEVBQW1CLFFBQWlCO1FBQW5ELFdBQU0sR0FBTixNQUFNLENBQVM7UUFBbUIsYUFBUSxHQUFSLFFBQVEsQ0FBUztJQUFHLENBQUM7SUFFcEYsaUNBQU0sR0FBTixVQUFPLE9BQXVCOztRQUM1QixJQUFNLE1BQU0sR0FBc0IsRUFBRSxDQUFDOztZQUVyQyxLQUF5QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO2dCQUExQyxJQUFNLFVBQVUsV0FBQTtnQkFDbkIsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RHOzs7Ozs7Ozs7UUFFRCxJQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQUMsS0FBSyxFQUFFLEtBQUssSUFBSyxPQUFBLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxFQUF4QixDQUF3QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDOztZQUNqQixLQUFvQixJQUFB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QUMxQixpRUFBWSxDQUFBO0lBQ1osbUVBQVMsQ0FBQTtJQUNULHlEQUFJLENBQUE7SUFDSiwyREFBSyxDQUFBO0lBQ0wsK0RBQU8sQ0FBQTtJQUNQLHlEQUFJLENBQUE7SUFDSixtRUFBUyxDQUFBO0lBQ1QsNkRBQU0sQ0FBQTtJQUNOLG1FQUFTLENBQUE7SUFDVCx5REFBSSxDQUFBO0FBQ04sQ0FBQyxFQVhVLGlCQUFpQixLQUFqQixpQkFBaUIsUUFXM0I7QUFFRCxJQUFNLFdBQVcsR0FBRyxTQUFTLENBQUM7QUFDOUIsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQztBQUMxQixJQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDMUIsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLElBQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQztBQUM1QixJQUFNLFVBQVUsR0FBRyxRQUFRLENBQUM7QUFDNUIsSUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDO0FBQ2xDLElBQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUV4QixJQUFNLFlBQVksR0FBRyxnRUFBZ0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY29kZXIsIEVuY29kZXIsIE1lc3NhZ2VIZWFkZXJzLCBNZXNzYWdlSGVhZGVyVmFsdWUgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IGZyb21IZXgsIHRvSGV4IH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtaGV4LWVuY29kaW5nXCI7XG5cbmltcG9ydCB7IEludDY0IH0gZnJvbSBcIi4vSW50NjRcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIEhlYWRlck1hcnNoYWxsZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRvVXRmODogRW5jb2RlciwgcHJpdmF0ZSByZWFkb25seSBmcm9tVXRmODogRGVjb2Rlcikge31cblxuICBmb3JtYXQoaGVhZGVyczogTWVzc2FnZUhlYWRlcnMpOiBVaW50OEFycmF5IHtcbiAgICBjb25zdCBjaHVua3M6IEFycmF5PFVpbnQ4QXJyYXk+ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGhlYWRlck5hbWUgb2YgT2JqZWN0LmtleXMoaGVhZGVycykpIHtcbiAgICAgIGNvbnN0IGJ5dGVzID0gdGhpcy5mcm9tVXRmOChoZWFkZXJOYW1lKTtcbiAgICAgIGNodW5rcy5wdXNoKFVpbnQ4QXJyYXkuZnJvbShbYnl0ZXMuYnl0ZUxlbmd0aF0pLCBieXRlcywgdGhpcy5mb3JtYXRIZWFkZXJWYWx1ZShoZWFkZXJzW2hlYWRlck5hbWVdKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0ID0gbmV3IFVpbnQ4QXJyYXkoY2h1bmtzLnJlZHVjZSgoY2FycnksIGJ5dGVzKSA9PiBjYXJyeSArIGJ5dGVzLmJ5dGVMZW5ndGgsIDApKTtcbiAgICBsZXQgcG9zaXRpb24gPSAwO1xuICAgIGZvciAoY29uc3QgY2h1bmsgb2YgY2h1bmtzKSB7XG4gICAgICBvdXQuc2V0KGNodW5rLCBwb3NpdGlvbik7XG4gICAgICBwb3NpdGlvbiArPSBjaHVuay5ieXRlTGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQ7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEhlYWRlclZhbHVlKGhlYWRlcjogTWVzc2FnZUhlYWRlclZhbHVlKTogVWludDhBcnJheSB7XG4gICAgc3dpdGNoIChoZWFkZXIudHlwZSkge1xuICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShbaGVhZGVyLnZhbHVlID8gSEVBREVSX1ZBTFVFX1RZUEUuYm9vbFRydWUgOiBIRUFERVJfVkFMVUVfVFlQRS5ib29sRmFsc2VdKTtcbiAgICAgIGNhc2UgXCJieXRlXCI6XG4gICAgICAgIHJldHVybiBVaW50OEFycmF5LmZyb20oW0hFQURFUl9WQUxVRV9UWVBFLmJ5dGUsIGhlYWRlci52YWx1ZV0pO1xuICAgICAgY2FzZSBcInNob3J0XCI6XG4gICAgICAgIGNvbnN0IHNob3J0VmlldyA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMykpO1xuICAgICAgICBzaG9ydFZpZXcuc2V0VWludDgoMCwgSEVBREVSX1ZBTFVFX1RZUEUuc2hvcnQpO1xuICAgICAgICBzaG9ydFZpZXcuc2V0SW50MTYoMSwgaGVhZGVyLnZhbHVlLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShzaG9ydFZpZXcuYnVmZmVyKTtcbiAgICAgIGNhc2UgXCJpbnRlZ2VyXCI6XG4gICAgICAgIGNvbnN0IGludFZpZXcgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDUpKTtcbiAgICAgICAgaW50Vmlldy5zZXRVaW50OCgwLCBIRUFERVJfVkFMVUVfVFlQRS5pbnRlZ2VyKTtcbiAgICAgICAgaW50Vmlldy5zZXRJbnQzMigxLCBoZWFkZXIudmFsdWUsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGludFZpZXcuYnVmZmVyKTtcbiAgICAgIGNhc2UgXCJsb25nXCI6XG4gICAgICAgIGNvbnN0IGxvbmdCeXRlcyA9IG5ldyBVaW50OEFycmF5KDkpO1xuICAgICAgICBsb25nQnl0ZXNbMF0gPSBIRUFERVJfVkFMVUVfVFlQRS5sb25nO1xuICAgICAgICBsb25nQnl0ZXMuc2V0KGhlYWRlci52YWx1ZS5ieXRlcywgMSk7XG4gICAgICAgIHJldHVybiBsb25nQnl0ZXM7XG4gICAgICBjYXNlIFwiYmluYXJ5XCI6XG4gICAgICAgIGNvbnN0IGJpblZpZXcgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDMgKyBoZWFkZXIudmFsdWUuYnl0ZUxlbmd0aCkpO1xuICAgICAgICBiaW5WaWV3LnNldFVpbnQ4KDAsIEhFQURFUl9WQUxVRV9UWVBFLmJ5dGVBcnJheSk7XG4gICAgICAgIGJpblZpZXcuc2V0VWludDE2KDEsIGhlYWRlci52YWx1ZS5ieXRlTGVuZ3RoLCBmYWxzZSk7XG4gICAgICAgIGNvbnN0IGJpbkJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYmluVmlldy5idWZmZXIpO1xuICAgICAgICBiaW5CeXRlcy5zZXQoaGVhZGVyLnZhbHVlLCAzKTtcbiAgICAgICAgcmV0dXJuIGJpbkJ5dGVzO1xuICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICBjb25zdCB1dGY4Qnl0ZXMgPSB0aGlzLmZyb21VdGY4KGhlYWRlci52YWx1ZSk7XG4gICAgICAgIGNvbnN0IHN0clZpZXcgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDMgKyB1dGY4Qnl0ZXMuYnl0ZUxlbmd0aCkpO1xuICAgICAgICBzdHJWaWV3LnNldFVpbnQ4KDAsIEhFQURFUl9WQUxVRV9UWVBFLnN0cmluZyk7XG4gICAgICAgIHN0clZpZXcuc2V0VWludDE2KDEsIHV0ZjhCeXRlcy5ieXRlTGVuZ3RoLCBmYWxzZSk7XG4gICAgICAgIGNvbnN0IHN0ckJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoc3RyVmlldy5idWZmZXIpO1xuICAgICAgICBzdHJCeXRlcy5zZXQodXRmOEJ5dGVzLCAzKTtcbiAgICAgICAgcmV0dXJuIHN0ckJ5dGVzO1xuICAgICAgY2FzZSBcInRpbWVzdGFtcFwiOlxuICAgICAgICBjb25zdCB0c0J5dGVzID0gbmV3IFVpbnQ4QXJyYXkoOSk7XG4gICAgICAgIHRzQnl0ZXNbMF0gPSBIRUFERVJfVkFMVUVfVFlQRS50aW1lc3RhbXA7XG4gICAgICAgIHRzQnl0ZXMuc2V0KEludDY0LmZyb21OdW1iZXIoaGVhZGVyLnZhbHVlLnZhbHVlT2YoKSkuYnl0ZXMsIDEpO1xuICAgICAgICByZXR1cm4gdHNCeXRlcztcbiAgICAgIGNhc2UgXCJ1dWlkXCI6XG4gICAgICAgIGlmICghVVVJRF9QQVRURVJOLnRlc3QoaGVhZGVyLnZhbHVlKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBVVUlEIHJlY2VpdmVkOiAke2hlYWRlci52YWx1ZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHV1aWRCeXRlcyA9IG5ldyBVaW50OEFycmF5KDE3KTtcbiAgICAgICAgdXVpZEJ5dGVzWzBdID0gSEVBREVSX1ZBTFVFX1RZUEUudXVpZDtcbiAgICAgICAgdXVpZEJ5dGVzLnNldChmcm9tSGV4KGhlYWRlci52YWx1ZS5yZXBsYWNlKC9cXC0vZywgXCJcIikpLCAxKTtcbiAgICAgICAgcmV0dXJuIHV1aWRCeXRlcztcbiAgICB9XG4gIH1cblxuICBwYXJzZShoZWFkZXJzOiBEYXRhVmlldyk6IE1lc3NhZ2VIZWFkZXJzIHtcbiAgICBjb25zdCBvdXQ6IE1lc3NhZ2VIZWFkZXJzID0ge307XG4gICAgbGV0IHBvc2l0aW9uID0gMDtcblxuICAgIHdoaWxlIChwb3NpdGlvbiA8IGhlYWRlcnMuYnl0ZUxlbmd0aCkge1xuICAgICAgY29uc3QgbmFtZUxlbmd0aCA9IGhlYWRlcnMuZ2V0VWludDgocG9zaXRpb24rKyk7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy50b1V0ZjgobmV3IFVpbnQ4QXJyYXkoaGVhZGVycy5idWZmZXIsIGhlYWRlcnMuYnl0ZU9mZnNldCArIHBvc2l0aW9uLCBuYW1lTGVuZ3RoKSk7XG4gICAgICBwb3NpdGlvbiArPSBuYW1lTGVuZ3RoO1xuXG4gICAgICBzd2l0Y2ggKGhlYWRlcnMuZ2V0VWludDgocG9zaXRpb24rKykpIHtcbiAgICAgICAgY2FzZSBIRUFERVJfVkFMVUVfVFlQRS5ib29sVHJ1ZTpcbiAgICAgICAgICBvdXRbbmFtZV0gPSB7XG4gICAgICAgICAgICB0eXBlOiBCT09MRUFOX1RBRyxcbiAgICAgICAgICAgIHZhbHVlOiB0cnVlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgSEVBREVSX1ZBTFVFX1RZUEUuYm9vbEZhbHNlOlxuICAgICAgICAgIG91dFtuYW1lXSA9IHtcbiAgICAgICAgICAgIHR5cGU6IEJPT0xFQU5fVEFHLFxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgSEVBREVSX1ZBTFVFX1RZUEUuYnl0ZTpcbiAgICAgICAgICBvdXRbbmFtZV0gPSB7XG4gICAgICAgICAgICB0eXBlOiBCWVRFX1RBRyxcbiAgICAgICAgICAgIHZhbHVlOiBoZWFkZXJzLmdldEludDgocG9zaXRpb24rKyksXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBIRUFERVJfVkFMVUVfVFlQRS5zaG9ydDpcbiAgICAgICAgICBvdXRbbmFtZV0gPSB7XG4gICAgICAgICAgICB0eXBlOiBTSE9SVF9UQUcsXG4gICAgICAgICAgICB2YWx1ZTogaGVhZGVycy5nZXRJbnQxNihwb3NpdGlvbiwgZmFsc2UpLFxuICAgICAgICAgIH07XG4gICAgICAgICAgcG9zaXRpb24gKz0gMjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBIRUFERVJfVkFMVUVfVFlQRS5pbnRlZ2VyOlxuICAgICAgICAgIG91dFtuYW1lXSA9IHtcbiAgICAgICAgICAgIHR5cGU6IElOVF9UQUcsXG4gICAgICAgICAgICB2YWx1ZTogaGVhZGVycy5nZXRJbnQzMihwb3NpdGlvbiwgZmFsc2UpLFxuICAgICAgICAgIH07XG4gICAgICAgICAgcG9zaXRpb24gKz0gNDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBIRUFERVJfVkFMVUVfVFlQRS5sb25nOlxuICAgICAgICAgIG91dFtuYW1lXSA9IHtcbiAgICAgICAgICAgIHR5cGU6IExPTkdfVEFHLFxuICAgICAgICAgICAgdmFsdWU6IG5ldyBJbnQ2NChuZXcgVWludDhBcnJheShoZWFkZXJzLmJ1ZmZlciwgaGVhZGVycy5ieXRlT2Zmc2V0ICsgcG9zaXRpb24sIDgpKSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHBvc2l0aW9uICs9IDg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgSEVBREVSX1ZBTFVFX1RZUEUuYnl0ZUFycmF5OlxuICAgICAgICAgIGNvbnN0IGJpbmFyeUxlbmd0aCA9IGhlYWRlcnMuZ2V0VWludDE2KHBvc2l0aW9uLCBmYWxzZSk7XG4gICAgICAgICAgcG9zaXRpb24gKz0gMjtcbiAgICAgICAgICBvdXRbbmFtZV0gPSB7XG4gICAgICAgICAgICB0eXBlOiBCSU5BUllfVEFHLFxuICAgICAgICAgICAgdmFsdWU6IG5ldyBVaW50OEFycmF5KGhlYWRlcnMuYnVmZmVyLCBoZWFkZXJzLmJ5dGVPZmZzZXQgKyBwb3NpdGlvbiwgYmluYXJ5TGVuZ3RoKSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHBvc2l0aW9uICs9IGJpbmFyeUxlbmd0aDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBIRUFERVJfVkFMVUVfVFlQRS5zdHJpbmc6XG4gICAgICAgICAgY29uc3Qgc3RyaW5nTGVuZ3RoID0gaGVhZGVycy5nZXRVaW50MTYocG9zaXRpb24sIGZhbHNlKTtcbiAgICAgICAgICBwb3NpdGlvbiArPSAyO1xuICAgICAgICAgIG91dFtuYW1lXSA9IHtcbiAgICAgICAgICAgIHR5cGU6IFNUUklOR19UQUcsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy50b1V0ZjgobmV3IFVpbnQ4QXJyYXkoaGVhZGVycy5idWZmZXIsIGhlYWRlcnMuYnl0ZU9mZnNldCArIHBvc2l0aW9uLCBzdHJpbmdMZW5ndGgpKSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHBvc2l0aW9uICs9IHN0cmluZ0xlbmd0aDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBIRUFERVJfVkFMVUVfVFlQRS50aW1lc3RhbXA6XG4gICAgICAgICAgb3V0W25hbWVdID0ge1xuICAgICAgICAgICAgdHlwZTogVElNRVNUQU1QX1RBRyxcbiAgICAgICAgICAgIHZhbHVlOiBuZXcgRGF0ZShuZXcgSW50NjQobmV3IFVpbnQ4QXJyYXkoaGVhZGVycy5idWZmZXIsIGhlYWRlcnMuYnl0ZU9mZnNldCArIHBvc2l0aW9uLCA4KSkudmFsdWVPZigpKSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHBvc2l0aW9uICs9IDg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgSEVBREVSX1ZBTFVFX1RZUEUudXVpZDpcbiAgICAgICAgICBjb25zdCB1dWlkQnl0ZXMgPSBuZXcgVWludDhBcnJheShoZWFkZXJzLmJ1ZmZlciwgaGVhZGVycy5ieXRlT2Zmc2V0ICsgcG9zaXRpb24sIDE2KTtcbiAgICAgICAgICBwb3NpdGlvbiArPSAxNjtcbiAgICAgICAgICBvdXRbbmFtZV0gPSB7XG4gICAgICAgICAgICB0eXBlOiBVVUlEX1RBRyxcbiAgICAgICAgICAgIHZhbHVlOiBgJHt0b0hleCh1dWlkQnl0ZXMuc3ViYXJyYXkoMCwgNCkpfS0ke3RvSGV4KHV1aWRCeXRlcy5zdWJhcnJheSg0LCA2KSl9LSR7dG9IZXgoXG4gICAgICAgICAgICAgIHV1aWRCeXRlcy5zdWJhcnJheSg2LCA4KVxuICAgICAgICAgICAgKX0tJHt0b0hleCh1dWlkQnl0ZXMuc3ViYXJyYXkoOCwgMTApKX0tJHt0b0hleCh1dWlkQnl0ZXMuc3ViYXJyYXkoMTApKX1gLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgaGVhZGVyIHR5cGUgdGFnYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dDtcbiAgfVxufVxuXG5jb25zdCBlbnVtIEhFQURFUl9WQUxVRV9UWVBFIHtcbiAgYm9vbFRydWUgPSAwLFxuICBib29sRmFsc2UsXG4gIGJ5dGUsXG4gIHNob3J0LFxuICBpbnRlZ2VyLFxuICBsb25nLFxuICBieXRlQXJyYXksXG4gIHN0cmluZyxcbiAgdGltZXN0YW1wLFxuICB1dWlkLFxufVxuXG5jb25zdCBCT09MRUFOX1RBRyA9IFwiYm9vbGVhblwiO1xuY29uc3QgQllURV9UQUcgPSBcImJ5dGVcIjtcbmNvbnN0IFNIT1JUX1RBRyA9IFwic2hvcnRcIjtcbmNvbnN0IElOVF9UQUcgPSBcImludGVnZXJcIjtcbmNvbnN0IExPTkdfVEFHID0gXCJsb25nXCI7XG5jb25zdCBCSU5BUllfVEFHID0gXCJiaW5hcnlcIjtcbmNvbnN0IFNUUklOR19UQUcgPSBcInN0cmluZ1wiO1xuY29uc3QgVElNRVNUQU1QX1RBRyA9IFwidGltZXN0YW1wXCI7XG5jb25zdCBVVUlEX1RBRyA9IFwidXVpZFwiO1xuXG5jb25zdCBVVUlEX1BBVFRFUk4gPSAvXlthLWYwLTldezh9LVthLWYwLTldezR9LVthLWYwLTldezR9LVthLWYwLTldezR9LVthLWYwLTldezEyfSQvO1xuIl19","import { Crc32 } from \"@aws-crypto/crc32\";\n// All prelude components are unsigned, 32-bit integers\nvar PRELUDE_MEMBER_LENGTH = 4;\n// The prelude consists of two components\nvar PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\n// Checksums are always CRC32 hashes.\nvar CHECKSUM_LENGTH = 4;\n// Messages must include a full prelude, a prelude checksum, and a message checksum\nvar MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\n/**\n * @internal\n */\nexport function splitMessage(_a) {\n var byteLength = _a.byteLength, byteOffset = _a.byteOffset, buffer = _a.buffer;\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n var view = new DataView(buffer, byteOffset, byteLength);\n var messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n var headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n var expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n var expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n var checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(\"The prelude checksum specified in the message (\" + expectedPreludeChecksum + \") does not match the calculated CRC32 checksum (\" + checksummer.digest() + \")\");\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(\"The message checksum (\" + checksummer.digest() + \") did not match the expected value of \" + expectedMessageChecksum);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NwbGl0TWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUMsdURBQXVEO0FBQ3ZELElBQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDLHlDQUF5QztBQUN6QyxJQUFNLGNBQWMsR0FBRyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7QUFDakQscUNBQXFDO0FBQ3JDLElBQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUMxQixtRkFBbUY7QUFDbkYsSUFBTSxzQkFBc0IsR0FBRyxjQUFjLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQztBQVVwRTs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBbUQ7UUFBakQsVUFBVSxnQkFBQSxFQUFFLFVBQVUsZ0JBQUEsRUFBRSxNQUFNLFlBQUE7SUFDM0QsSUFBSSxVQUFVLEdBQUcsc0JBQXNCLEVBQUU7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO0tBQzVGO0lBRUQsSUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUxRCxJQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUUvQyxJQUFJLFVBQVUsS0FBSyxhQUFhLEVBQUU7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO0tBQ25GO0lBRUQsSUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRSxJQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLElBQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXBGLElBQU0sV0FBVyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUMzRixJQUFJLHVCQUF1QixLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNwRCxNQUFNLElBQUksS0FBSyxDQUNiLG9EQUFrRCx1QkFBdUIsd0RBQW1ELFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBRyxDQUNwSixDQUFDO0tBQ0g7SUFFRCxXQUFXLENBQUMsTUFBTSxDQUNoQixJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxHQUFHLGNBQWMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FDckcsQ0FBQztJQUNGLElBQUksdUJBQXVCLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3BELE1BQU0sSUFBSSxLQUFLLENBQ2IsMkJBQXlCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsOENBQXlDLHVCQUF5QixDQUNoSCxDQUFDO0tBQ0g7SUFFRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLEdBQUcsY0FBYyxHQUFHLGVBQWUsRUFBRSxZQUFZLENBQUM7UUFDMUYsSUFBSSxFQUFFLElBQUksVUFBVSxDQUNsQixNQUFNLEVBQ04sVUFBVSxHQUFHLGNBQWMsR0FBRyxlQUFlLEdBQUcsWUFBWSxFQUM1RCxhQUFhLEdBQUcsWUFBWSxHQUFHLENBQUMsY0FBYyxHQUFHLGVBQWUsR0FBRyxlQUFlLENBQUMsQ0FDcEY7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyYzMyIH0gZnJvbSBcIkBhd3MtY3J5cHRvL2NyYzMyXCI7XG5cbi8vIEFsbCBwcmVsdWRlIGNvbXBvbmVudHMgYXJlIHVuc2lnbmVkLCAzMi1iaXQgaW50ZWdlcnNcbmNvbnN0IFBSRUxVREVfTUVNQkVSX0xFTkdUSCA9IDQ7XG4vLyBUaGUgcHJlbHVkZSBjb25zaXN0cyBvZiB0d28gY29tcG9uZW50c1xuY29uc3QgUFJFTFVERV9MRU5HVEggPSBQUkVMVURFX01FTUJFUl9MRU5HVEggKiAyO1xuLy8gQ2hlY2tzdW1zIGFyZSBhbHdheXMgQ1JDMzIgaGFzaGVzLlxuY29uc3QgQ0hFQ0tTVU1fTEVOR1RIID0gNDtcbi8vIE1lc3NhZ2VzIG11c3QgaW5jbHVkZSBhIGZ1bGwgcHJlbHVkZSwgYSBwcmVsdWRlIGNoZWNrc3VtLCBhbmQgYSBtZXNzYWdlIGNoZWNrc3VtXG5jb25zdCBNSU5JTVVNX01FU1NBR0VfTEVOR1RIID0gUFJFTFVERV9MRU5HVEggKyBDSEVDS1NVTV9MRU5HVEggKiAyO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VQYXJ0cyB7XG4gIGhlYWRlcnM6IERhdGFWaWV3O1xuICBib2R5OiBVaW50OEFycmF5O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRNZXNzYWdlKHsgYnl0ZUxlbmd0aCwgYnl0ZU9mZnNldCwgYnVmZmVyIH06IEFycmF5QnVmZmVyVmlldyk6IE1lc3NhZ2VQYXJ0cyB7XG4gIGlmIChieXRlTGVuZ3RoIDwgTUlOSU1VTV9NRVNTQUdFX0xFTkdUSCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlByb3ZpZGVkIG1lc3NhZ2UgdG9vIHNob3J0IHRvIGFjY29tbW9kYXRlIGV2ZW50IHN0cmVhbSBtZXNzYWdlIG92ZXJoZWFkXCIpO1xuICB9XG5cbiAgY29uc3QgdmlldyA9IG5ldyBEYXRhVmlldyhidWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgpO1xuXG4gIGNvbnN0IG1lc3NhZ2VMZW5ndGggPSB2aWV3LmdldFVpbnQzMigwLCBmYWxzZSk7XG5cbiAgaWYgKGJ5dGVMZW5ndGggIT09IG1lc3NhZ2VMZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXBvcnRlZCBtZXNzYWdlIGxlbmd0aCBkb2VzIG5vdCBtYXRjaCByZWNlaXZlZCBtZXNzYWdlIGxlbmd0aFwiKTtcbiAgfVxuXG4gIGNvbnN0IGhlYWRlckxlbmd0aCA9IHZpZXcuZ2V0VWludDMyKFBSRUxVREVfTUVNQkVSX0xFTkdUSCwgZmFsc2UpO1xuICBjb25zdCBleHBlY3RlZFByZWx1ZGVDaGVja3N1bSA9IHZpZXcuZ2V0VWludDMyKFBSRUxVREVfTEVOR1RILCBmYWxzZSk7XG4gIGNvbnN0IGV4cGVjdGVkTWVzc2FnZUNoZWNrc3VtID0gdmlldy5nZXRVaW50MzIoYnl0ZUxlbmd0aCAtIENIRUNLU1VNX0xFTkdUSCwgZmFsc2UpO1xuXG4gIGNvbnN0IGNoZWNrc3VtbWVyID0gbmV3IENyYzMyKCkudXBkYXRlKG5ldyBVaW50OEFycmF5KGJ1ZmZlciwgYnl0ZU9mZnNldCwgUFJFTFVERV9MRU5HVEgpKTtcbiAgaWYgKGV4cGVjdGVkUHJlbHVkZUNoZWNrc3VtICE9PSBjaGVja3N1bW1lci5kaWdlc3QoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBUaGUgcHJlbHVkZSBjaGVja3N1bSBzcGVjaWZpZWQgaW4gdGhlIG1lc3NhZ2UgKCR7ZXhwZWN0ZWRQcmVsdWRlQ2hlY2tzdW19KSBkb2VzIG5vdCBtYXRjaCB0aGUgY2FsY3VsYXRlZCBDUkMzMiBjaGVja3N1bSAoJHtjaGVja3N1bW1lci5kaWdlc3QoKX0pYFxuICAgICk7XG4gIH1cblxuICBjaGVja3N1bW1lci51cGRhdGUoXG4gICAgbmV3IFVpbnQ4QXJyYXkoYnVmZmVyLCBieXRlT2Zmc2V0ICsgUFJFTFVERV9MRU5HVEgsIGJ5dGVMZW5ndGggLSAoUFJFTFVERV9MRU5HVEggKyBDSEVDS1NVTV9MRU5HVEgpKVxuICApO1xuICBpZiAoZXhwZWN0ZWRNZXNzYWdlQ2hlY2tzdW0gIT09IGNoZWNrc3VtbWVyLmRpZ2VzdCgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRoZSBtZXNzYWdlIGNoZWNrc3VtICgke2NoZWNrc3VtbWVyLmRpZ2VzdCgpfSkgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWUgb2YgJHtleHBlY3RlZE1lc3NhZ2VDaGVja3N1bX1gXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGVhZGVyczogbmV3IERhdGFWaWV3KGJ1ZmZlciwgYnl0ZU9mZnNldCArIFBSRUxVREVfTEVOR1RIICsgQ0hFQ0tTVU1fTEVOR1RILCBoZWFkZXJMZW5ndGgpLFxuICAgIGJvZHk6IG5ldyBVaW50OEFycmF5KFxuICAgICAgYnVmZmVyLFxuICAgICAgYnl0ZU9mZnNldCArIFBSRUxVREVfTEVOR1RIICsgQ0hFQ0tTVU1fTEVOR1RIICsgaGVhZGVyTGVuZ3RoLFxuICAgICAgbWVzc2FnZUxlbmd0aCAtIGhlYWRlckxlbmd0aCAtIChQUkVMVURFX0xFTkdUSCArIENIRUNLU1VNX0xFTkdUSCArIENIRUNLU1VNX0xFTkdUSClcbiAgICApLFxuICB9O1xufVxuIl19","import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\n/**\n * A marshaller that can convert binary-packed event stream messages into\n * JavaScript objects and back again into their binary format.\n */\nvar EventStreamMarshaller = /** @class */ (function () {\n function EventStreamMarshaller(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n }\n /**\n * Convert a structured JavaScript object with tagged headers into a binary\n * event stream message.\n */\n EventStreamMarshaller.prototype.marshall = function (_a) {\n var rawHeaders = _a.headers, body = _a.body;\n var headers = this.headerMarshaller.format(rawHeaders);\n var length = headers.byteLength + body.byteLength + 16;\n var out = new Uint8Array(length);\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n var checksum = new Crc32();\n // Format message\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n // Write trailing message checksum\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n };\n /**\n * Convert a binary event stream message into a JavaScript object with an\n * opaque, binary body and tagged, parsed headers.\n */\n EventStreamMarshaller.prototype.unmarshall = function (message) {\n var _a = splitMessage(message), headers = _a.headers, body = _a.body;\n return { headers: this.headerMarshaller.parse(headers), body: body };\n };\n /**\n * Convert a structured JavaScript object with tagged headers into a binary\n * event stream message header.\n */\n EventStreamMarshaller.prototype.formatHeaders = function (rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n };\n return EventStreamMarshaller;\n}());\nexport { EventStreamMarshaller };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRTdHJlYW1NYXJzaGFsbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0V2ZW50U3RyZWFtTWFyc2hhbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDOzs7R0FHRztBQUNIO0lBR0UsK0JBQVksTUFBZSxFQUFFLFFBQWlCO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsd0NBQVEsR0FBUixVQUFTLEVBQXNDO1lBQTNCLFVBQVUsYUFBQSxFQUFFLElBQUksVUFBQTtRQUNsQyxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFekQsSUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RSxJQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRTdCLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUV2QyxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekYsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsMENBQVUsR0FBVixVQUFXLE9BQXdCO1FBQzNCLElBQUEsS0FBb0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUF2QyxPQUFPLGFBQUEsRUFBRSxJQUFJLFVBQTBCLENBQUM7UUFFaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksTUFBQSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILDZDQUFhLEdBQWIsVUFBYyxVQUEwQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNILDRCQUFDO0FBQUQsQ0FBQyxBQWpERCxJQWlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyYzMyIH0gZnJvbSBcIkBhd3MtY3J5cHRvL2NyYzMyXCI7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlSGVhZGVycyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgRGVjb2RlciwgRW5jb2RlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBIZWFkZXJNYXJzaGFsbGVyIH0gZnJvbSBcIi4vSGVhZGVyTWFyc2hhbGxlclwiO1xuaW1wb3J0IHsgc3BsaXRNZXNzYWdlIH0gZnJvbSBcIi4vc3BsaXRNZXNzYWdlXCI7XG5cbi8qKlxuICogQSBtYXJzaGFsbGVyIHRoYXQgY2FuIGNvbnZlcnQgYmluYXJ5LXBhY2tlZCBldmVudCBzdHJlYW0gbWVzc2FnZXMgaW50b1xuICogSmF2YVNjcmlwdCBvYmplY3RzIGFuZCBiYWNrIGFnYWluIGludG8gdGhlaXIgYmluYXJ5IGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50U3RyZWFtTWFyc2hhbGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGVhZGVyTWFyc2hhbGxlcjogSGVhZGVyTWFyc2hhbGxlcjtcblxuICBjb25zdHJ1Y3Rvcih0b1V0Zjg6IEVuY29kZXIsIGZyb21VdGY4OiBEZWNvZGVyKSB7XG4gICAgdGhpcy5oZWFkZXJNYXJzaGFsbGVyID0gbmV3IEhlYWRlck1hcnNoYWxsZXIodG9VdGY4LCBmcm9tVXRmOCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBhIHN0cnVjdHVyZWQgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0YWdnZWQgaGVhZGVycyBpbnRvIGEgYmluYXJ5XG4gICAqIGV2ZW50IHN0cmVhbSBtZXNzYWdlLlxuICAgKi9cbiAgbWFyc2hhbGwoeyBoZWFkZXJzOiByYXdIZWFkZXJzLCBib2R5IH06IE1lc3NhZ2UpOiBVaW50OEFycmF5IHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJNYXJzaGFsbGVyLmZvcm1hdChyYXdIZWFkZXJzKTtcbiAgICBjb25zdCBsZW5ndGggPSBoZWFkZXJzLmJ5dGVMZW5ndGggKyBib2R5LmJ5dGVMZW5ndGggKyAxNjtcblxuICAgIGNvbnN0IG91dCA9IG5ldyBVaW50OEFycmF5KGxlbmd0aCk7XG4gICAgY29uc3QgdmlldyA9IG5ldyBEYXRhVmlldyhvdXQuYnVmZmVyLCBvdXQuYnl0ZU9mZnNldCwgb3V0LmJ5dGVMZW5ndGgpO1xuICAgIGNvbnN0IGNoZWNrc3VtID0gbmV3IENyYzMyKCk7XG5cbiAgICAvLyBGb3JtYXQgbWVzc2FnZVxuICAgIHZpZXcuc2V0VWludDMyKDAsIGxlbmd0aCwgZmFsc2UpO1xuICAgIHZpZXcuc2V0VWludDMyKDQsIGhlYWRlcnMuYnl0ZUxlbmd0aCwgZmFsc2UpO1xuICAgIHZpZXcuc2V0VWludDMyKDgsIGNoZWNrc3VtLnVwZGF0ZShvdXQuc3ViYXJyYXkoMCwgOCkpLmRpZ2VzdCgpLCBmYWxzZSk7XG4gICAgb3V0LnNldChoZWFkZXJzLCAxMik7XG4gICAgb3V0LnNldChib2R5LCBoZWFkZXJzLmJ5dGVMZW5ndGggKyAxMik7XG5cbiAgICAvLyBXcml0ZSB0cmFpbGluZyBtZXNzYWdlIGNoZWNrc3VtXG4gICAgdmlldy5zZXRVaW50MzIobGVuZ3RoIC0gNCwgY2hlY2tzdW0udXBkYXRlKG91dC5zdWJhcnJheSg4LCBsZW5ndGggLSA0KSkuZGlnZXN0KCksIGZhbHNlKTtcblxuICAgIHJldHVybiBvdXQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBhIGJpbmFyeSBldmVudCBzdHJlYW0gbWVzc2FnZSBpbnRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBhblxuICAgKiBvcGFxdWUsIGJpbmFyeSBib2R5IGFuZCB0YWdnZWQsIHBhcnNlZCBoZWFkZXJzLlxuICAgKi9cbiAgdW5tYXJzaGFsbChtZXNzYWdlOiBBcnJheUJ1ZmZlclZpZXcpOiBNZXNzYWdlIHtcbiAgICBjb25zdCB7IGhlYWRlcnMsIGJvZHkgfSA9IHNwbGl0TWVzc2FnZShtZXNzYWdlKTtcblxuICAgIHJldHVybiB7IGhlYWRlcnM6IHRoaXMuaGVhZGVyTWFyc2hhbGxlci5wYXJzZShoZWFkZXJzKSwgYm9keSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBzdHJ1Y3R1cmVkIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggdGFnZ2VkIGhlYWRlcnMgaW50byBhIGJpbmFyeVxuICAgKiBldmVudCBzdHJlYW0gbWVzc2FnZSBoZWFkZXIuXG4gICAqL1xuICBmb3JtYXRIZWFkZXJzKHJhd0hlYWRlcnM6IE1lc3NhZ2VIZWFkZXJzKTogVWludDhBcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyTWFyc2hhbGxlci5mb3JtYXQocmF3SGVhZGVycyk7XG4gIH1cbn1cbiJdfQ==","import { __asyncGenerator, __await, __generator } from \"tslib\";\nexport function getChunkedStream(source) {\n var _a;\n var currentMessageTotalLength = 0;\n var currentMessagePendingLength = 0;\n var currentMessage = null;\n var messageLengthBuffer = null;\n var allocateMessage = function (size) {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n var currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false); //set big-endian Uint32 to 0~3 bytes\n };\n var iterator = function () {\n return __asyncGenerator(this, arguments, function () {\n var sourceIterator, _a, value, done, chunkLength, currentOffset, bytesRemaining, numBytesForTotal, numBytesToWrite;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n sourceIterator = source[Symbol.asyncIterator]();\n _b.label = 1;\n case 1:\n if (!true) return [3 /*break*/, 16];\n return [4 /*yield*/, __await(sourceIterator.next())];\n case 2:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3 /*break*/, 10];\n if (!!currentMessageTotalLength) return [3 /*break*/, 4];\n return [4 /*yield*/, __await(void 0)];\n case 3: return [2 /*return*/, _b.sent()];\n case 4:\n if (!(currentMessageTotalLength === currentMessagePendingLength)) return [3 /*break*/, 7];\n return [4 /*yield*/, __await(currentMessage)];\n case 5: return [4 /*yield*/, _b.sent()];\n case 6:\n _b.sent();\n return [3 /*break*/, 8];\n case 7: throw new Error(\"Truncated event message received.\");\n case 8: return [4 /*yield*/, __await(void 0)];\n case 9: return [2 /*return*/, _b.sent()];\n case 10:\n chunkLength = value.length;\n currentOffset = 0;\n _b.label = 11;\n case 11:\n if (!(currentOffset < chunkLength)) return [3 /*break*/, 15];\n // create new message if necessary\n if (!currentMessage) {\n bytesRemaining = chunkLength - currentOffset;\n // prevent edge case where total length spans 2 chunks\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n numBytesForTotal = Math.min(4 - currentMessagePendingLength, // remaining bytes to fill the messageLengthBuffer\n bytesRemaining // bytes left in chunk\n );\n messageLengthBuffer.set(\n // @ts-ignore error TS2532: Object is possibly 'undefined' for value\n value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n // not enough information to create the current message\n return [3 /*break*/, 15];\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, // number of bytes left to complete message\n chunkLength - currentOffset // number of bytes left in the original chunk\n );\n currentMessage.set(\n // @ts-ignore error TS2532: Object is possibly 'undefined' for value\n value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (!(currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength)) return [3 /*break*/, 14];\n return [4 /*yield*/, __await(currentMessage)];\n case 12: \n // push out the message\n return [4 /*yield*/, _b.sent()];\n case 13:\n // push out the message\n _b.sent();\n // cleanup\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n _b.label = 14;\n case 14: return [3 /*break*/, 11];\n case 15: return [3 /*break*/, 1];\n case 16: return [2 /*return*/];\n }\n });\n });\n };\n return _a = {},\n _a[Symbol.asyncIterator] = iterator,\n _a;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2h1bmtlZFN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZXRDaHVua2VkU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBaUM7O0lBQ2hFLElBQUkseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLElBQUksMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLElBQUksY0FBYyxHQUFzQixJQUFJLENBQUM7SUFDN0MsSUFBSSxtQkFBbUIsR0FBc0IsSUFBSSxDQUFDO0lBQ2xELElBQU0sZUFBZSxHQUFHLFVBQUMsSUFBWTtRQUNuQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHNFQUFzRSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ2hHO1FBQ0QseUJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLDJCQUEyQixHQUFHLENBQUMsQ0FBQztRQUNoQyxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0Qsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7SUFDcEYsQ0FBQyxDQUFDO0lBRUYsSUFBTSxRQUFRLEdBQUc7Ozs7Ozt3QkFDVCxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDOzs7NkJBQy9DLElBQUk7d0JBQ2UsNkJBQU0sY0FBYyxDQUFDLElBQUksRUFBRSxHQUFBOzt3QkFBN0MsS0FBa0IsU0FBMkIsRUFBM0MsS0FBSyxXQUFBLEVBQUUsSUFBSSxVQUFBOzZCQUNmLElBQUksRUFBSix5QkFBSTs2QkFDRixDQUFDLHlCQUF5QixFQUExQix3QkFBMEI7OzRCQUM1QixpQ0FBTzs7NkJBQ0UsQ0FBQSx5QkFBeUIsS0FBSywyQkFBMkIsQ0FBQSxFQUF6RCx3QkFBeUQ7cURBQzVELGNBQTRCOzRCQUFsQyxnQ0FBa0M7O3dCQUFsQyxTQUFrQyxDQUFDOzs0QkFFbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDOzs0QkFFdkQsaUNBQU87O3dCQUdILFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO3dCQUM3QixhQUFhLEdBQUcsQ0FBQyxDQUFDOzs7NkJBRWYsQ0FBQSxhQUFhLEdBQUcsV0FBVyxDQUFBO3dCQUNoQyxrQ0FBa0M7d0JBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUU7NEJBRWIsY0FBYyxHQUFHLFdBQVcsR0FBRyxhQUFhLENBQUM7NEJBQ25ELHNEQUFzRDs0QkFDdEQsSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dDQUN4QixtQkFBbUIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs2QkFDekM7NEJBQ0ssZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDL0IsQ0FBQyxHQUFHLDJCQUEyQixFQUFFLGtEQUFrRDs0QkFDbkYsY0FBYyxDQUFDLHNCQUFzQjs2QkFDdEMsQ0FBQzs0QkFFRixtQkFBbUIsQ0FBQyxHQUFHOzRCQUNyQixvRUFBb0U7NEJBQ3BFLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxFQUM1RCwyQkFBMkIsQ0FDNUIsQ0FBQzs0QkFFRiwyQkFBMkIsSUFBSSxnQkFBZ0IsQ0FBQzs0QkFDaEQsYUFBYSxJQUFJLGdCQUFnQixDQUFDOzRCQUVsQyxJQUFJLDJCQUEyQixHQUFHLENBQUMsRUFBRTtnQ0FDbkMsdURBQXVEO2dDQUN2RCx5QkFBTTs2QkFDUDs0QkFDRCxlQUFlLENBQUMsSUFBSSxRQUFRLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDOzRCQUM5RSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7eUJBQzVCO3dCQUdLLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUM5Qix5QkFBeUIsR0FBRywyQkFBMkIsRUFBRSwyQ0FBMkM7d0JBQ3BHLFdBQVcsR0FBRyxhQUFhLENBQUMsNkNBQTZDO3lCQUMxRSxDQUFDO3dCQUNGLGNBQWUsQ0FBQyxHQUFHO3dCQUNqQixvRUFBb0U7d0JBQ3BFLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLGFBQWEsR0FBRyxlQUFlLENBQUMsRUFDM0QsMkJBQTJCLENBQzVCLENBQUM7d0JBQ0YsMkJBQTJCLElBQUksZUFBZSxDQUFDO3dCQUMvQyxhQUFhLElBQUksZUFBZSxDQUFDOzZCQUc3QixDQUFBLHlCQUF5QixJQUFJLHlCQUF5QixLQUFLLDJCQUEyQixDQUFBLEVBQXRGLHlCQUFzRjtxREFFbEYsY0FBNEI7O29CQURsQyx1QkFBdUI7b0JBQ3ZCLGdDQUFrQzs7d0JBRGxDLHVCQUF1Qjt3QkFDdkIsU0FBa0MsQ0FBQzt3QkFDbkMsVUFBVTt3QkFDVixjQUFjLEdBQUcsSUFBSSxDQUFDO3dCQUN0Qix5QkFBeUIsR0FBRyxDQUFDLENBQUM7d0JBQzlCLDJCQUEyQixHQUFHLENBQUMsQ0FBQzs7Ozs7Ozs7S0FJdkMsQ0FBQztJQUVGO1FBQ0UsR0FBQyxNQUFNLENBQUMsYUFBYSxJQUFHLFFBQVE7V0FDaEM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldENodW5rZWRTdHJlYW0oc291cmNlOiBBc3luY0l0ZXJhYmxlPFVpbnQ4QXJyYXk+KTogQXN5bmNJdGVyYWJsZTxVaW50OEFycmF5PiB7XG4gIGxldCBjdXJyZW50TWVzc2FnZVRvdGFsTGVuZ3RoID0gMDtcbiAgbGV0IGN1cnJlbnRNZXNzYWdlUGVuZGluZ0xlbmd0aCA9IDA7XG4gIGxldCBjdXJyZW50TWVzc2FnZTogVWludDhBcnJheSB8IG51bGwgPSBudWxsO1xuICBsZXQgbWVzc2FnZUxlbmd0aEJ1ZmZlcjogVWludDhBcnJheSB8IG51bGwgPSBudWxsO1xuICBjb25zdCBhbGxvY2F0ZU1lc3NhZ2UgPSAoc2l6ZTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBzaXplICE9PSBcIm51bWJlclwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdHRlbXB0ZWQgdG8gYWxsb2NhdGUgYW4gZXZlbnQgbWVzc2FnZSB3aGVyZSBzaXplIHdhcyBub3QgYSBudW1iZXI6IFwiICsgc2l6ZSk7XG4gICAgfVxuICAgIGN1cnJlbnRNZXNzYWdlVG90YWxMZW5ndGggPSBzaXplO1xuICAgIGN1cnJlbnRNZXNzYWdlUGVuZGluZ0xlbmd0aCA9IDQ7XG4gICAgY3VycmVudE1lc3NhZ2UgPSBuZXcgVWludDhBcnJheShzaXplKTtcbiAgICBjb25zdCBjdXJyZW50TWVzc2FnZVZpZXcgPSBuZXcgRGF0YVZpZXcoY3VycmVudE1lc3NhZ2UuYnVmZmVyKTtcbiAgICBjdXJyZW50TWVzc2FnZVZpZXcuc2V0VWludDMyKDAsIHNpemUsIGZhbHNlKTsgLy9zZXQgYmlnLWVuZGlhbiBVaW50MzIgdG8gMH4zIGJ5dGVzXG4gIH07XG5cbiAgY29uc3QgaXRlcmF0b3IgPSBhc3luYyBmdW5jdGlvbiogKCkge1xuICAgIGNvbnN0IHNvdXJjZUl0ZXJhdG9yID0gc291cmNlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBkb25lIH0gPSBhd2FpdCBzb3VyY2VJdGVyYXRvci5uZXh0KCk7XG4gICAgICBpZiAoZG9uZSkge1xuICAgICAgICBpZiAoIWN1cnJlbnRNZXNzYWdlVG90YWxMZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudE1lc3NhZ2VUb3RhbExlbmd0aCA9PT0gY3VycmVudE1lc3NhZ2VQZW5kaW5nTGVuZ3RoKSB7XG4gICAgICAgICAgeWllbGQgY3VycmVudE1lc3NhZ2UgYXMgVWludDhBcnJheTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUcnVuY2F0ZWQgZXZlbnQgbWVzc2FnZSByZWNlaXZlZC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjaHVua0xlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIGxldCBjdXJyZW50T2Zmc2V0ID0gMDtcblxuICAgICAgd2hpbGUgKGN1cnJlbnRPZmZzZXQgPCBjaHVua0xlbmd0aCkge1xuICAgICAgICAvLyBjcmVhdGUgbmV3IG1lc3NhZ2UgaWYgbmVjZXNzYXJ5XG4gICAgICAgIGlmICghY3VycmVudE1lc3NhZ2UpIHtcbiAgICAgICAgICAvLyB3b3JraW5nIG9uIGEgbmV3IG1lc3NhZ2UsIGRldGVybWluZSB0b3RhbCBsZW5ndGhcbiAgICAgICAgICBjb25zdCBieXRlc1JlbWFpbmluZyA9IGNodW5rTGVuZ3RoIC0gY3VycmVudE9mZnNldDtcbiAgICAgICAgICAvLyBwcmV2ZW50IGVkZ2UgY2FzZSB3aGVyZSB0b3RhbCBsZW5ndGggc3BhbnMgMiBjaHVua3NcbiAgICAgICAgICBpZiAoIW1lc3NhZ2VMZW5ndGhCdWZmZXIpIHtcbiAgICAgICAgICAgIG1lc3NhZ2VMZW5ndGhCdWZmZXIgPSBuZXcgVWludDhBcnJheSg0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbnVtQnl0ZXNGb3JUb3RhbCA9IE1hdGgubWluKFxuICAgICAgICAgICAgNCAtIGN1cnJlbnRNZXNzYWdlUGVuZGluZ0xlbmd0aCwgLy8gcmVtYWluaW5nIGJ5dGVzIHRvIGZpbGwgdGhlIG1lc3NhZ2VMZW5ndGhCdWZmZXJcbiAgICAgICAgICAgIGJ5dGVzUmVtYWluaW5nIC8vIGJ5dGVzIGxlZnQgaW4gY2h1bmtcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgbWVzc2FnZUxlbmd0aEJ1ZmZlci5zZXQoXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIGVycm9yIFRTMjUzMjogT2JqZWN0IGlzIHBvc3NpYmx5ICd1bmRlZmluZWQnIGZvciB2YWx1ZVxuICAgICAgICAgICAgdmFsdWUuc2xpY2UoY3VycmVudE9mZnNldCwgY3VycmVudE9mZnNldCArIG51bUJ5dGVzRm9yVG90YWwpLFxuICAgICAgICAgICAgY3VycmVudE1lc3NhZ2VQZW5kaW5nTGVuZ3RoXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGN1cnJlbnRNZXNzYWdlUGVuZGluZ0xlbmd0aCArPSBudW1CeXRlc0ZvclRvdGFsO1xuICAgICAgICAgIGN1cnJlbnRPZmZzZXQgKz0gbnVtQnl0ZXNGb3JUb3RhbDtcblxuICAgICAgICAgIGlmIChjdXJyZW50TWVzc2FnZVBlbmRpbmdMZW5ndGggPCA0KSB7XG4gICAgICAgICAgICAvLyBub3QgZW5vdWdoIGluZm9ybWF0aW9uIHRvIGNyZWF0ZSB0aGUgY3VycmVudCBtZXNzYWdlXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgYWxsb2NhdGVNZXNzYWdlKG5ldyBEYXRhVmlldyhtZXNzYWdlTGVuZ3RoQnVmZmVyLmJ1ZmZlcikuZ2V0VWludDMyKDAsIGZhbHNlKSk7XG4gICAgICAgICAgbWVzc2FnZUxlbmd0aEJ1ZmZlciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB3cml0ZSBkYXRhIGludG8gY3VycmVudCBtZXNzYWdlXG4gICAgICAgIGNvbnN0IG51bUJ5dGVzVG9Xcml0ZSA9IE1hdGgubWluKFxuICAgICAgICAgIGN1cnJlbnRNZXNzYWdlVG90YWxMZW5ndGggLSBjdXJyZW50TWVzc2FnZVBlbmRpbmdMZW5ndGgsIC8vIG51bWJlciBvZiBieXRlcyBsZWZ0IHRvIGNvbXBsZXRlIG1lc3NhZ2VcbiAgICAgICAgICBjaHVua0xlbmd0aCAtIGN1cnJlbnRPZmZzZXQgLy8gbnVtYmVyIG9mIGJ5dGVzIGxlZnQgaW4gdGhlIG9yaWdpbmFsIGNodW5rXG4gICAgICAgICk7XG4gICAgICAgIGN1cnJlbnRNZXNzYWdlIS5zZXQoXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSBlcnJvciBUUzI1MzI6IE9iamVjdCBpcyBwb3NzaWJseSAndW5kZWZpbmVkJyBmb3IgdmFsdWVcbiAgICAgICAgICB2YWx1ZS5zbGljZShjdXJyZW50T2Zmc2V0LCBjdXJyZW50T2Zmc2V0ICsgbnVtQnl0ZXNUb1dyaXRlKSxcbiAgICAgICAgICBjdXJyZW50TWVzc2FnZVBlbmRpbmdMZW5ndGhcbiAgICAgICAgKTtcbiAgICAgICAgY3VycmVudE1lc3NhZ2VQZW5kaW5nTGVuZ3RoICs9IG51bUJ5dGVzVG9Xcml0ZTtcbiAgICAgICAgY3VycmVudE9mZnNldCArPSBudW1CeXRlc1RvV3JpdGU7XG5cbiAgICAgICAgLy8gY2hlY2sgaWYgYSBtZXNzYWdlIGlzIHJlYWR5IHRvIGJlIHB1c2hlZFxuICAgICAgICBpZiAoY3VycmVudE1lc3NhZ2VUb3RhbExlbmd0aCAmJiBjdXJyZW50TWVzc2FnZVRvdGFsTGVuZ3RoID09PSBjdXJyZW50TWVzc2FnZVBlbmRpbmdMZW5ndGgpIHtcbiAgICAgICAgICAvLyBwdXNoIG91dCB0aGUgbWVzc2FnZVxuICAgICAgICAgIHlpZWxkIGN1cnJlbnRNZXNzYWdlIGFzIFVpbnQ4QXJyYXk7XG4gICAgICAgICAgLy8gY2xlYW51cFxuICAgICAgICAgIGN1cnJlbnRNZXNzYWdlID0gbnVsbDtcbiAgICAgICAgICBjdXJyZW50TWVzc2FnZVRvdGFsTGVuZ3RoID0gMDtcbiAgICAgICAgICBjdXJyZW50TWVzc2FnZVBlbmRpbmdMZW5ndGggPSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXTogaXRlcmF0b3IsXG4gIH07XG59XG4iXX0=","import { __asyncGenerator, __asyncValues, __await, __generator } from \"tslib\";\nexport function getUnmarshalledStream(source, options) {\n var _a;\n return _a = {},\n _a[Symbol.asyncIterator] = function () {\n return __asyncGenerator(this, arguments, function () {\n var source_1, source_1_1, chunk, message, messageType, unmodeledError, code, exception, deserializedException, error, event, deserialized, e_1_1;\n var _a, _b;\n var e_1, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 12, 13, 18]);\n source_1 = __asyncValues(source);\n _d.label = 1;\n case 1: return [4 /*yield*/, __await(source_1.next())];\n case 2:\n if (!(source_1_1 = _d.sent(), !source_1_1.done)) return [3 /*break*/, 11];\n chunk = source_1_1.value;\n message = options.eventMarshaller.unmarshall(chunk);\n messageType = message.headers[\":message-type\"].value;\n if (!(messageType === \"error\")) return [3 /*break*/, 3];\n unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n case 3:\n if (!(messageType === \"exception\")) return [3 /*break*/, 5];\n code = message.headers[\":exception-type\"].value;\n exception = (_a = {}, _a[code] = message, _a);\n return [4 /*yield*/, __await(options.deserializer(exception))];\n case 4:\n deserializedException = _d.sent();\n if (deserializedException.$unknown) {\n error = new Error(options.toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n case 5:\n if (!(messageType === \"event\")) return [3 /*break*/, 9];\n event = (_b = {},\n _b[message.headers[\":event-type\"].value] = message,\n _b);\n return [4 /*yield*/, __await(options.deserializer(event))];\n case 6:\n deserialized = _d.sent();\n if (deserialized.$unknown)\n return [3 /*break*/, 10];\n return [4 /*yield*/, __await(deserialized)];\n case 7: return [4 /*yield*/, _d.sent()];\n case 8:\n _d.sent();\n return [3 /*break*/, 10];\n case 9: throw Error(\"Unrecognizable event type: \" + message.headers[\":event-type\"].value);\n case 10: return [3 /*break*/, 1];\n case 11: return [3 /*break*/, 18];\n case 12:\n e_1_1 = _d.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 18];\n case 13:\n _d.trys.push([13, , 16, 17]);\n if (!(source_1_1 && !source_1_1.done && (_c = source_1.return))) return [3 /*break*/, 15];\n return [4 /*yield*/, __await(_c.call(source_1))];\n case 14:\n _d.sent();\n _d.label = 15;\n case 15: return [3 /*break*/, 17];\n case 16:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 17: return [7 /*endfinally*/];\n case 18: return [2 /*return*/];\n }\n });\n });\n },\n _a;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VW5tYXJzaGFsbGVkU3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dldFVubWFyc2hhbGxlZFN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBU0EsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxNQUFpQyxFQUNqQyxPQUFxQzs7SUFFckM7UUFDRSxHQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUc7Ozs7Ozs7Ozs0QkFDSSxXQUFBLGNBQUEsTUFBTSxDQUFBOzs7Ozs0QkFBZixLQUFLLG1CQUFBLENBQUE7NEJBQ2QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUMzQyxXQUFXLEdBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBckMsQ0FBc0M7aUNBQzVELENBQUEsV0FBVyxLQUFLLE9BQU8sQ0FBQSxFQUF2Qix3QkFBdUI7NEJBRW5CLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBZ0IsSUFBSSxjQUFjLENBQUMsQ0FBQzs0QkFDeEcsY0FBYyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQWUsQ0FBQzs0QkFDckUsTUFBTSxjQUFjLENBQUM7O2lDQUNaLENBQUEsV0FBVyxLQUFLLFdBQVcsQ0FBQSxFQUEzQix3QkFBMkI7NEJBRTlCLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBZSxDQUFDOzRCQUMxRCxTQUFTLGFBQUssR0FBQyxJQUFJLElBQUcsT0FBTyxLQUFFLENBQUM7NEJBRVIsNkJBQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBQTs7NEJBQTdELHFCQUFxQixHQUFHLFNBQXFDOzRCQUNuRSxJQUFJLHFCQUFxQixDQUFDLFFBQVEsRUFBRTtnQ0FFNUIsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0NBQ3RELEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dDQUNsQixNQUFNLEtBQUssQ0FBQzs2QkFDYjs0QkFDRCxNQUFNLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDOztpQ0FDekIsQ0FBQSxXQUFXLEtBQUssT0FBTyxDQUFBLEVBQXZCLHdCQUF1Qjs0QkFDMUIsS0FBSztnQ0FDVCxHQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBZSxJQUFHLE9BQU87bUNBQzFELENBQUM7NEJBQ21CLDZCQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUE7OzRCQUFoRCxZQUFZLEdBQUcsU0FBaUM7NEJBQ3RELElBQUksWUFBWSxDQUFDLFFBQVE7Z0NBQUUseUJBQVM7eURBQzlCLFlBQVk7Z0NBQWxCLGdDQUFrQjs7NEJBQWxCLFNBQWtCLENBQUM7O2dDQUVuQixNQUFNLEtBQUssQ0FBQyxnQ0FBOEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFPLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FHdkY7V0FDRDtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudFN0cmVhbU1hcnNoYWxsZXIgYXMgRXZlbnRNYXJzaGFsbGVyIH0gZnJvbSBcIkBhd3Mtc2RrL2V2ZW50c3RyZWFtLW1hcnNoYWxsZXJcIjtcbmltcG9ydCB7IEVuY29kZXIsIE1lc3NhZ2UgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IHR5cGUgVW5tYXJzaGFsbGVkU3RyZWFtT3B0aW9uczxUPiA9IHtcbiAgZXZlbnRNYXJzaGFsbGVyOiBFdmVudE1hcnNoYWxsZXI7XG4gIGRlc2VyaWFsaXplcjogKGlucHV0OiB7IFtuYW1lOiBzdHJpbmddOiBNZXNzYWdlIH0pID0+IFByb21pc2U8VD47XG4gIHRvVXRmODogRW5jb2Rlcjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbm1hcnNoYWxsZWRTdHJlYW08VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+KFxuICBzb3VyY2U6IEFzeW5jSXRlcmFibGU8VWludDhBcnJheT4sXG4gIG9wdGlvbnM6IFVubWFyc2hhbGxlZFN0cmVhbU9wdGlvbnM8VD5cbik6IEFzeW5jSXRlcmFibGU8VD4ge1xuICByZXR1cm4ge1xuICAgIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl06IGFzeW5jIGZ1bmN0aW9uKiAoKSB7XG4gICAgICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIHNvdXJjZSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gb3B0aW9ucy5ldmVudE1hcnNoYWxsZXIudW5tYXJzaGFsbChjaHVuayk7XG4gICAgICAgIGNvbnN0IHsgdmFsdWU6IG1lc3NhZ2VUeXBlIH0gPSBtZXNzYWdlLmhlYWRlcnNbXCI6bWVzc2FnZS10eXBlXCJdO1xuICAgICAgICBpZiAobWVzc2FnZVR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgICAgIC8vIFVubW9kZWxlZCBleGNlcHRpb24gaW4gZXZlbnRcbiAgICAgICAgICBjb25zdCB1bm1vZGVsZWRFcnJvciA9IG5ldyBFcnJvcigobWVzc2FnZS5oZWFkZXJzW1wiOmVycm9yLW1lc3NhZ2VcIl0udmFsdWUgYXMgc3RyaW5nKSB8fCBcIlVua25vd25FcnJvclwiKTtcbiAgICAgICAgICB1bm1vZGVsZWRFcnJvci5uYW1lID0gbWVzc2FnZS5oZWFkZXJzW1wiOmVycm9yLWNvZGVcIl0udmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICAgIHRocm93IHVubW9kZWxlZEVycm9yO1xuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2VUeXBlID09PSBcImV4Y2VwdGlvblwiKSB7XG4gICAgICAgICAgLy8gRm9yIG1vZGVsZWQgZXhjZXB0aW9uLCBwdXNoIGl0IHRvIGRlc2VyaWFsaXplciBhbmQgdGhyb3cgYWZ0ZXIgZGVzZXJpYWxpemluZ1xuICAgICAgICAgIGNvbnN0IGNvZGUgPSBtZXNzYWdlLmhlYWRlcnNbXCI6ZXhjZXB0aW9uLXR5cGVcIl0udmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICAgIGNvbnN0IGV4Y2VwdGlvbiA9IHsgW2NvZGVdOiBtZXNzYWdlIH07XG4gICAgICAgICAgLy8gR2V0IHBhcnNlZCBleGNlcHRpb24gZXZlbnQgaW4ga2V5KGVycm9yIGNvZGUpIHZhbHVlKHN0cnVjdHVyZWQgZXJyb3IpIHBhaXIuXG4gICAgICAgICAgY29uc3QgZGVzZXJpYWxpemVkRXhjZXB0aW9uID0gYXdhaXQgb3B0aW9ucy5kZXNlcmlhbGl6ZXIoZXhjZXB0aW9uKTtcbiAgICAgICAgICBpZiAoZGVzZXJpYWxpemVkRXhjZXB0aW9uLiR1bmtub3duKSB7XG4gICAgICAgICAgICAvL3RoaXMgaXMgYW4gdW5tb2RlbGVkIGV4Y2VwdGlvbiB0aGVuIHRyeSBwYXJzaW5nIGl0IHdpdGggYmVzdCBlZmZvcnRcbiAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKG9wdGlvbnMudG9VdGY4KG1lc3NhZ2UuYm9keSkpO1xuICAgICAgICAgICAgZXJyb3IubmFtZSA9IGNvZGU7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZGVzZXJpYWxpemVkRXhjZXB0aW9uW2NvZGVdO1xuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2VUeXBlID09PSBcImV2ZW50XCIpIHtcbiAgICAgICAgICBjb25zdCBldmVudCA9IHtcbiAgICAgICAgICAgIFttZXNzYWdlLmhlYWRlcnNbXCI6ZXZlbnQtdHlwZVwiXS52YWx1ZSBhcyBzdHJpbmddOiBtZXNzYWdlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgZGVzZXJpYWxpemVkID0gYXdhaXQgb3B0aW9ucy5kZXNlcmlhbGl6ZXIoZXZlbnQpO1xuICAgICAgICAgIGlmIChkZXNlcmlhbGl6ZWQuJHVua25vd24pIGNvbnRpbnVlO1xuICAgICAgICAgIHlpZWxkIGRlc2VyaWFsaXplZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihgVW5yZWNvZ25pemFibGUgZXZlbnQgdHlwZTogJHttZXNzYWdlLmhlYWRlcnNbXCI6ZXZlbnQtdHlwZVwiXS52YWx1ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG4iXX0=","import { __asyncGenerator, __asyncValues, __await, __generator } from \"tslib\";\nimport { EventStreamMarshaller as EventMarshaller } from \"@aws-sdk/eventstream-marshaller\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getUnmarshalledStream } from \"./getUnmarshalledStream\";\nvar EventStreamMarshaller = /** @class */ (function () {\n function EventStreamMarshaller(_a) {\n var utf8Encoder = _a.utf8Encoder, utf8Decoder = _a.utf8Decoder;\n this.eventMarshaller = new EventMarshaller(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n EventStreamMarshaller.prototype.deserialize = function (body, deserializer) {\n var chunkedStream = getChunkedStream(body);\n var unmarshalledStream = getUnmarshalledStream(chunkedStream, {\n eventMarshaller: this.eventMarshaller,\n deserializer: deserializer,\n toUtf8: this.utfEncoder,\n });\n return unmarshalledStream;\n };\n EventStreamMarshaller.prototype.serialize = function (input, serializer) {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var self = this;\n var serializedIterator = function () {\n return __asyncGenerator(this, arguments, function () {\n var input_1, input_1_1, chunk, payloadBuf, e_1_1;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 7, 8, 13]);\n input_1 = __asyncValues(input);\n _b.label = 1;\n case 1: return [4 /*yield*/, __await(input_1.next())];\n case 2:\n if (!(input_1_1 = _b.sent(), !input_1_1.done)) return [3 /*break*/, 6];\n chunk = input_1_1.value;\n payloadBuf = self.eventMarshaller.marshall(serializer(chunk));\n return [4 /*yield*/, __await(payloadBuf)];\n case 3: return [4 /*yield*/, _b.sent()];\n case 4:\n _b.sent();\n _b.label = 5;\n case 5: return [3 /*break*/, 1];\n case 6: return [3 /*break*/, 13];\n case 7:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 13];\n case 8:\n _b.trys.push([8, , 11, 12]);\n if (!(input_1_1 && !input_1_1.done && (_a = input_1.return))) return [3 /*break*/, 10];\n return [4 /*yield*/, __await(_a.call(input_1))];\n case 9:\n _b.sent();\n _b.label = 10;\n case 10: return [3 /*break*/, 12];\n case 11:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 12: return [7 /*endfinally*/];\n case 13: return [4 /*yield*/, __await(new Uint8Array(0))];\n case 14: \n // Ending frame\n return [4 /*yield*/, _b.sent()];\n case 15:\n // Ending frame\n _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return _a = {},\n _a[Symbol.asyncIterator] = serializedIterator,\n _a;\n };\n return EventStreamMarshaller;\n}());\nexport { EventStreamMarshaller };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRTdHJlYW1NYXJzaGFsbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0V2ZW50U3RyZWFtTWFyc2hhbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBU2hFO0lBR0UsK0JBQVksRUFBMEQ7WUFBeEQsV0FBVyxpQkFBQSxFQUFFLFdBQVcsaUJBQUE7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVELDJDQUFXLEdBQVgsVUFDRSxJQUErQixFQUMvQixZQUFpRTtRQUVqRSxJQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLGFBQWEsRUFBRTtZQUM5RCxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsWUFBWSxjQUFBO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQ3hCLENBQUMsQ0FBQztRQUNILE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVELHlDQUFTLEdBQVQsVUFBYSxLQUF1QixFQUFFLFVBQWlDOztRQUNyRSw0REFBNEQ7UUFDNUQsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQU0sa0JBQWtCLEdBQUc7Ozs7Ozs7OzRCQUNDLFVBQUEsY0FBQSxLQUFLLENBQUE7Ozs7OzRCQUFkLEtBQUssa0JBQUEsQ0FBQTs0QkFDZCxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7eURBQzlELFVBQVU7Z0NBQWhCLGdDQUFnQjs7NEJBQWhCLFNBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhEQUdiLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQzs7d0JBRHZCLGVBQWU7d0JBQ2YsZ0NBQXVCOzs0QkFEdkIsZUFBZTs0QkFDZixTQUF1QixDQUFDOzs7OztTQUN6QixDQUFDO1FBQ0Y7WUFDRSxHQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUcsa0JBQWtCO2VBQzFDO0lBQ0osQ0FBQztJQUNILDRCQUFDO0FBQUQsQ0FBQyxBQXBDRCxJQW9DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50U3RyZWFtTWFyc2hhbGxlciBhcyBFdmVudE1hcnNoYWxsZXIgfSBmcm9tIFwiQGF3cy1zZGsvZXZlbnRzdHJlYW0tbWFyc2hhbGxlclwiO1xuaW1wb3J0IHsgRGVjb2RlciwgRW5jb2RlciwgRXZlbnRTdHJlYW1NYXJzaGFsbGVyIGFzIElFdmVudFN0cmVhbU1hcnNoYWxsZXIsIE1lc3NhZ2UgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgZ2V0Q2h1bmtlZFN0cmVhbSB9IGZyb20gXCIuL2dldENodW5rZWRTdHJlYW1cIjtcbmltcG9ydCB7IGdldFVubWFyc2hhbGxlZFN0cmVhbSB9IGZyb20gXCIuL2dldFVubWFyc2hhbGxlZFN0cmVhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U3RyZWFtTWFyc2hhbGxlciBleHRlbmRzIElFdmVudFN0cmVhbU1hcnNoYWxsZXIge31cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudFN0cmVhbU1hcnNoYWxsZXJPcHRpb25zIHtcbiAgdXRmOEVuY29kZXI6IEVuY29kZXI7XG4gIHV0ZjhEZWNvZGVyOiBEZWNvZGVyO1xufVxuXG5leHBvcnQgY2xhc3MgRXZlbnRTdHJlYW1NYXJzaGFsbGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudE1hcnNoYWxsZXI6IEV2ZW50TWFyc2hhbGxlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB1dGZFbmNvZGVyOiBFbmNvZGVyO1xuICBjb25zdHJ1Y3Rvcih7IHV0ZjhFbmNvZGVyLCB1dGY4RGVjb2RlciB9OiBFdmVudFN0cmVhbU1hcnNoYWxsZXJPcHRpb25zKSB7XG4gICAgdGhpcy5ldmVudE1hcnNoYWxsZXIgPSBuZXcgRXZlbnRNYXJzaGFsbGVyKHV0ZjhFbmNvZGVyLCB1dGY4RGVjb2Rlcik7XG4gICAgdGhpcy51dGZFbmNvZGVyID0gdXRmOEVuY29kZXI7XG4gIH1cblxuICBkZXNlcmlhbGl6ZTxUPihcbiAgICBib2R5OiBBc3luY0l0ZXJhYmxlPFVpbnQ4QXJyYXk+LFxuICAgIGRlc2VyaWFsaXplcjogKGlucHV0OiB7IFtldmVudDogc3RyaW5nXTogTWVzc2FnZSB9KSA9PiBQcm9taXNlPFQ+XG4gICk6IEFzeW5jSXRlcmFibGU8VD4ge1xuICAgIGNvbnN0IGNodW5rZWRTdHJlYW0gPSBnZXRDaHVua2VkU3RyZWFtKGJvZHkpO1xuICAgIGNvbnN0IHVubWFyc2hhbGxlZFN0cmVhbSA9IGdldFVubWFyc2hhbGxlZFN0cmVhbShjaHVua2VkU3RyZWFtLCB7XG4gICAgICBldmVudE1hcnNoYWxsZXI6IHRoaXMuZXZlbnRNYXJzaGFsbGVyLFxuICAgICAgZGVzZXJpYWxpemVyLFxuICAgICAgdG9VdGY4OiB0aGlzLnV0ZkVuY29kZXIsXG4gICAgfSk7XG4gICAgcmV0dXJuIHVubWFyc2hhbGxlZFN0cmVhbTtcbiAgfVxuXG4gIHNlcmlhbGl6ZTxUPihpbnB1dDogQXN5bmNJdGVyYWJsZTxUPiwgc2VyaWFsaXplcjogKGV2ZW50OiBUKSA9PiBNZXNzYWdlKTogQXN5bmNJdGVyYWJsZTxVaW50OEFycmF5PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29uc3Qgc2VyaWFsaXplZEl0ZXJhdG9yID0gYXN5bmMgZnVuY3Rpb24qICgpIHtcbiAgICAgIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2YgaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZEJ1ZiA9IHNlbGYuZXZlbnRNYXJzaGFsbGVyLm1hcnNoYWxsKHNlcmlhbGl6ZXIoY2h1bmspKTtcbiAgICAgICAgeWllbGQgcGF5bG9hZEJ1ZjtcbiAgICAgIH1cbiAgICAgIC8vIEVuZGluZyBmcmFtZVxuICAgICAgeWllbGQgbmV3IFVpbnQ4QXJyYXkoMCk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXTogc2VyaWFsaXplZEl0ZXJhdG9yLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { __asyncGenerator, __await, __awaiter, __generator } from \"tslib\";\n/**\n * A util function converting ReadableStream into an async iterable.\n * Reference: https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nexport var readableStreamtoIterable = function (readableStream) {\n var _a;\n return (_a = {},\n _a[Symbol.asyncIterator] = function () {\n return __asyncGenerator(this, arguments, function () {\n var reader, _a, done, value;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(reader.read())];\n case 3:\n _a = _b.sent(), done = _a.done, value = _a.value;\n if (!done) return [3 /*break*/, 5];\n return [4 /*yield*/, __await(void 0)];\n case 4: return [2 /*return*/, _b.sent()];\n case 5: return [4 /*yield*/, __await(value)];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n return [3 /*break*/, 2];\n case 8: return [3 /*break*/, 10];\n case 9:\n reader.releaseLock();\n return [7 /*endfinally*/];\n case 10: return [2 /*return*/];\n }\n });\n });\n },\n _a);\n};\n/**\n * A util function converting async iterable to a ReadableStream.\n */\nexport var iterableToReadableStream = function (asyncIterable) {\n var iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n pull: function (controller) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, done, value;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, iterator.next()];\n case 1:\n _a = _b.sent(), done = _a.done, value = _a.value;\n if (done) {\n return [2 /*return*/, controller.close()];\n }\n controller.enqueue(value);\n return [2 /*return*/];\n }\n });\n });\n },\n });\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxJQUFNLHdCQUF3QixHQUFHLFVBQUksY0FBaUM7O0lBQXVCLE9BQUE7UUFDbEcsR0FBQyxNQUFNLENBQUMsYUFBYSxJQUFHOzs7Ozs7NEJBQ2hCLE1BQU0sR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Ozs7OztpQ0FFakMsSUFBSTs0QkFDZSw2QkFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUE7OzRCQUFyQyxLQUFrQixTQUFtQixFQUFuQyxJQUFJLFVBQUEsRUFBRSxLQUFLLFdBQUE7aUNBQ2YsSUFBSSxFQUFKLHdCQUFJOztnQ0FBRSxpQ0FBTzs2REFDWCxLQUFVO2dDQUFoQixnQ0FBZ0I7OzRCQUFoQixTQUFnQixDQUFDOzs7OzRCQUduQixNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7Ozs7OztTQUV4QjtXQUNEO0FBYmtHLENBYWxHLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxJQUFNLHdCQUF3QixHQUFHLFVBQUksYUFBK0I7SUFDekUsSUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQ3ZELE9BQU8sSUFBSSxjQUFjLENBQUM7UUFDbEIsSUFBSSxZQUFDLFVBQVU7Ozs7O2dDQUNLLHFCQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBQTs7NEJBQXZDLEtBQWtCLFNBQXFCLEVBQXJDLElBQUksVUFBQSxFQUFFLEtBQUssV0FBQTs0QkFDbkIsSUFBSSxJQUFJLEVBQUU7Z0NBQ1Isc0JBQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFDOzZCQUMzQjs0QkFDRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDOzs7OztTQUMzQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSB1dGlsIGZ1bmN0aW9uIGNvbnZlcnRpbmcgUmVhZGFibGVTdHJlYW0gaW50byBhbiBhc3luYyBpdGVyYWJsZS5cbiAqIFJlZmVyZW5jZTogaHR0cHM6Ly9qYWtlYXJjaGliYWxkLmNvbS8yMDE3L2FzeW5jLWl0ZXJhdG9ycy1hbmQtZ2VuZXJhdG9ycy8jbWFraW5nLXN0cmVhbXMtaXRlcmF0ZVxuICovXG5leHBvcnQgY29uc3QgcmVhZGFibGVTdHJlYW10b0l0ZXJhYmxlID0gPFQ+KHJlYWRhYmxlU3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxUPik6IEFzeW5jSXRlcmFibGU8VD4gPT4gKHtcbiAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXTogYXN5bmMgZnVuY3Rpb24qICgpIHtcbiAgICBjb25zdCByZWFkZXIgPSByZWFkYWJsZVN0cmVhbS5nZXRSZWFkZXIoKTtcbiAgICB0cnkge1xuICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTtcbiAgICAgICAgaWYgKGRvbmUpIHJldHVybjtcbiAgICAgICAgeWllbGQgdmFsdWUgYXMgVDtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgcmVhZGVyLnJlbGVhc2VMb2NrKCk7XG4gICAgfVxuICB9LFxufSk7XG5cbi8qKlxuICogQSB1dGlsIGZ1bmN0aW9uIGNvbnZlcnRpbmcgYXN5bmMgaXRlcmFibGUgdG8gYSBSZWFkYWJsZVN0cmVhbS5cbiAqL1xuZXhwb3J0IGNvbnN0IGl0ZXJhYmxlVG9SZWFkYWJsZVN0cmVhbSA9IDxUPihhc3luY0l0ZXJhYmxlOiBBc3luY0l0ZXJhYmxlPFQ+KTogUmVhZGFibGVTdHJlYW08VD4gPT4ge1xuICBjb25zdCBpdGVyYXRvciA9IGFzeW5jSXRlcmFibGVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCk7XG4gIHJldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe1xuICAgIGFzeW5jIHB1bGwoY29udHJvbGxlcikge1xuICAgICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gYXdhaXQgaXRlcmF0b3IubmV4dCgpO1xuICAgICAgaWYgKGRvbmUpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuY2xvc2UoKTtcbiAgICAgIH1cbiAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZSh2YWx1ZSk7XG4gICAgfSxcbiAgfSk7XG59O1xuIl19","import { EventStreamMarshaller as EventMarshaller } from \"@aws-sdk/eventstream-marshaller\";\nimport { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@aws-sdk/eventstream-serde-universal\";\nimport { iterableToReadableStream, readableStreamtoIterable } from \"./utils\";\n/**\n * Utility class used to serialize and deserialize event streams in\n * browsers and ReactNative.\n *\n * In browsers where ReadableStream API is available:\n * * deserialize from ReadableStream to an async iterable of output structure\n * * serialize from async iterable of input structure to ReadableStream\n * In ReactNative where only async iterable API is available:\n * * deserialize from async iterable of binaries to async iterable of output structure\n * * serialize from async iterable of input structure to async iterable of binaries\n *\n * We use ReadableStream API in browsers because of the consistency with other\n * streaming operations, where ReadableStream API is used to denote streaming data.\n * Whereas in ReactNative, ReadableStream API is not available, we use async iterable\n * for streaming data although it has lower throughput.\n */\nvar EventStreamMarshaller = /** @class */ (function () {\n function EventStreamMarshaller(_a) {\n var utf8Encoder = _a.utf8Encoder, utf8Decoder = _a.utf8Decoder;\n this.eventMarshaller = new EventMarshaller(utf8Encoder, utf8Decoder);\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder: utf8Decoder,\n utf8Encoder: utf8Encoder,\n });\n }\n EventStreamMarshaller.prototype.deserialize = function (body, deserializer) {\n var bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n };\n /**\n * Generate a stream that serialize events into stream of binary chunks;\n *\n * Caveat is that streaming request payload doesn't work on browser with native\n * xhr or fetch handler currently because they don't support upload streaming.\n * reference:\n * * https://bugs.chromium.org/p/chromium/issues/detail?id=688906\n * * https://bugzilla.mozilla.org/show_bug.cgi?id=1387483\n *\n */\n EventStreamMarshaller.prototype.serialize = function (input, serializer) {\n var serialziedIterable = this.universalMarshaller.serialize(input, serializer);\n return typeof ReadableStream === \"function\" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;\n };\n return EventStreamMarshaller;\n}());\nexport { EventStreamMarshaller };\nvar isReadableStream = function (body) {\n return typeof ReadableStream === \"function\" && body instanceof ReadableStream;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRTdHJlYW1NYXJzaGFsbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0V2ZW50U3RyZWFtTWFyc2hhbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLElBQUksZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixJQUFJLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHL0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBUzdFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNIO0lBR0UsK0JBQVksRUFBMEQ7WUFBeEQsV0FBVyxpQkFBQSxFQUFFLFdBQVcsaUJBQUE7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksOEJBQThCLENBQUM7WUFDNUQsV0FBVyxhQUFBO1lBQ1gsV0FBVyxhQUFBO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDJDQUFXLEdBQVgsVUFDRSxJQUE0RCxFQUM1RCxZQUFpRTtRQUVqRSxJQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwRixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCx5Q0FBUyxHQUFULFVBQWEsS0FBdUIsRUFBRSxVQUFpQztRQUNyRSxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pGLE9BQU8sT0FBTyxjQUFjLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztJQUNsSCxDQUFDO0lBQ0gsNEJBQUM7QUFBRCxDQUFDLEFBakNELElBaUNDOztBQUVELElBQU0sZ0JBQWdCLEdBQUcsVUFBQyxJQUFTO0lBQ2pDLE9BQUEsT0FBTyxjQUFjLEtBQUssVUFBVSxJQUFJLElBQUksWUFBWSxjQUFjO0FBQXRFLENBQXNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudFN0cmVhbU1hcnNoYWxsZXIgYXMgRXZlbnRNYXJzaGFsbGVyIH0gZnJvbSBcIkBhd3Mtc2RrL2V2ZW50c3RyZWFtLW1hcnNoYWxsZXJcIjtcbmltcG9ydCB7IEV2ZW50U3RyZWFtTWFyc2hhbGxlciBhcyBVbml2ZXJzYWxFdmVudFN0cmVhbU1hcnNoYWxsZXIgfSBmcm9tIFwiQGF3cy1zZGsvZXZlbnRzdHJlYW0tc2VyZGUtdW5pdmVyc2FsXCI7XG5pbXBvcnQgeyBEZWNvZGVyLCBFbmNvZGVyLCBFdmVudFN0cmVhbU1hcnNoYWxsZXIgYXMgSUV2ZW50U3RyZWFtTWFyc2hhbGxlciwgTWVzc2FnZSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBpdGVyYWJsZVRvUmVhZGFibGVTdHJlYW0sIHJlYWRhYmxlU3RyZWFtdG9JdGVyYWJsZSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRTdHJlYW1NYXJzaGFsbGVyIGV4dGVuZHMgSUV2ZW50U3RyZWFtTWFyc2hhbGxlciB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U3RyZWFtTWFyc2hhbGxlck9wdGlvbnMge1xuICB1dGY4RW5jb2RlcjogRW5jb2RlcjtcbiAgdXRmOERlY29kZXI6IERlY29kZXI7XG59XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyB1c2VkIHRvIHNlcmlhbGl6ZSBhbmQgZGVzZXJpYWxpemUgZXZlbnQgc3RyZWFtcyBpblxuICogYnJvd3NlcnMgYW5kIFJlYWN0TmF0aXZlLlxuICpcbiAqIEluIGJyb3dzZXJzIHdoZXJlIFJlYWRhYmxlU3RyZWFtIEFQSSBpcyBhdmFpbGFibGU6XG4gKiAqIGRlc2VyaWFsaXplIGZyb20gUmVhZGFibGVTdHJlYW0gdG8gYW4gYXN5bmMgaXRlcmFibGUgb2Ygb3V0cHV0IHN0cnVjdHVyZVxuICogKiBzZXJpYWxpemUgZnJvbSBhc3luYyBpdGVyYWJsZSBvZiBpbnB1dCBzdHJ1Y3R1cmUgdG8gUmVhZGFibGVTdHJlYW1cbiAqIEluIFJlYWN0TmF0aXZlIHdoZXJlIG9ubHkgYXN5bmMgaXRlcmFibGUgQVBJIGlzIGF2YWlsYWJsZTpcbiAqICogZGVzZXJpYWxpemUgZnJvbSBhc3luYyBpdGVyYWJsZSBvZiBiaW5hcmllcyB0byBhc3luYyBpdGVyYWJsZSBvZiBvdXRwdXQgc3RydWN0dXJlXG4gKiAqIHNlcmlhbGl6ZSBmcm9tIGFzeW5jIGl0ZXJhYmxlIG9mIGlucHV0IHN0cnVjdHVyZSB0byBhc3luYyBpdGVyYWJsZSBvZiBiaW5hcmllc1xuICpcbiAqIFdlIHVzZSBSZWFkYWJsZVN0cmVhbSBBUEkgaW4gYnJvd3NlcnMgYmVjYXVzZSBvZiB0aGUgY29uc2lzdGVuY3kgd2l0aCBvdGhlclxuICogc3RyZWFtaW5nIG9wZXJhdGlvbnMsIHdoZXJlIFJlYWRhYmxlU3RyZWFtIEFQSSBpcyB1c2VkIHRvIGRlbm90ZSBzdHJlYW1pbmcgZGF0YS5cbiAqIFdoZXJlYXMgaW4gUmVhY3ROYXRpdmUsIFJlYWRhYmxlU3RyZWFtIEFQSSBpcyBub3QgYXZhaWxhYmxlLCB3ZSB1c2UgYXN5bmMgaXRlcmFibGVcbiAqIGZvciBzdHJlYW1pbmcgZGF0YSBhbHRob3VnaCBpdCBoYXMgbG93ZXIgdGhyb3VnaHB1dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50U3RyZWFtTWFyc2hhbGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRNYXJzaGFsbGVyOiBFdmVudE1hcnNoYWxsZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5pdmVyc2FsTWFyc2hhbGxlcjogVW5pdmVyc2FsRXZlbnRTdHJlYW1NYXJzaGFsbGVyO1xuICBjb25zdHJ1Y3Rvcih7IHV0ZjhFbmNvZGVyLCB1dGY4RGVjb2RlciB9OiBFdmVudFN0cmVhbU1hcnNoYWxsZXJPcHRpb25zKSB7XG4gICAgdGhpcy5ldmVudE1hcnNoYWxsZXIgPSBuZXcgRXZlbnRNYXJzaGFsbGVyKHV0ZjhFbmNvZGVyLCB1dGY4RGVjb2Rlcik7XG4gICAgdGhpcy51bml2ZXJzYWxNYXJzaGFsbGVyID0gbmV3IFVuaXZlcnNhbEV2ZW50U3RyZWFtTWFyc2hhbGxlcih7XG4gICAgICB1dGY4RGVjb2RlcixcbiAgICAgIHV0ZjhFbmNvZGVyLFxuICAgIH0pO1xuICB9XG5cbiAgZGVzZXJpYWxpemU8VD4oXG4gICAgYm9keTogUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4gfCBBc3luY0l0ZXJhYmxlPFVpbnQ4QXJyYXk+LFxuICAgIGRlc2VyaWFsaXplcjogKGlucHV0OiB7IFtldmVudDogc3RyaW5nXTogTWVzc2FnZSB9KSA9PiBQcm9taXNlPFQ+XG4gICk6IEFzeW5jSXRlcmFibGU8VD4ge1xuICAgIGNvbnN0IGJvZHlJdGVyYWJsZSA9IGlzUmVhZGFibGVTdHJlYW0oYm9keSkgPyByZWFkYWJsZVN0cmVhbXRvSXRlcmFibGUoYm9keSkgOiBib2R5O1xuICAgIHJldHVybiB0aGlzLnVuaXZlcnNhbE1hcnNoYWxsZXIuZGVzZXJpYWxpemUoYm9keUl0ZXJhYmxlLCBkZXNlcmlhbGl6ZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyZWFtIHRoYXQgc2VyaWFsaXplIGV2ZW50cyBpbnRvIHN0cmVhbSBvZiBiaW5hcnkgY2h1bmtzO1xuICAgKlxuICAgKiBDYXZlYXQgaXMgdGhhdCBzdHJlYW1pbmcgcmVxdWVzdCBwYXlsb2FkIGRvZXNuJ3Qgd29yayBvbiBicm93c2VyIHdpdGggbmF0aXZlXG4gICAqIHhociBvciBmZXRjaCBoYW5kbGVyIGN1cnJlbnRseSBiZWNhdXNlIHRoZXkgZG9uJ3Qgc3VwcG9ydCB1cGxvYWQgc3RyZWFtaW5nLlxuICAgKiByZWZlcmVuY2U6XG4gICAqICogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9Njg4OTA2XG4gICAqICogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NzQ4M1xuICAgKlxuICAgKi9cbiAgc2VyaWFsaXplPFQ+KGlucHV0OiBBc3luY0l0ZXJhYmxlPFQ+LCBzZXJpYWxpemVyOiAoZXZlbnQ6IFQpID0+IE1lc3NhZ2UpOiBSZWFkYWJsZVN0cmVhbSB8IEFzeW5jSXRlcmFibGU8VWludDhBcnJheT4ge1xuICAgIGNvbnN0IHNlcmlhbHppZWRJdGVyYWJsZSA9IHRoaXMudW5pdmVyc2FsTWFyc2hhbGxlci5zZXJpYWxpemUoaW5wdXQsIHNlcmlhbGl6ZXIpO1xuICAgIHJldHVybiB0eXBlb2YgUmVhZGFibGVTdHJlYW0gPT09IFwiZnVuY3Rpb25cIiA/IGl0ZXJhYmxlVG9SZWFkYWJsZVN0cmVhbShzZXJpYWx6aWVkSXRlcmFibGUpIDogc2VyaWFsemllZEl0ZXJhYmxlO1xuICB9XG59XG5cbmNvbnN0IGlzUmVhZGFibGVTdHJlYW0gPSAoYm9keTogYW55KTogYm9keSBpcyBSZWFkYWJsZVN0cmVhbSA9PlxuICB0eXBlb2YgUmVhZGFibGVTdHJlYW0gPT09IFwiZnVuY3Rpb25cIiAmJiBib2R5IGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW07XG4iXX0=","import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\n/** browser event stream serde utils provider */\nexport var eventStreamSerdeProvider = function (options) { return new EventStreamMarshaller(options); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsZ0RBQWdEO0FBQ2hELE1BQU0sQ0FBQyxJQUFNLHdCQUF3QixHQUE2QixVQUFDLE9BSWxFLElBQUssT0FBQSxJQUFJLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFsQyxDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb2RlciwgRW5jb2RlciwgRXZlbnRTaWduZXIsIEV2ZW50U3RyZWFtU2VyZGVQcm92aWRlciwgUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgRXZlbnRTdHJlYW1NYXJzaGFsbGVyIH0gZnJvbSBcIi4vRXZlbnRTdHJlYW1NYXJzaGFsbGVyXCI7XG5cbi8qKiBicm93c2VyIGV2ZW50IHN0cmVhbSBzZXJkZSB1dGlscyBwcm92aWRlciAqL1xuZXhwb3J0IGNvbnN0IGV2ZW50U3RyZWFtU2VyZGVQcm92aWRlcjogRXZlbnRTdHJlYW1TZXJkZVByb3ZpZGVyID0gKG9wdGlvbnM6IHtcbiAgdXRmOEVuY29kZXI6IEVuY29kZXI7XG4gIHV0ZjhEZWNvZGVyOiBEZWNvZGVyO1xuICBldmVudFNpZ25lcjogRXZlbnRTaWduZXIgfCBQcm92aWRlcjxFdmVudFNpZ25lcj47XG59KSA9PiBuZXcgRXZlbnRTdHJlYW1NYXJzaGFsbGVyKG9wdGlvbnMpO1xuIl19","export function blobReader(blob, onChunk, chunkSize) {\n if (chunkSize === void 0) { chunkSize = 1024 * 1024; }\n return new Promise(function (resolve, reject) {\n var fileReader = new FileReader();\n fileReader.addEventListener(\"error\", reject);\n fileReader.addEventListener(\"abort\", reject);\n var size = blob.size;\n var totalBytesRead = 0;\n function read() {\n if (totalBytesRead >= size) {\n resolve();\n return;\n }\n fileReader.readAsArrayBuffer(blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize)));\n }\n fileReader.addEventListener(\"load\", function (event) {\n var result = event.target.result;\n onChunk(new Uint8Array(result));\n totalBytesRead += result.byteLength;\n // read the next block\n read();\n });\n // kick off the read\n read();\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsSUFBVSxFQUNWLE9BQW9DLEVBQ3BDLFNBQStCO0lBQS9CLDBCQUFBLEVBQUEsWUFBb0IsSUFBSSxHQUFHLElBQUk7SUFFL0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1FBQ2pDLElBQU0sVUFBVSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFcEMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLFNBQVMsSUFBSTtZQUNYLElBQUksY0FBYyxJQUFJLElBQUksRUFBRTtnQkFDMUIsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTzthQUNSO1lBQ0QsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGNBQWMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkcsQ0FBQztRQUVELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsVUFBQyxLQUFLO1lBQ3hDLElBQU0sTUFBTSxHQUFpQixLQUFLLENBQUMsTUFBYyxDQUFDLE1BQU0sQ0FBQztZQUN6RCxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNoQyxjQUFjLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxzQkFBc0I7WUFDdEIsSUFBSSxFQUFFLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztRQUVILG9CQUFvQjtRQUNwQixJQUFJLEVBQUUsQ0FBQztJQUNULENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBibG9iUmVhZGVyKFxuICBibG9iOiBCbG9iLFxuICBvbkNodW5rOiAoY2h1bms6IFVpbnQ4QXJyYXkpID0+IHZvaWQsXG4gIGNodW5rU2l6ZTogbnVtYmVyID0gMTAyNCAqIDEwMjRcbik6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgZmlsZVJlYWRlci5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgcmVqZWN0KTtcbiAgICBmaWxlUmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCByZWplY3QpO1xuXG4gICAgY29uc3Qgc2l6ZSA9IGJsb2Iuc2l6ZTtcbiAgICBsZXQgdG90YWxCeXRlc1JlYWQgPSAwO1xuXG4gICAgZnVuY3Rpb24gcmVhZCgpIHtcbiAgICAgIGlmICh0b3RhbEJ5dGVzUmVhZCA+PSBzaXplKSB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZmlsZVJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihibG9iLnNsaWNlKHRvdGFsQnl0ZXNSZWFkLCBNYXRoLm1pbihzaXplLCB0b3RhbEJ5dGVzUmVhZCArIGNodW5rU2l6ZSkpKTtcbiAgICB9XG5cbiAgICBmaWxlUmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsIChldmVudCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gPEFycmF5QnVmZmVyPihldmVudC50YXJnZXQgYXMgYW55KS5yZXN1bHQ7XG4gICAgICBvbkNodW5rKG5ldyBVaW50OEFycmF5KHJlc3VsdCkpO1xuICAgICAgdG90YWxCeXRlc1JlYWQgKz0gcmVzdWx0LmJ5dGVMZW5ndGg7XG4gICAgICAvLyByZWFkIHRoZSBuZXh0IGJsb2NrXG4gICAgICByZWFkKCk7XG4gICAgfSk7XG5cbiAgICAvLyBraWNrIG9mZiB0aGUgcmVhZFxuICAgIHJlYWQoKTtcbiAgfSk7XG59XG4iXX0=","import { __awaiter, __generator } from \"tslib\";\nimport { blobReader } from \"@aws-sdk/chunked-blob-reader\";\nexport var blobHasher = function blobHasher(hashCtor, blob) {\n return __awaiter(this, void 0, void 0, function () {\n var hash;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hash = new hashCtor();\n return [4 /*yield*/, blobReader(blob, function (chunk) {\n hash.update(chunk);\n })];\n case 1:\n _a.sent();\n return [2 /*return*/, hash.digest()];\n }\n });\n });\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcxRCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQXVCLFNBQWUsVUFBVSxDQUNyRSxRQUF5QixFQUN6QixJQUFVOzs7Ozs7b0JBRUosSUFBSSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7b0JBRTVCLHFCQUFNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBQyxLQUFLOzRCQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNyQixDQUFDLENBQUMsRUFBQTs7b0JBRkYsU0FFRSxDQUFDO29CQUVILHNCQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQzs7OztDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmxvYlJlYWRlciB9IGZyb20gXCJAYXdzLXNkay9jaHVua2VkLWJsb2ItcmVhZGVyXCI7XG5pbXBvcnQgeyBIYXNoQ29uc3RydWN0b3IsIFN0cmVhbUhhc2hlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgYmxvYkhhc2hlcjogU3RyZWFtSGFzaGVyPEJsb2I+ID0gYXN5bmMgZnVuY3Rpb24gYmxvYkhhc2hlcihcbiAgaGFzaEN0b3I6IEhhc2hDb25zdHJ1Y3RvcixcbiAgYmxvYjogQmxvYlxuKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gIGNvbnN0IGhhc2ggPSBuZXcgaGFzaEN0b3IoKTtcblxuICBhd2FpdCBibG9iUmVhZGVyKGJsb2IsIChjaHVuaykgPT4ge1xuICAgIGhhc2gudXBkYXRlKGNodW5rKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGhhc2guZGlnZXN0KCk7XG59O1xuIl19","/**\n * @internal\n */\nexport var BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexport var DIGEST_LENGTH = 16;\n/**\n * @internal\n */\nexport var INIT = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxJQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFFN0I7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRWhDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgQkxPQ0tfU0laRSA9IDY0O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgRElHRVNUX0xFTkdUSCA9IDE2O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgSU5JVCA9IFsweDY3NDUyMzAxLCAweGVmY2RhYjg5LCAweDk4YmFkY2ZlLCAweDEwMzI1NDc2XTtcbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { fromUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { BLOCK_SIZE, DIGEST_LENGTH, INIT } from \"./constants\";\nvar Md5 = /** @class */ (function () {\n function Md5() {\n this.state = Uint32Array.from(INIT);\n this.buffer = new DataView(new ArrayBuffer(BLOCK_SIZE));\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n }\n Md5.prototype.update = function (sourceData) {\n if (isEmptyData(sourceData)) {\n return;\n }\n else if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var data = convertToBuffer(sourceData);\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n while (byteLength > 0) {\n this.buffer.setUint8(this.bufferLength++, data[position++]);\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n Md5.prototype.digest = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, buffer, undecoratedLength, bytesHashed, bitsHashed, i, i, out, i;\n return __generator(this, function (_b) {\n if (!this.finished) {\n _a = this, buffer = _a.buffer, undecoratedLength = _a.bufferLength, bytesHashed = _a.bytesHashed;\n bitsHashed = bytesHashed * 8;\n buffer.setUint8(this.bufferLength++, 128);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (i = this.bufferLength; i < BLOCK_SIZE; i++) {\n buffer.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n buffer.setUint8(i, 0);\n }\n buffer.setUint32(BLOCK_SIZE - 8, bitsHashed >>> 0, true);\n buffer.setUint32(BLOCK_SIZE - 4, Math.floor(bitsHashed / 0x100000000), true);\n this.hashBuffer();\n this.finished = true;\n }\n out = new DataView(new ArrayBuffer(DIGEST_LENGTH));\n for (i = 0; i < 4; i++) {\n out.setUint32(i * 4, this.state[i], true);\n }\n return [2 /*return*/, new Uint8Array(out.buffer, out.byteOffset, out.byteLength)];\n });\n });\n };\n Md5.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n var a = state[0], b = state[1], c = state[2], d = state[3];\n a = ff(a, b, c, d, buffer.getUint32(0, true), 7, 0xd76aa478);\n d = ff(d, a, b, c, buffer.getUint32(4, true), 12, 0xe8c7b756);\n c = ff(c, d, a, b, buffer.getUint32(8, true), 17, 0x242070db);\n b = ff(b, c, d, a, buffer.getUint32(12, true), 22, 0xc1bdceee);\n a = ff(a, b, c, d, buffer.getUint32(16, true), 7, 0xf57c0faf);\n d = ff(d, a, b, c, buffer.getUint32(20, true), 12, 0x4787c62a);\n c = ff(c, d, a, b, buffer.getUint32(24, true), 17, 0xa8304613);\n b = ff(b, c, d, a, buffer.getUint32(28, true), 22, 0xfd469501);\n a = ff(a, b, c, d, buffer.getUint32(32, true), 7, 0x698098d8);\n d = ff(d, a, b, c, buffer.getUint32(36, true), 12, 0x8b44f7af);\n c = ff(c, d, a, b, buffer.getUint32(40, true), 17, 0xffff5bb1);\n b = ff(b, c, d, a, buffer.getUint32(44, true), 22, 0x895cd7be);\n a = ff(a, b, c, d, buffer.getUint32(48, true), 7, 0x6b901122);\n d = ff(d, a, b, c, buffer.getUint32(52, true), 12, 0xfd987193);\n c = ff(c, d, a, b, buffer.getUint32(56, true), 17, 0xa679438e);\n b = ff(b, c, d, a, buffer.getUint32(60, true), 22, 0x49b40821);\n a = gg(a, b, c, d, buffer.getUint32(4, true), 5, 0xf61e2562);\n d = gg(d, a, b, c, buffer.getUint32(24, true), 9, 0xc040b340);\n c = gg(c, d, a, b, buffer.getUint32(44, true), 14, 0x265e5a51);\n b = gg(b, c, d, a, buffer.getUint32(0, true), 20, 0xe9b6c7aa);\n a = gg(a, b, c, d, buffer.getUint32(20, true), 5, 0xd62f105d);\n d = gg(d, a, b, c, buffer.getUint32(40, true), 9, 0x02441453);\n c = gg(c, d, a, b, buffer.getUint32(60, true), 14, 0xd8a1e681);\n b = gg(b, c, d, a, buffer.getUint32(16, true), 20, 0xe7d3fbc8);\n a = gg(a, b, c, d, buffer.getUint32(36, true), 5, 0x21e1cde6);\n d = gg(d, a, b, c, buffer.getUint32(56, true), 9, 0xc33707d6);\n c = gg(c, d, a, b, buffer.getUint32(12, true), 14, 0xf4d50d87);\n b = gg(b, c, d, a, buffer.getUint32(32, true), 20, 0x455a14ed);\n a = gg(a, b, c, d, buffer.getUint32(52, true), 5, 0xa9e3e905);\n d = gg(d, a, b, c, buffer.getUint32(8, true), 9, 0xfcefa3f8);\n c = gg(c, d, a, b, buffer.getUint32(28, true), 14, 0x676f02d9);\n b = gg(b, c, d, a, buffer.getUint32(48, true), 20, 0x8d2a4c8a);\n a = hh(a, b, c, d, buffer.getUint32(20, true), 4, 0xfffa3942);\n d = hh(d, a, b, c, buffer.getUint32(32, true), 11, 0x8771f681);\n c = hh(c, d, a, b, buffer.getUint32(44, true), 16, 0x6d9d6122);\n b = hh(b, c, d, a, buffer.getUint32(56, true), 23, 0xfde5380c);\n a = hh(a, b, c, d, buffer.getUint32(4, true), 4, 0xa4beea44);\n d = hh(d, a, b, c, buffer.getUint32(16, true), 11, 0x4bdecfa9);\n c = hh(c, d, a, b, buffer.getUint32(28, true), 16, 0xf6bb4b60);\n b = hh(b, c, d, a, buffer.getUint32(40, true), 23, 0xbebfbc70);\n a = hh(a, b, c, d, buffer.getUint32(52, true), 4, 0x289b7ec6);\n d = hh(d, a, b, c, buffer.getUint32(0, true), 11, 0xeaa127fa);\n c = hh(c, d, a, b, buffer.getUint32(12, true), 16, 0xd4ef3085);\n b = hh(b, c, d, a, buffer.getUint32(24, true), 23, 0x04881d05);\n a = hh(a, b, c, d, buffer.getUint32(36, true), 4, 0xd9d4d039);\n d = hh(d, a, b, c, buffer.getUint32(48, true), 11, 0xe6db99e5);\n c = hh(c, d, a, b, buffer.getUint32(60, true), 16, 0x1fa27cf8);\n b = hh(b, c, d, a, buffer.getUint32(8, true), 23, 0xc4ac5665);\n a = ii(a, b, c, d, buffer.getUint32(0, true), 6, 0xf4292244);\n d = ii(d, a, b, c, buffer.getUint32(28, true), 10, 0x432aff97);\n c = ii(c, d, a, b, buffer.getUint32(56, true), 15, 0xab9423a7);\n b = ii(b, c, d, a, buffer.getUint32(20, true), 21, 0xfc93a039);\n a = ii(a, b, c, d, buffer.getUint32(48, true), 6, 0x655b59c3);\n d = ii(d, a, b, c, buffer.getUint32(12, true), 10, 0x8f0ccc92);\n c = ii(c, d, a, b, buffer.getUint32(40, true), 15, 0xffeff47d);\n b = ii(b, c, d, a, buffer.getUint32(4, true), 21, 0x85845dd1);\n a = ii(a, b, c, d, buffer.getUint32(32, true), 6, 0x6fa87e4f);\n d = ii(d, a, b, c, buffer.getUint32(60, true), 10, 0xfe2ce6e0);\n c = ii(c, d, a, b, buffer.getUint32(24, true), 15, 0xa3014314);\n b = ii(b, c, d, a, buffer.getUint32(52, true), 21, 0x4e0811a1);\n a = ii(a, b, c, d, buffer.getUint32(16, true), 6, 0xf7537e82);\n d = ii(d, a, b, c, buffer.getUint32(44, true), 10, 0xbd3af235);\n c = ii(c, d, a, b, buffer.getUint32(8, true), 15, 0x2ad7d2bb);\n b = ii(b, c, d, a, buffer.getUint32(36, true), 21, 0xeb86d391);\n state[0] = (a + state[0]) & 0xffffffff;\n state[1] = (b + state[1]) & 0xffffffff;\n state[2] = (c + state[2]) & 0xffffffff;\n state[3] = (d + state[3]) & 0xffffffff;\n };\n return Md5;\n}());\nexport { Md5 };\nfunction cmn(q, a, b, x, s, t) {\n a = (((a + q) & 0xffffffff) + ((x + t) & 0xffffffff)) & 0xffffffff;\n return (((a << s) | (a >>> (32 - s))) + b) & 0xffffffff;\n}\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nfunction convertToBuffer(data) {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUQ7SUFBQTtRQUNVLFVBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBYSxJQUFJLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzdELGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUE2STNCLENBQUM7SUEzSUMsb0JBQU0sR0FBTixVQUFPLFVBQXNCO1FBQzNCLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzNCLE9BQU87U0FDUjthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDbEU7UUFFRCxJQUFNLElBQUksR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsSUFBQSxVQUFVLEdBQUssSUFBSSxXQUFULENBQVU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUM7UUFFL0IsT0FBTyxVQUFVLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVELFVBQVUsRUFBRSxDQUFDO1lBRWIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQzthQUN2QjtTQUNGO0lBQ0gsQ0FBQztJQUVLLG9CQUFNLEdBQVo7Ozs7Z0JBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ1osS0FBMkQsSUFBSSxFQUE3RCxNQUFNLFlBQUEsRUFBZ0IsaUJBQWlCLGtCQUFBLEVBQUUsV0FBVyxpQkFBQSxDQUFVO29CQUNoRSxVQUFVLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztvQkFDbkMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsR0FBVSxDQUFDLENBQUM7b0JBRWpELCtEQUErRDtvQkFDL0QsSUFBSSxpQkFBaUIsR0FBRyxVQUFVLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRTt3QkFDcEQsS0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFOzRCQUNuRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFDdkI7d0JBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztxQkFDdkI7b0JBRUQsS0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTt3QkFDdkQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3ZCO29CQUNELE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxVQUFVLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUN6RCxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBRTdFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFFbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7aUJBQ3RCO2dCQUVLLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxLQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDMUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQzNDO2dCQUVELHNCQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUM7OztLQUNuRTtJQUVPLHdCQUFVLEdBQWxCO1FBQ1EsSUFBQSxLQUFvQixJQUFJLEVBQXRCLE1BQU0sWUFBQSxFQUFFLEtBQUssV0FBUyxDQUFDO1FBRS9CLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDZCxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNaLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ1osQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVmLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RCxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUvRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDdkMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUN2QyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFDSCxVQUFDO0FBQUQsQ0FBQyxBQWxKRCxJQWtKQzs7QUFFRCxTQUFTLEdBQUcsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDM0UsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDO0lBQ25FLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQVMsRUFBRSxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDckYsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELFNBQVMsRUFBRSxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDckYsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELFNBQVMsRUFBRSxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDckYsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxTQUFTLEVBQUUsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ3JGLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBZ0I7SUFDbkMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztLQUMxQjtJQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLElBQWdCO0lBQ3ZDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3ZCO0lBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzVCLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDckc7SUFFRCxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXNoLCBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmcm9tVXRmOCB9IGZyb20gXCJAYXdzLXNkay91dGlsLXV0ZjgtYnJvd3NlclwiO1xuXG5pbXBvcnQgeyBCTE9DS19TSVpFLCBESUdFU1RfTEVOR1RILCBJTklUIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjbGFzcyBNZDUgaW1wbGVtZW50cyBIYXNoIHtcbiAgcHJpdmF0ZSBzdGF0ZSA9IFVpbnQzMkFycmF5LmZyb20oSU5JVCk7XG4gIHByaXZhdGUgYnVmZmVyOiBEYXRhVmlldyA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoQkxPQ0tfU0laRSkpO1xuICBwcml2YXRlIGJ1ZmZlckxlbmd0aCA9IDA7XG4gIHByaXZhdGUgYnl0ZXNIYXNoZWQgPSAwO1xuICBwcml2YXRlIGZpbmlzaGVkID0gZmFsc2U7XG5cbiAgdXBkYXRlKHNvdXJjZURhdGE6IFNvdXJjZURhdGEpOiB2b2lkIHtcbiAgICBpZiAoaXNFbXB0eURhdGEoc291cmNlRGF0YSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmluaXNoZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0dGVtcHRlZCB0byB1cGRhdGUgYW4gYWxyZWFkeSBmaW5pc2hlZCBoYXNoLlwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gY29udmVydFRvQnVmZmVyKHNvdXJjZURhdGEpO1xuXG4gICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICBsZXQgeyBieXRlTGVuZ3RoIH0gPSBkYXRhO1xuICAgIHRoaXMuYnl0ZXNIYXNoZWQgKz0gYnl0ZUxlbmd0aDtcblxuICAgIHdoaWxlIChieXRlTGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5idWZmZXIuc2V0VWludDgodGhpcy5idWZmZXJMZW5ndGgrKywgZGF0YVtwb3NpdGlvbisrXSk7XG4gICAgICBieXRlTGVuZ3RoLS07XG5cbiAgICAgIGlmICh0aGlzLmJ1ZmZlckxlbmd0aCA9PT0gQkxPQ0tfU0laRSkge1xuICAgICAgICB0aGlzLmhhc2hCdWZmZXIoKTtcbiAgICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRpZ2VzdCgpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICBpZiAoIXRoaXMuZmluaXNoZWQpIHtcbiAgICAgIGNvbnN0IHsgYnVmZmVyLCBidWZmZXJMZW5ndGg6IHVuZGVjb3JhdGVkTGVuZ3RoLCBieXRlc0hhc2hlZCB9ID0gdGhpcztcbiAgICAgIGNvbnN0IGJpdHNIYXNoZWQgPSBieXRlc0hhc2hlZCAqIDg7XG4gICAgICBidWZmZXIuc2V0VWludDgodGhpcy5idWZmZXJMZW5ndGgrKywgMGIxMDAwMDAwMCk7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgZmluYWwgYmxvY2sgaGFzIGVub3VnaCByb29tIGZvciB0aGUgaGFzaGVkIGxlbmd0aFxuICAgICAgaWYgKHVuZGVjb3JhdGVkTGVuZ3RoICUgQkxPQ0tfU0laRSA+PSBCTE9DS19TSVpFIC0gOCkge1xuICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5idWZmZXJMZW5ndGg7IGkgPCBCTE9DS19TSVpFOyBpKyspIHtcbiAgICAgICAgICBidWZmZXIuc2V0VWludDgoaSwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYXNoQnVmZmVyKCk7XG4gICAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gMDtcbiAgICAgIH1cblxuICAgICAgZm9yIChsZXQgaSA9IHRoaXMuYnVmZmVyTGVuZ3RoOyBpIDwgQkxPQ0tfU0laRSAtIDg7IGkrKykge1xuICAgICAgICBidWZmZXIuc2V0VWludDgoaSwgMCk7XG4gICAgICB9XG4gICAgICBidWZmZXIuc2V0VWludDMyKEJMT0NLX1NJWkUgLSA4LCBiaXRzSGFzaGVkID4+PiAwLCB0cnVlKTtcbiAgICAgIGJ1ZmZlci5zZXRVaW50MzIoQkxPQ0tfU0laRSAtIDQsIE1hdGguZmxvb3IoYml0c0hhc2hlZCAvIDB4MTAwMDAwMDAwKSwgdHJ1ZSk7XG5cbiAgICAgIHRoaXMuaGFzaEJ1ZmZlcigpO1xuXG4gICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBvdXQgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKERJR0VTVF9MRU5HVEgpKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgb3V0LnNldFVpbnQzMihpICogNCwgdGhpcy5zdGF0ZVtpXSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KG91dC5idWZmZXIsIG91dC5ieXRlT2Zmc2V0LCBvdXQuYnl0ZUxlbmd0aCk7XG4gIH1cblxuICBwcml2YXRlIGhhc2hCdWZmZXIoKTogdm9pZCB7XG4gICAgY29uc3QgeyBidWZmZXIsIHN0YXRlIH0gPSB0aGlzO1xuXG4gICAgbGV0IGEgPSBzdGF0ZVswXSxcbiAgICAgIGIgPSBzdGF0ZVsxXSxcbiAgICAgIGMgPSBzdGF0ZVsyXSxcbiAgICAgIGQgPSBzdGF0ZVszXTtcblxuICAgIGEgPSBmZihhLCBiLCBjLCBkLCBidWZmZXIuZ2V0VWludDMyKDAsIHRydWUpLCA3LCAweGQ3NmFhNDc4KTtcbiAgICBkID0gZmYoZCwgYSwgYiwgYywgYnVmZmVyLmdldFVpbnQzMig0LCB0cnVlKSwgMTIsIDB4ZThjN2I3NTYpO1xuICAgIGMgPSBmZihjLCBkLCBhLCBiLCBidWZmZXIuZ2V0VWludDMyKDgsIHRydWUpLCAxNywgMHgyNDIwNzBkYik7XG4gICAgYiA9IGZmKGIsIGMsIGQsIGEsIGJ1ZmZlci5nZXRVaW50MzIoMTIsIHRydWUpLCAyMiwgMHhjMWJkY2VlZSk7XG4gICAgYSA9IGZmKGEsIGIsIGMsIGQsIGJ1ZmZlci5nZXRVaW50MzIoMTYsIHRydWUpLCA3LCAweGY1N2MwZmFmKTtcbiAgICBkID0gZmYoZCwgYSwgYiwgYywgYnVmZmVyLmdldFVpbnQzMigyMCwgdHJ1ZSksIDEyLCAweDQ3ODdjNjJhKTtcbiAgICBjID0gZmYoYywgZCwgYSwgYiwgYnVmZmVyLmdldFVpbnQzMigyNCwgdHJ1ZSksIDE3LCAweGE4MzA0NjEzKTtcbiAgICBiID0gZmYoYiwgYywgZCwgYSwgYnVmZmVyLmdldFVpbnQzMigyOCwgdHJ1ZSksIDIyLCAweGZkNDY5NTAxKTtcbiAgICBhID0gZmYoYSwgYiwgYywgZCwgYnVmZmVyLmdldFVpbnQzMigzMiwgdHJ1ZSksIDcsIDB4Njk4MDk4ZDgpO1xuICAgIGQgPSBmZihkLCBhLCBiLCBjLCBidWZmZXIuZ2V0VWludDMyKDM2LCB0cnVlKSwgMTIsIDB4OGI0NGY3YWYpO1xuICAgIGMgPSBmZihjLCBkLCBhLCBiLCBidWZmZXIuZ2V0VWludDMyKDQwLCB0cnVlKSwgMTcsIDB4ZmZmZjViYjEpO1xuICAgIGIgPSBmZihiLCBjLCBkLCBhLCBidWZmZXIuZ2V0VWludDMyKDQ0LCB0cnVlKSwgMjIsIDB4ODk1Y2Q3YmUpO1xuICAgIGEgPSBmZihhLCBiLCBjLCBkLCBidWZmZXIuZ2V0VWludDMyKDQ4LCB0cnVlKSwgNywgMHg2YjkwMTEyMik7XG4gICAgZCA9IGZmKGQsIGEsIGIsIGMsIGJ1ZmZlci5nZXRVaW50MzIoNTIsIHRydWUpLCAxMiwgMHhmZDk4NzE5Myk7XG4gICAgYyA9IGZmKGMsIGQsIGEsIGIsIGJ1ZmZlci5nZXRVaW50MzIoNTYsIHRydWUpLCAxNywgMHhhNjc5NDM4ZSk7XG4gICAgYiA9IGZmKGIsIGMsIGQsIGEsIGJ1ZmZlci5nZXRVaW50MzIoNjAsIHRydWUpLCAyMiwgMHg0OWI0MDgyMSk7XG5cbiAgICBhID0gZ2coYSwgYiwgYywgZCwgYnVmZmVyLmdldFVpbnQzMig0LCB0cnVlKSwgNSwgMHhmNjFlMjU2Mik7XG4gICAgZCA9IGdnKGQsIGEsIGIsIGMsIGJ1ZmZlci5nZXRVaW50MzIoMjQsIHRydWUpLCA5LCAweGMwNDBiMzQwKTtcbiAgICBjID0gZ2coYywgZCwgYSwgYiwgYnVmZmVyLmdldFVpbnQzMig0NCwgdHJ1ZSksIDE0LCAweDI2NWU1YTUxKTtcbiAgICBiID0gZ2coYiwgYywgZCwgYSwgYnVmZmVyLmdldFVpbnQzMigwLCB0cnVlKSwgMjAsIDB4ZTliNmM3YWEpO1xuICAgIGEgPSBnZyhhLCBiLCBjLCBkLCBidWZmZXIuZ2V0VWludDMyKDIwLCB0cnVlKSwgNSwgMHhkNjJmMTA1ZCk7XG4gICAgZCA9IGdnKGQsIGEsIGIsIGMsIGJ1ZmZlci5nZXRVaW50MzIoNDAsIHRydWUpLCA5LCAweDAyNDQxNDUzKTtcbiAgICBjID0gZ2coYywgZCwgYSwgYiwgYnVmZmVyLmdldFVpbnQzMig2MCwgdHJ1ZSksIDE0LCAweGQ4YTFlNjgxKTtcbiAgICBiID0gZ2coYiwgYywgZCwgYSwgYnVmZmVyLmdldFVpbnQzMigxNiwgdHJ1ZSksIDIwLCAweGU3ZDNmYmM4KTtcbiAgICBhID0gZ2coYSwgYiwgYywgZCwgYnVmZmVyLmdldFVpbnQzMigzNiwgdHJ1ZSksIDUsIDB4MjFlMWNkZTYpO1xuICAgIGQgPSBnZyhkLCBhLCBiLCBjLCBidWZmZXIuZ2V0VWludDMyKDU2LCB0cnVlKSwgOSwgMHhjMzM3MDdkNik7XG4gICAgYyA9IGdnKGMsIGQsIGEsIGIsIGJ1ZmZlci5nZXRVaW50MzIoMTIsIHRydWUpLCAxNCwgMHhmNGQ1MGQ4Nyk7XG4gICAgYiA9IGdnKGIsIGMsIGQsIGEsIGJ1ZmZlci5nZXRVaW50MzIoMzIsIHRydWUpLCAyMCwgMHg0NTVhMTRlZCk7XG4gICAgYSA9IGdnKGEsIGIsIGMsIGQsIGJ1ZmZlci5nZXRVaW50MzIoNTIsIHRydWUpLCA1LCAweGE5ZTNlOTA1KTtcbiAgICBkID0gZ2coZCwgYSwgYiwgYywgYnVmZmVyLmdldFVpbnQzMig4LCB0cnVlKSwgOSwgMHhmY2VmYTNmOCk7XG4gICAgYyA9IGdnKGMsIGQsIGEsIGIsIGJ1ZmZlci5nZXRVaW50MzIoMjgsIHRydWUpLCAxNCwgMHg2NzZmMDJkOSk7XG4gICAgYiA9IGdnKGIsIGMsIGQsIGEsIGJ1ZmZlci5nZXRVaW50MzIoNDgsIHRydWUpLCAyMCwgMHg4ZDJhNGM4YSk7XG5cbiAgICBhID0gaGgoYSwgYiwgYywgZCwgYnVmZmVyLmdldFVpbnQzMigyMCwgdHJ1ZSksIDQsIDB4ZmZmYTM5NDIpO1xuICAgIGQgPSBoaChkLCBhLCBiLCBjLCBidWZmZXIuZ2V0VWludDMyKDMyLCB0cnVlKSwgMTEsIDB4ODc3MWY2ODEpO1xuICAgIGMgPSBoaChjLCBkLCBhLCBiLCBidWZmZXIuZ2V0VWludDMyKDQ0LCB0cnVlKSwgMTYsIDB4NmQ5ZDYxMjIpO1xuICAgIGIgPSBoaChiLCBjLCBkLCBhLCBidWZmZXIuZ2V0VWludDMyKDU2LCB0cnVlKSwgMjMsIDB4ZmRlNTM4MGMpO1xuICAgIGEgPSBoaChhLCBiLCBjLCBkLCBidWZmZXIuZ2V0VWludDMyKDQsIHRydWUpLCA0LCAweGE0YmVlYTQ0KTtcbiAgICBkID0gaGgoZCwgYSwgYiwgYywgYnVmZmVyLmdldFVpbnQzMigxNiwgdHJ1ZSksIDExLCAweDRiZGVjZmE5KTtcbiAgICBjID0gaGgoYywgZCwgYSwgYiwgYnVmZmVyLmdldFVpbnQzMigyOCwgdHJ1ZSksIDE2LCAweGY2YmI0YjYwKTtcbiAgICBiID0gaGgoYiwgYywgZCwgYSwgYnVmZmVyLmdldFVpbnQzMig0MCwgdHJ1ZSksIDIzLCAweGJlYmZiYzcwKTtcbiAgICBhID0gaGgoYSwgYiwgYywgZCwgYnVmZmVyLmdldFVpbnQzMig1MiwgdHJ1ZSksIDQsIDB4Mjg5YjdlYzYpO1xuICAgIGQgPSBoaChkLCBhLCBiLCBjLCBidWZmZXIuZ2V0VWludDMyKDAsIHRydWUpLCAxMSwgMHhlYWExMjdmYSk7XG4gICAgYyA9IGhoKGMsIGQsIGEsIGIsIGJ1ZmZlci5nZXRVaW50MzIoMTIsIHRydWUpLCAxNiwgMHhkNGVmMzA4NSk7XG4gICAgYiA9IGhoKGIsIGMsIGQsIGEsIGJ1ZmZlci5nZXRVaW50MzIoMjQsIHRydWUpLCAyMywgMHgwNDg4MWQwNSk7XG4gICAgYSA9IGhoKGEsIGIsIGMsIGQsIGJ1ZmZlci5nZXRVaW50MzIoMzYsIHRydWUpLCA0LCAweGQ5ZDRkMDM5KTtcbiAgICBkID0gaGgoZCwgYSwgYiwgYywgYnVmZmVyLmdldFVpbnQzMig0OCwgdHJ1ZSksIDExLCAweGU2ZGI5OWU1KTtcbiAgICBjID0gaGgoYywgZCwgYSwgYiwgYnVmZmVyLmdldFVpbnQzMig2MCwgdHJ1ZSksIDE2LCAweDFmYTI3Y2Y4KTtcbiAgICBiID0gaGgoYiwgYywgZCwgYSwgYnVmZmVyLmdldFVpbnQzMig4LCB0cnVlKSwgMjMsIDB4YzRhYzU2NjUpO1xuXG4gICAgYSA9IGlpKGEsIGIsIGMsIGQsIGJ1ZmZlci5nZXRVaW50MzIoMCwgdHJ1ZSksIDYsIDB4ZjQyOTIyNDQpO1xuICAgIGQgPSBpaShkLCBhLCBiLCBjLCBidWZmZXIuZ2V0VWludDMyKDI4LCB0cnVlKSwgMTAsIDB4NDMyYWZmOTcpO1xuICAgIGMgPSBpaShjLCBkLCBhLCBiLCBidWZmZXIuZ2V0VWludDMyKDU2LCB0cnVlKSwgMTUsIDB4YWI5NDIzYTcpO1xuICAgIGIgPSBpaShiLCBjLCBkLCBhLCBidWZmZXIuZ2V0VWludDMyKDIwLCB0cnVlKSwgMjEsIDB4ZmM5M2EwMzkpO1xuICAgIGEgPSBpaShhLCBiLCBjLCBkLCBidWZmZXIuZ2V0VWludDMyKDQ4LCB0cnVlKSwgNiwgMHg2NTViNTljMyk7XG4gICAgZCA9IGlpKGQsIGEsIGIsIGMsIGJ1ZmZlci5nZXRVaW50MzIoMTIsIHRydWUpLCAxMCwgMHg4ZjBjY2M5Mik7XG4gICAgYyA9IGlpKGMsIGQsIGEsIGIsIGJ1ZmZlci5nZXRVaW50MzIoNDAsIHRydWUpLCAxNSwgMHhmZmVmZjQ3ZCk7XG4gICAgYiA9IGlpKGIsIGMsIGQsIGEsIGJ1ZmZlci5nZXRVaW50MzIoNCwgdHJ1ZSksIDIxLCAweDg1ODQ1ZGQxKTtcbiAgICBhID0gaWkoYSwgYiwgYywgZCwgYnVmZmVyLmdldFVpbnQzMigzMiwgdHJ1ZSksIDYsIDB4NmZhODdlNGYpO1xuICAgIGQgPSBpaShkLCBhLCBiLCBjLCBidWZmZXIuZ2V0VWludDMyKDYwLCB0cnVlKSwgMTAsIDB4ZmUyY2U2ZTApO1xuICAgIGMgPSBpaShjLCBkLCBhLCBiLCBidWZmZXIuZ2V0VWludDMyKDI0LCB0cnVlKSwgMTUsIDB4YTMwMTQzMTQpO1xuICAgIGIgPSBpaShiLCBjLCBkLCBhLCBidWZmZXIuZ2V0VWludDMyKDUyLCB0cnVlKSwgMjEsIDB4NGUwODExYTEpO1xuICAgIGEgPSBpaShhLCBiLCBjLCBkLCBidWZmZXIuZ2V0VWludDMyKDE2LCB0cnVlKSwgNiwgMHhmNzUzN2U4Mik7XG4gICAgZCA9IGlpKGQsIGEsIGIsIGMsIGJ1ZmZlci5nZXRVaW50MzIoNDQsIHRydWUpLCAxMCwgMHhiZDNhZjIzNSk7XG4gICAgYyA9IGlpKGMsIGQsIGEsIGIsIGJ1ZmZlci5nZXRVaW50MzIoOCwgdHJ1ZSksIDE1LCAweDJhZDdkMmJiKTtcbiAgICBiID0gaWkoYiwgYywgZCwgYSwgYnVmZmVyLmdldFVpbnQzMigzNiwgdHJ1ZSksIDIxLCAweGViODZkMzkxKTtcblxuICAgIHN0YXRlWzBdID0gKGEgKyBzdGF0ZVswXSkgJiAweGZmZmZmZmZmO1xuICAgIHN0YXRlWzFdID0gKGIgKyBzdGF0ZVsxXSkgJiAweGZmZmZmZmZmO1xuICAgIHN0YXRlWzJdID0gKGMgKyBzdGF0ZVsyXSkgJiAweGZmZmZmZmZmO1xuICAgIHN0YXRlWzNdID0gKGQgKyBzdGF0ZVszXSkgJiAweGZmZmZmZmZmO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNtbihxOiBudW1iZXIsIGE6IG51bWJlciwgYjogbnVtYmVyLCB4OiBudW1iZXIsIHM6IG51bWJlciwgdDogbnVtYmVyKSB7XG4gIGEgPSAoKChhICsgcSkgJiAweGZmZmZmZmZmKSArICgoeCArIHQpICYgMHhmZmZmZmZmZikpICYgMHhmZmZmZmZmZjtcbiAgcmV0dXJuICgoKGEgPDwgcykgfCAoYSA+Pj4gKDMyIC0gcykpKSArIGIpICYgMHhmZmZmZmZmZjtcbn1cblxuZnVuY3Rpb24gZmYoYTogbnVtYmVyLCBiOiBudW1iZXIsIGM6IG51bWJlciwgZDogbnVtYmVyLCB4OiBudW1iZXIsIHM6IG51bWJlciwgdDogbnVtYmVyKSB7XG4gIHJldHVybiBjbW4oKGIgJiBjKSB8ICh+YiAmIGQpLCBhLCBiLCB4LCBzLCB0KTtcbn1cblxuZnVuY3Rpb24gZ2coYTogbnVtYmVyLCBiOiBudW1iZXIsIGM6IG51bWJlciwgZDogbnVtYmVyLCB4OiBudW1iZXIsIHM6IG51bWJlciwgdDogbnVtYmVyKSB7XG4gIHJldHVybiBjbW4oKGIgJiBkKSB8IChjICYgfmQpLCBhLCBiLCB4LCBzLCB0KTtcbn1cblxuZnVuY3Rpb24gaGgoYTogbnVtYmVyLCBiOiBudW1iZXIsIGM6IG51bWJlciwgZDogbnVtYmVyLCB4OiBudW1iZXIsIHM6IG51bWJlciwgdDogbnVtYmVyKSB7XG4gIHJldHVybiBjbW4oYiBeIGMgXiBkLCBhLCBiLCB4LCBzLCB0KTtcbn1cblxuZnVuY3Rpb24gaWkoYTogbnVtYmVyLCBiOiBudW1iZXIsIGM6IG51bWJlciwgZDogbnVtYmVyLCB4OiBudW1iZXIsIHM6IG51bWJlciwgdDogbnVtYmVyKSB7XG4gIHJldHVybiBjbW4oYyBeIChiIHwgfmQpLCBhLCBiLCB4LCBzLCB0KTtcbn1cblxuZnVuY3Rpb24gaXNFbXB0eURhdGEoZGF0YTogU291cmNlRGF0YSk6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZGF0YS5sZW5ndGggPT09IDA7XG4gIH1cblxuICByZXR1cm4gZGF0YS5ieXRlTGVuZ3RoID09PSAwO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VG9CdWZmZXIoZGF0YTogU291cmNlRGF0YSk6IFVpbnQ4QXJyYXkge1xuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZnJvbVV0ZjgoZGF0YSk7XG4gIH1cblxuICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRhdGEuYnVmZmVyLCBkYXRhLmJ5dGVPZmZzZXQsIGRhdGEuYnl0ZUxlbmd0aCAvIFVpbnQ4QXJyYXkuQllURVNfUEVSX0VMRU1FTlQpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRhdGEpO1xufVxuIl19","import { __assign } from \"tslib\";\n// Partition default templates\nvar AWS_TEMPLATE = \"s3.{region}.amazonaws.com\";\nvar AWS_CN_TEMPLATE = \"s3.{region}.amazonaws.com.cn\";\nvar AWS_ISO_TEMPLATE = \"s3.{region}.c2s.ic.gov\";\nvar AWS_ISO_B_TEMPLATE = \"s3.{region}.sc2s.sgov.gov\";\nvar AWS_US_GOV_TEMPLATE = \"s3.{region}.amazonaws.com\";\n// Partition regions\nvar AWS_REGIONS = new Set([\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ca-central-1\",\n \"eu-central-1\",\n \"eu-north-1\",\n \"eu-south-1\",\n \"eu-west-1\",\n \"eu-west-2\",\n \"eu-west-3\",\n \"me-south-1\",\n \"sa-east-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\",\n]);\nvar AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nvar AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nvar AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nvar AWS_US_GOV_REGIONS = new Set([\"us-gov-east-1\", \"us-gov-west-1\"]);\nexport var defaultRegionInfoProvider = function (region, options) {\n var regionInfo = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"af-south-1\":\n regionInfo = {\n hostname: \"s3.af-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-east-1\":\n regionInfo = {\n hostname: \"s3.ap-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-1\":\n regionInfo = {\n hostname: \"s3.ap-northeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-2\":\n regionInfo = {\n hostname: \"s3.ap-northeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-south-1\":\n regionInfo = {\n hostname: \"s3.ap-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-1\":\n regionInfo = {\n hostname: \"s3.ap-southeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-2\":\n regionInfo = {\n hostname: \"s3.ap-southeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"aws-global\":\n regionInfo = {\n hostname: \"s3.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"ca-central-1\":\n regionInfo = {\n hostname: \"s3.ca-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"cn-north-1\":\n regionInfo = {\n hostname: \"s3.cn-north-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"cn-northwest-1\":\n regionInfo = {\n hostname: \"s3.cn-northwest-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"eu-central-1\":\n regionInfo = {\n hostname: \"s3.eu-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-north-1\":\n regionInfo = {\n hostname: \"s3.eu-north-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-south-1\":\n regionInfo = {\n hostname: \"s3.eu-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"s3.eu-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-2\":\n regionInfo = {\n hostname: \"s3.eu-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-3\":\n regionInfo = {\n hostname: \"s3.eu-west-3.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"fips-us-gov-west-1\":\n regionInfo = {\n hostname: \"s3-fips.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n signingRegion: \"us-gov-west-1\",\n };\n break;\n case \"me-south-1\":\n regionInfo = {\n hostname: \"s3.me-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"s3-external-1\":\n regionInfo = {\n hostname: \"s3-external-1.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"sa-east-1\":\n regionInfo = {\n hostname: \"s3.sa-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"s3.us-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-2\":\n regionInfo = {\n hostname: \"s3.us-east-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-gov-east-1\":\n regionInfo = {\n hostname: \"s3.us-gov-east-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-gov-west-1\":\n regionInfo = {\n hostname: \"s3.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-iso-east-1\":\n regionInfo = {\n hostname: \"s3.us-iso-east-1.c2s.ic.gov\",\n partition: \"aws-iso\",\n };\n break;\n case \"us-isob-east-1\":\n regionInfo = {\n hostname: \"s3.us-isob-east-1.sc2s.sgov.gov\",\n partition: \"aws-iso-b\",\n };\n break;\n case \"us-west-1\":\n regionInfo = {\n hostname: \"s3.us-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"s3.us-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-cn\",\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso\",\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso-b\",\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-us-gov\",\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n }\n return Promise.resolve(__assign({ signingService: \"s3\" }, regionInfo));\n};\n//# sourceMappingURL=endpoints.js.map","import { defaultRegionInfoProvider } from \"./endpoints\";\nimport { parseUrl } from \"@aws-sdk/url-parser\";\n/**\n * @internal\n */\nexport var ClientSharedValues = {\n apiVersion: \"2006-03-01\",\n disableHostPrefix: false,\n logger: {},\n regionInfoProvider: defaultRegionInfoProvider,\n serviceId: \"S3\",\n signingEscapePath: false,\n urlParser: parseUrl,\n useArnRegion: false,\n};\n//# sourceMappingURL=runtimeConfig.shared.js.map","import { __assign } from \"tslib\";\nimport packageInfo from \"./package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { eventStreamSerdeProvider } from \"@aws-sdk/eventstream-serde-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { blobHasher as streamHasher } from \"@aws-sdk/hash-blob-browser\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { Md5 } from \"@aws-sdk/md5-js\";\nimport { DEFAULT_MAX_ATTEMPTS } from \"@aws-sdk/middleware-retry\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\n/**\n * @internal\n */\nexport var ClientDefaultValues = __assign(__assign({}, ClientSharedValues), { runtime: \"browser\", base64Decoder: fromBase64, base64Encoder: toBase64, bodyLengthChecker: calculateBodyLength, credentialDefaultProvider: function (_) { return function () { return Promise.reject(new Error(\"Credential is missing\")); }; }, defaultUserAgentProvider: defaultUserAgent({\n serviceId: ClientSharedValues.serviceId,\n clientVersion: packageInfo.version,\n }), eventStreamSerdeProvider: eventStreamSerdeProvider, maxAttempts: DEFAULT_MAX_ATTEMPTS, md5: Md5, region: invalidProvider(\"Region is missing\"), requestHandler: new FetchHttpHandler(), sha256: Sha256, streamCollector: streamCollector,\n streamHasher: streamHasher, utf8Decoder: fromUtf8, utf8Encoder: toUtf8 });\n//# sourceMappingURL=runtimeConfig.browser.js.map","import { __assign } from \"tslib\";\nexport var resolveEventStreamSerdeConfig = function (input) { return (__assign(__assign({}, input), { eventStreamMarshaller: input.eventStreamSerdeProvider(input) })); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRTdHJlYW1TZXJkZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FdmVudFN0cmVhbVNlcmRlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFZQSxNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBRyxVQUMzQyxLQUEyRCxJQUNwQixPQUFBLHVCQUNwQyxLQUFLLEtBQ1IscUJBQXFCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxJQUM1RCxFQUh1QyxDQUd2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRTdHJlYW1NYXJzaGFsbGVyLCBFdmVudFN0cmVhbVNlcmRlUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFdmVudFN0cmVhbVNlcmRlSW5wdXRDb25maWcge31cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudFN0cmVhbVNlcmRlUmVzb2x2ZWRDb25maWcge1xuICBldmVudFN0cmVhbU1hcnNoYWxsZXI6IEV2ZW50U3RyZWFtTWFyc2hhbGxlcjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGV2ZW50U3RyZWFtU2VyZGVQcm92aWRlcjogRXZlbnRTdHJlYW1TZXJkZVByb3ZpZGVyO1xufVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUV2ZW50U3RyZWFtU2VyZGVDb25maWcgPSA8VD4oXG4gIGlucHV0OiBUICYgUHJldmlvdXNseVJlc29sdmVkICYgRXZlbnRTdHJlYW1TZXJkZUlucHV0Q29uZmlnXG4pOiBUICYgRXZlbnRTdHJlYW1TZXJkZVJlc29sdmVkQ29uZmlnID0+ICh7XG4gIC4uLmlucHV0LFxuICBldmVudFN0cmVhbU1hcnNoYWxsZXI6IGlucHV0LmV2ZW50U3RyZWFtU2VyZGVQcm92aWRlcihpbnB1dCksXG59KTtcbiJdfQ==","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nexport function addExpectContinueMiddleware(options) {\n var _this = this;\n return function (next) { return function (args) { return __awaiter(_this, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n request = args.request;\n if (HttpRequest.isInstance(request) && request.body && options.runtime === \"node\") {\n request.headers = __assign(__assign({}, request.headers), { Expect: \"100-continue\" });\n }\n return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n });\n }); }; };\n}\nexport var addExpectContinueMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_EXPECT_HEADER\", \"EXPECT_HEADER\"],\n name: \"addExpectContinueMiddleware\",\n override: true,\n};\nexport var getAddExpectContinuePlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(addExpectContinueMiddleware(options), addExpectContinueMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWVyRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsT0FBMkI7SUFBdkUsaUJBZ0JDO0lBZkMsT0FBTyxVQUFnQyxJQUErQixJQUFnQyxPQUFBLFVBQ3BHLElBQWdDOzs7WUFFeEIsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFVO1lBQ3pCLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO2dCQUNqRixPQUFPLENBQUMsT0FBTyx5QkFDVixPQUFPLENBQUMsT0FBTyxLQUNsQixNQUFNLEVBQUUsY0FBYyxHQUN2QixDQUFDO2FBQ0g7WUFDRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOztTQUNKLEVBZHFHLENBY3JHLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLElBQU0sa0NBQWtDLEdBQXdCO0lBQ3JFLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDO0lBQzVDLElBQUksRUFBRSw2QkFBNkI7SUFDbkMsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sMEJBQTBCLEdBQUcsVUFBQyxPQUEyQixJQUEwQixPQUFBLENBQUM7SUFDL0YsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztDQUNGLENBQUMsRUFKOEYsQ0FJOUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEJ1aWxkSGFuZGxlcixcbiAgQnVpbGRIYW5kbGVyQXJndW1lbnRzLFxuICBCdWlsZEhhbmRsZXJPcHRpb25zLFxuICBCdWlsZEhhbmRsZXJPdXRwdXQsXG4gIEJ1aWxkTWlkZGxld2FyZSxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICBydW50aW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRFeHBlY3RDb250aW51ZU1pZGRsZXdhcmUob3B0aW9uczogUHJldmlvdXNseVJlc29sdmVkKTogQnVpbGRNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KG5leHQ6IEJ1aWxkSGFuZGxlcjxhbnksIE91dHB1dD4pOiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChcbiAgICBhcmdzOiBCdWlsZEhhbmRsZXJBcmd1bWVudHM8YW55PlxuICApOiBQcm9taXNlPEJ1aWxkSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgY29uc3QgeyByZXF1ZXN0IH0gPSBhcmdzO1xuICAgIGlmIChIdHRwUmVxdWVzdC5pc0luc3RhbmNlKHJlcXVlc3QpICYmIHJlcXVlc3QuYm9keSAmJiBvcHRpb25zLnJ1bnRpbWUgPT09IFwibm9kZVwiKSB7XG4gICAgICByZXF1ZXN0LmhlYWRlcnMgPSB7XG4gICAgICAgIC4uLnJlcXVlc3QuaGVhZGVycyxcbiAgICAgICAgRXhwZWN0OiBcIjEwMC1jb250aW51ZVwiLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQoe1xuICAgICAgLi4uYXJncyxcbiAgICAgIHJlcXVlc3QsXG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBhZGRFeHBlY3RDb250aW51ZU1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHRhZ3M6IFtcIlNFVF9FWFBFQ1RfSEVBREVSXCIsIFwiRVhQRUNUX0hFQURFUlwiXSxcbiAgbmFtZTogXCJhZGRFeHBlY3RDb250aW51ZU1pZGRsZXdhcmVcIixcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWRkRXhwZWN0Q29udGludWVQbHVnaW4gPSAob3B0aW9uczogUHJldmlvdXNseVJlc29sdmVkKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChhZGRFeHBlY3RDb250aW51ZU1pZGRsZXdhcmUob3B0aW9ucyksIGFkZEV4cGVjdENvbnRpbnVlTWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG4iXX0=","import { __assign } from \"tslib\";\nimport { Encryption, } from \"./models_0\";\nimport { SENSITIVE_STRING } from \"@aws-sdk/smithy-client\";\nexport var MetadataEntry;\n(function (MetadataEntry) {\n MetadataEntry.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MetadataEntry || (MetadataEntry = {}));\nexport var S3Location;\n(function (S3Location) {\n S3Location.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Encryption && { Encryption: Encryption.filterSensitiveLog(obj.Encryption) }))); };\n})(S3Location || (S3Location = {}));\nexport var OutputLocation;\n(function (OutputLocation) {\n OutputLocation.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.S3 && { S3: S3Location.filterSensitiveLog(obj.S3) }))); };\n})(OutputLocation || (OutputLocation = {}));\nexport var FileHeaderInfo;\n(function (FileHeaderInfo) {\n FileHeaderInfo[\"IGNORE\"] = \"IGNORE\";\n FileHeaderInfo[\"NONE\"] = \"NONE\";\n FileHeaderInfo[\"USE\"] = \"USE\";\n})(FileHeaderInfo || (FileHeaderInfo = {}));\nexport var CSVInput;\n(function (CSVInput) {\n CSVInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CSVInput || (CSVInput = {}));\nexport var JSONType;\n(function (JSONType) {\n JSONType[\"DOCUMENT\"] = \"DOCUMENT\";\n JSONType[\"LINES\"] = \"LINES\";\n})(JSONType || (JSONType = {}));\nexport var JSONInput;\n(function (JSONInput) {\n JSONInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(JSONInput || (JSONInput = {}));\nexport var ParquetInput;\n(function (ParquetInput) {\n ParquetInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ParquetInput || (ParquetInput = {}));\nexport var InputSerialization;\n(function (InputSerialization) {\n InputSerialization.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InputSerialization || (InputSerialization = {}));\nexport var QuoteFields;\n(function (QuoteFields) {\n QuoteFields[\"ALWAYS\"] = \"ALWAYS\";\n QuoteFields[\"ASNEEDED\"] = \"ASNEEDED\";\n})(QuoteFields || (QuoteFields = {}));\nexport var CSVOutput;\n(function (CSVOutput) {\n CSVOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CSVOutput || (CSVOutput = {}));\nexport var JSONOutput;\n(function (JSONOutput) {\n JSONOutput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(JSONOutput || (JSONOutput = {}));\nexport var OutputSerialization;\n(function (OutputSerialization) {\n OutputSerialization.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(OutputSerialization || (OutputSerialization = {}));\nexport var SelectParameters;\n(function (SelectParameters) {\n SelectParameters.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(SelectParameters || (SelectParameters = {}));\nexport var RestoreRequestType;\n(function (RestoreRequestType) {\n RestoreRequestType[\"SELECT\"] = \"SELECT\";\n})(RestoreRequestType || (RestoreRequestType = {}));\nexport var RestoreRequest;\n(function (RestoreRequest) {\n RestoreRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.OutputLocation && { OutputLocation: OutputLocation.filterSensitiveLog(obj.OutputLocation) }))); };\n})(RestoreRequest || (RestoreRequest = {}));\nexport var RestoreObjectRequest;\n(function (RestoreObjectRequest) {\n RestoreObjectRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.RestoreRequest && { RestoreRequest: RestoreRequest.filterSensitiveLog(obj.RestoreRequest) }))); };\n})(RestoreObjectRequest || (RestoreObjectRequest = {}));\nexport var ContinuationEvent;\n(function (ContinuationEvent) {\n ContinuationEvent.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ContinuationEvent || (ContinuationEvent = {}));\nexport var EndEvent;\n(function (EndEvent) {\n EndEvent.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(EndEvent || (EndEvent = {}));\nexport var Progress;\n(function (Progress) {\n Progress.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Progress || (Progress = {}));\nexport var ProgressEvent;\n(function (ProgressEvent) {\n ProgressEvent.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ProgressEvent || (ProgressEvent = {}));\nexport var RecordsEvent;\n(function (RecordsEvent) {\n RecordsEvent.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RecordsEvent || (RecordsEvent = {}));\nexport var Stats;\n(function (Stats) {\n Stats.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Stats || (Stats = {}));\nexport var StatsEvent;\n(function (StatsEvent) {\n StatsEvent.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(StatsEvent || (StatsEvent = {}));\nexport var SelectObjectContentEventStream;\n(function (SelectObjectContentEventStream) {\n SelectObjectContentEventStream.visit = function (value, visitor) {\n if (value.Records !== undefined)\n return visitor.Records(value.Records);\n if (value.Stats !== undefined)\n return visitor.Stats(value.Stats);\n if (value.Progress !== undefined)\n return visitor.Progress(value.Progress);\n if (value.Cont !== undefined)\n return visitor.Cont(value.Cont);\n if (value.End !== undefined)\n return visitor.End(value.End);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n SelectObjectContentEventStream.filterSensitiveLog = function (obj) {\n var _a;\n if (obj.Records !== undefined)\n return { Records: RecordsEvent.filterSensitiveLog(obj.Records) };\n if (obj.Stats !== undefined)\n return { Stats: StatsEvent.filterSensitiveLog(obj.Stats) };\n if (obj.Progress !== undefined)\n return { Progress: ProgressEvent.filterSensitiveLog(obj.Progress) };\n if (obj.Cont !== undefined)\n return { Cont: ContinuationEvent.filterSensitiveLog(obj.Cont) };\n if (obj.End !== undefined)\n return { End: EndEvent.filterSensitiveLog(obj.End) };\n if (obj.$unknown !== undefined)\n return _a = {}, _a[obj.$unknown[0]] = \"UNKNOWN\", _a;\n };\n})(SelectObjectContentEventStream || (SelectObjectContentEventStream = {}));\nexport var SelectObjectContentOutput;\n(function (SelectObjectContentOutput) {\n SelectObjectContentOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Payload && { Payload: \"STREAMING_CONTENT\" }))); };\n})(SelectObjectContentOutput || (SelectObjectContentOutput = {}));\nexport var RequestProgress;\n(function (RequestProgress) {\n RequestProgress.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RequestProgress || (RequestProgress = {}));\nexport var ScanRange;\n(function (ScanRange) {\n ScanRange.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ScanRange || (ScanRange = {}));\nexport var SelectObjectContentRequest;\n(function (SelectObjectContentRequest) {\n SelectObjectContentRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }))); };\n})(SelectObjectContentRequest || (SelectObjectContentRequest = {}));\nexport var UploadPartOutput;\n(function (UploadPartOutput) {\n UploadPartOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }))); };\n})(UploadPartOutput || (UploadPartOutput = {}));\nexport var UploadPartRequest;\n(function (UploadPartRequest) {\n UploadPartRequest.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }))); };\n})(UploadPartRequest || (UploadPartRequest = {}));\nexport var CopyPartResult;\n(function (CopyPartResult) {\n CopyPartResult.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CopyPartResult || (CopyPartResult = {}));\nexport var UploadPartCopyOutput;\n(function (UploadPartCopyOutput) {\n UploadPartCopyOutput.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }))); };\n})(UploadPartCopyOutput || (UploadPartCopyOutput = {}));\nexport var UploadPartCopyRequest;\n(function (UploadPartCopyRequest) {\n UploadPartCopyRequest.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING })), (obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: SENSITIVE_STRING }))); };\n})(UploadPartCopyRequest || (UploadPartCopyRequest = {}));\n//# sourceMappingURL=models_1.js.map","import { __assign, __extends } from \"tslib\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport { resolveEndpointsConfig, resolveRegionConfig, } from \"@aws-sdk/config-resolver\";\nimport { resolveEventStreamSerdeConfig, } from \"@aws-sdk/eventstream-serde-config-resolver\";\nimport { resolveBucketEndpointConfig, } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport { getAddExpectContinuePlugin } from \"@aws-sdk/middleware-expect-continue\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { getUseRegionalEndpointPlugin, getValidateBucketNamePlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getAwsAuthPlugin, resolveAwsAuthConfig, } from \"@aws-sdk/middleware-signing\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { Client as __Client, } from \"@aws-sdk/smithy-client\";\n/**\n *

\n */\nvar S3Client = /** @class */ (function (_super) {\n __extends(S3Client, _super);\n function S3Client(configuration) {\n var _this = this;\n var _config_0 = __assign(__assign({}, __ClientDefaultValues), configuration);\n var _config_1 = resolveRegionConfig(_config_0);\n var _config_2 = resolveEndpointsConfig(_config_1);\n var _config_3 = resolveAwsAuthConfig(_config_2);\n var _config_4 = resolveRetryConfig(_config_3);\n var _config_5 = resolveHostHeaderConfig(_config_4);\n var _config_6 = resolveBucketEndpointConfig(_config_5);\n var _config_7 = resolveUserAgentConfig(_config_6);\n var _config_8 = resolveEventStreamSerdeConfig(_config_7);\n _this = _super.call(this, _config_8) || this;\n _this.config = _config_8;\n _this.middlewareStack.use(getAwsAuthPlugin(_this.config));\n _this.middlewareStack.use(getRetryPlugin(_this.config));\n _this.middlewareStack.use(getContentLengthPlugin(_this.config));\n _this.middlewareStack.use(getHostHeaderPlugin(_this.config));\n _this.middlewareStack.use(getLoggerPlugin(_this.config));\n _this.middlewareStack.use(getValidateBucketNamePlugin(_this.config));\n _this.middlewareStack.use(getUseRegionalEndpointPlugin(_this.config));\n _this.middlewareStack.use(getAddExpectContinuePlugin(_this.config));\n _this.middlewareStack.use(getUserAgentPlugin(_this.config));\n return _this;\n }\n S3Client.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return S3Client;\n}(__Client));\nexport { S3Client };\n//# sourceMappingURL=S3Client.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { Credentials, Logger, getAmplifyUserAgent, } from '@aws-amplify/core';\nimport { S3Client } from '@aws-sdk/client-s3';\nimport { AxiosHttpHandler } from '../providers/axios-http-handler';\nimport { localTestingStorageEndpoint, SET_CONTENT_LENGTH_HEADER, } from './StorageConstants';\nvar logger = new Logger('S3ClientUtils');\n// placeholder credentials in order to satisfy type requirement, always results in 403 when used\nvar INVALID_CRED = { accessKeyId: '', secretAccessKey: '' };\nexport var getPrefix = function (config) {\n var credentials = config.credentials, level = config.level, customPrefix = config.customPrefix, identityId = config.identityId;\n var resolvedCustomPrefix = customPrefix || {};\n var resolvedIdentityId = identityId || credentials.identityId;\n var privatePath = (resolvedCustomPrefix.private !== undefined\n ? resolvedCustomPrefix.private\n : 'private/') +\n resolvedIdentityId +\n '/';\n var protectedPath = (resolvedCustomPrefix.protected !== undefined\n ? resolvedCustomPrefix.protected\n : 'protected/') +\n resolvedIdentityId +\n '/';\n var publicPath = resolvedCustomPrefix.public !== undefined\n ? resolvedCustomPrefix.public\n : 'public/';\n switch (level) {\n case 'private':\n return privatePath;\n case 'protected':\n return protectedPath;\n default:\n return publicPath;\n }\n};\nexport var createPrefixMiddleware = function (opt, key) { return function (next, _context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var credentials, cred, prefix, clonedInput, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Credentials.get()];\n case 1:\n credentials = _a.sent();\n cred = Credentials.shear(credentials);\n prefix = getPrefix(__assign(__assign({}, opt), { credentials: cred }));\n clonedInput = Object.assign({}, args.input);\n if (Object.prototype.hasOwnProperty.call(args.input, 'Key')) {\n clonedInput.Key = prefix + key;\n args.input = clonedInput;\n }\n else if (Object.prototype.hasOwnProperty.call(args.input, 'Prefix')) {\n clonedInput.Prefix = prefix + key;\n args.input = clonedInput;\n }\n result = next(args);\n return [2 /*return*/, result];\n }\n });\n}); }; }; };\nvar isTimeSkewedError = function (err) {\n return err.ServerTime &&\n typeof err.Code === 'string' &&\n err.Code === 'RequestTimeTooSkewed';\n};\n// we want to take the S3Client config in parameter so we can modify it's systemClockOffset\nexport var autoAdjustClockskewMiddleware = function (config) { return function (next, _context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var err_1, serverDate;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, next(args)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n err_1 = _a.sent();\n if (isTimeSkewedError(err_1)) {\n serverDate = new Date(err_1.ServerTime);\n config.systemClockOffset = serverDate.getTime() - Date.now();\n }\n throw err_1;\n case 3: return [2 /*return*/];\n }\n });\n}); }; }; };\nexport var autoAdjustClockskewMiddlewareOptions = {\n step: 'finalizeRequest',\n name: 'autoAdjustClockskewMiddleware',\n};\nexport var prefixMiddlewareOptions = {\n step: 'initialize',\n name: 'addPrefixMiddleware',\n};\nexport var credentialsProvider = function () { return __awaiter(void 0, void 0, void 0, function () {\n var credentials, cred, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, Credentials.get()];\n case 1:\n credentials = _a.sent();\n if (!credentials)\n return [2 /*return*/, INVALID_CRED];\n cred = Credentials.shear(credentials);\n logger.debug('credentials provider get credentials', cred);\n return [2 /*return*/, cred];\n case 2:\n error_1 = _a.sent();\n logger.warn('credentials provider error', error_1);\n return [2 /*return*/, INVALID_CRED];\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexport var createS3Client = function (config, emitter) {\n var region = config.region, cancelTokenSource = config.cancelTokenSource, dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting, useAccelerateEndpoint = config.useAccelerateEndpoint;\n var localTestingConfig = {};\n if (dangerouslyConnectToHttpEndpointForTesting) {\n localTestingConfig = {\n endpoint: localTestingStorageEndpoint,\n tls: false,\n bucketEndpoint: false,\n forcePathStyle: true,\n };\n }\n var s3client = new S3Client(__assign(__assign({ region: region, \n // Using provider instead of a static credentials, so that if an upload task was in progress, but credentials gets\n // changed or invalidated (e.g user signed out), the subsequent requests will fail.\n credentials: credentialsProvider, customUserAgent: getAmplifyUserAgent() }, localTestingConfig), { requestHandler: new AxiosHttpHandler({}, emitter, cancelTokenSource), useAccelerateEndpoint: useAccelerateEndpoint }));\n s3client.middlewareStack.remove(SET_CONTENT_LENGTH_HEADER);\n return s3client;\n};\n//# sourceMappingURL=S3ClientUtils.js.map","import { __extends } from \"tslib\";\nimport { PutObjectOutput, PutObjectRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlPutObjectCommand, serializeAws_restXmlPutObjectCommand } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object\n * to it.

\n *\n *\n *

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n * entire object to the bucket.

\n *\n *

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n * simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object\n * locking; if you need this, make sure to build it into your application layer or use\n * versioning instead.

\n *\n *

To ensure that data is not corrupted traversing the network, use the\n * Content-MD5 header. When you use this header, Amazon S3 checks the object\n * against the provided MD5 value and, if they do not match, returns an error. Additionally,\n * you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to\n * the calculated MD5 value.

\n * \n *

The Content-MD5 header is required for any request to upload an object\n * with a retention period configured using Amazon S3 Object Lock. For more information about\n * Amazon S3 Object Lock, see Amazon S3 Object Lock Overview\n * in the Amazon Simple Storage Service Developer Guide.

\n *
\n *\n *\n *

\n * Server-side Encryption\n *

\n *

You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data\n * when you access it. You have the option to provide your own encryption key or use AWS\n * managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side\n * Encryption.

\n *

If you request server-side encryption using AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the Amazon Simple Storage Service Developer Guide.

\n *

\n * Access Control List (ACL)-Specific Request\n * Headers\n *

\n *

You can use headers to grant ACL- based permissions. By default, all objects are\n * private. Only the owner has full access control. When adding a new object, you can grant\n * permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These\n * permissions are then added to the ACL on the object. For more information, see Access Control List\n * (ACL) Overview and Managing ACLs Using the REST\n * API.

\n *\n *

\n * Storage Class Options\n *

\n *

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n * STANDARD storage class provides high durability and high availability. Depending on\n * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n * the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3\n * Service Developer Guide.

\n *\n *\n *

\n * Versioning\n *

\n *

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID\n * for the object being stored. Amazon S3 returns this ID in the response. When you enable\n * versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n * simultaneously, it stores all of the objects.

\n *

For more information about versioning, see Adding Objects to\n * Versioning Enabled Buckets. For information about returning the versioning state\n * of a bucket, see GetBucketVersioning.

\n *\n *\n *

\n * Related Resources\n *

\n * \n */\nvar PutObjectCommand = /** @class */ (function (_super) {\n __extends(PutObjectCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function PutObjectCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n PutObjectCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"PutObjectCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: PutObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: PutObjectOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n PutObjectCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlPutObjectCommand(input, context);\n };\n PutObjectCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlPutObjectCommand(output, context);\n };\n return PutObjectCommand;\n}($Command));\nexport { PutObjectCommand };\n//# sourceMappingURL=PutObjectCommand.js.map","import { __extends } from \"tslib\";\nimport { CreateMultipartUploadOutput, CreateMultipartUploadRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlCreateMultipartUploadCommand, serializeAws_restXmlCreateMultipartUploadCommand, } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

This operation initiates a multipart upload and returns an upload ID. This upload ID is\n * used to associate all of the parts in the specific multipart upload. You specify this\n * upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n * upload ID in the final request to either complete or abort the multipart upload\n * request.

\n *\n *

For more information about multipart uploads, see Multipart Upload Overview.

\n *\n *

If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n * upload must complete within the number of days specified in the bucket lifecycle\n * configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort\n * operation and Amazon S3 aborts the multipart upload. For more information, see Aborting\n * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n *\n *

For information about the permissions required to use the multipart upload API, see\n * Multipart Upload API and\n * Permissions.

\n *\n *

For request signing, multipart upload is just a series of regular requests. You initiate\n * a multipart upload, send one or more requests to upload parts, and then complete the\n * multipart upload process. You sign each request individually. There is nothing special\n * about signing multipart upload requests. For more information about signing, see Authenticating\n * Requests (AWS Signature Version 4).

\n *\n * \n *

After you initiate a multipart upload and upload one or more parts, to stop being\n * charged for storing the uploaded parts, you must either complete or abort the multipart\n * upload. Amazon S3 frees up the space used to store the parts and stop charging you for\n * storing them only after you either complete or abort a multipart upload.

\n *
\n *\n *

You can optionally request server-side encryption. For server-side encryption, Amazon S3\n * encrypts your data as it writes it to disks in its data centers and decrypts it when you\n * access it. You can provide your own encryption key, or use AWS Key Management Service (AWS\n * KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide\n * your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to\n * initiate the upload by using CreateMultipartUpload.

\n *

To perform a multipart upload with encryption using an AWS KMS CMK, the requester must\n * have permission to the kms:Encrypt, kms:Decrypt,\n * kms:ReEncrypt*, kms:GenerateDataKey*, and\n * kms:DescribeKey actions on the key. These permissions are required because\n * Amazon S3 must decrypt and read data from the encrypted file parts before it completes the\n * multipart upload.

\n *\n *

If your AWS Identity and Access Management (IAM) user or role is in the same AWS account\n * as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM\n * user or role belongs to a different account than the key, then you must have the\n * permissions on both the key policy and your IAM user or role.

\n *\n *\n *

For more information, see Protecting\n * Data Using Server-Side Encryption.

\n *\n *
\n *
Access Permissions
\n *
\n *

When copying an object, you can optionally specify the accounts or groups that\n * should be granted specific permissions on the new object. There are two ways to\n * grant the permissions using the request headers:

\n *
    \n *
  • \n *

    Specify a canned ACL with the x-amz-acl request header. For\n * more information, see Canned ACL.

    \n *
  • \n *
  • \n *

    Specify access permissions explicitly with the\n * x-amz-grant-read, x-amz-grant-read-acp,\n * x-amz-grant-write-acp, and\n * x-amz-grant-full-control headers. These parameters map to\n * the set of permissions that Amazon S3 supports in an ACL. For more information,\n * see Access Control List (ACL)\n * Overview.

    \n *
  • \n *
\n *

You can use either a canned ACL or specify access permissions explicitly. You\n * cannot do both.

\n *
\n *
Server-Side- Encryption-Specific Request Headers
\n *
\n *

You can optionally tell Amazon S3 to encrypt data at rest using server-side\n * encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts\n * your data as it writes it to disks in its data centers and decrypts it when you\n * access it. The option you use depends on whether you want to use AWS managed\n * encryption keys or provide your own encryption key.

\n *
    \n *
  • \n *

    Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored\n * in AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys\n * used to encrypt data, specify the following headers in the request.

    \n *
      \n *
    • \n *

      x-amz-server-side-encryption

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-aws-kms-key-id

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-context

      \n *
    • \n *
    \n * \n *

    If you specify x-amz-server-side-encryption:aws:kms, but\n * don't provide x-amz-server-side-encryption-aws-kms-key-id,\n * Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data.

    \n *
    \n * \n *

    All GET and PUT requests for an object protected by AWS KMS fail if\n * you don't make them with SSL or by using SigV4.

    \n *
    \n *

    For more information about server-side encryption with CMKs stored in AWS\n * KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS\n * KMS.

    \n *
  • \n *
  • \n *

    Use customer-provided encryption keys – If you want to manage your own\n * encryption keys, provide all the following headers in the request.

    \n *
      \n *
    • \n *

      x-amz-server-side-encryption-customer-algorithm

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-customer-key

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-customer-key-MD5

      \n *
    • \n *
    \n *

    For more information about server-side encryption with CMKs stored in AWS\n * KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS\n * KMS.

    \n *
  • \n *
\n *
\n *
Access-Control-List (ACL)-Specific Request Headers
\n *
\n *

You also can use the following access control–related headers with this\n * operation. By default, all objects are private. Only the owner has full access\n * control. When adding a new object, you can grant permissions to individual AWS\n * accounts or to predefined groups defined by Amazon S3. These permissions are then added\n * to the access control list (ACL) on the object. For more information, see Using ACLs. With this\n * operation, you can grant access permissions using one of the following two\n * methods:

\n *
    \n *
  • \n *

    Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of\n * predefined ACLs, known as canned ACLs. Each canned ACL\n * has a predefined set of grantees and permissions. For more information, see\n * Canned\n * ACL.

    \n *
  • \n *
  • \n *

    Specify access permissions explicitly — To explicitly grant access\n * permissions to specific AWS accounts or groups, use the following headers.\n * Each header maps to specific permissions that Amazon S3 supports in an ACL. For\n * more information, see Access\n * Control List (ACL) Overview. In the header, you specify a list of\n * grantees who get the specific permission. To grant permissions explicitly,\n * use:

    \n *
      \n *
    • \n *

      x-amz-grant-read

      \n *
    • \n *
    • \n *

      x-amz-grant-write

      \n *
    • \n *
    • \n *

      x-amz-grant-read-acp

      \n *
    • \n *
    • \n *

      x-amz-grant-write-acp

      \n *
    • \n *
    • \n *

      x-amz-grant-full-control

      \n *
    • \n *
    \n *

    You specify each grantee as a type=value pair, where the type is one of\n * the following:

    \n *
      \n *
    • \n *

      \n * id – if the value specified is the canonical user ID\n * of an AWS account

      \n *
    • \n *
    • \n *

      \n * uri – if you are granting permissions to a predefined\n * group

      \n *
    • \n *
    • \n *

      \n * emailAddress – if the value specified is the email\n * address of an AWS account

      \n * \n *

      Using email addresses to specify a grantee is only supported in the following AWS Regions:

      \n *
        \n *
      • \n *

        US East (N. Virginia)

        \n *
      • \n *
      • \n *

        US West (N. California)

        \n *
      • \n *
      • \n *

        US West (Oregon)

        \n *
      • \n *
      • \n *

        Asia Pacific (Singapore)

        \n *
      • \n *
      • \n *

        Asia Pacific (Sydney)

        \n *
      • \n *
      • \n *

        Asia Pacific (Tokyo)

        \n *
      • \n *
      • \n *

        Europe (Ireland)

        \n *
      • \n *
      • \n *

        South America (São Paulo)

        \n *
      • \n *
      \n *

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

      \n *
      \n *
    • \n *
    \n *

    For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

    \n *

    \n * x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n *

    \n *
  • \n *
\n *\n *
\n *
\n *\n *

The following operations are related to CreateMultipartUpload:

\n * \n */\nvar CreateMultipartUploadCommand = /** @class */ (function (_super) {\n __extends(CreateMultipartUploadCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function CreateMultipartUploadCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n CreateMultipartUploadCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"CreateMultipartUploadCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: CreateMultipartUploadRequest.filterSensitiveLog,\n outputFilterSensitiveLog: CreateMultipartUploadOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n CreateMultipartUploadCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlCreateMultipartUploadCommand(input, context);\n };\n CreateMultipartUploadCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlCreateMultipartUploadCommand(output, context);\n };\n return CreateMultipartUploadCommand;\n}($Command));\nexport { CreateMultipartUploadCommand };\n//# sourceMappingURL=CreateMultipartUploadCommand.js.map","import { __extends } from \"tslib\";\nimport { UploadPartOutput, UploadPartRequest } from \"../models/models_1\";\nimport { deserializeAws_restXmlUploadPartCommand, serializeAws_restXmlUploadPartCommand, } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Uploads a part in a multipart upload.

\n * \n *

In this operation, you provide part data in your request. However, you have an option\n * to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n * upload a part from an existing object, you use the UploadPartCopy operation.\n *

\n *
\n *\n *

You must initiate a multipart upload (see CreateMultipartUpload)\n * before you can upload any part. In response to your initiate request, Amazon S3 returns an\n * upload ID, a unique identifier, that you must include in your upload part request.

\n *

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n * identifies a part and also defines its position within the object being created. If you\n * upload a new part using the same part number that was used with a previous part, the\n * previously uploaded part is overwritten. Each part must be at least 5 MB in size, except\n * the last part. There is no size limit on the last part of your multipart upload.

\n *

To ensure that data is not corrupted when traversing the network, specify the\n * Content-MD5 header in the upload part request. Amazon S3 checks the part data\n * against the provided MD5 value. If they do not match, Amazon S3 returns an error.

\n *\n *

If the upload request is signed with Signature Version 4, then AWS S3 uses the\n * x-amz-content-sha256 header as a checksum instead of\n * Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (AWS Signature Version\n * 4).

\n *\n *\n *\n *

\n * Note: After you initiate multipart upload and upload\n * one or more parts, you must either complete or abort multipart upload in order to stop\n * getting charged for storage of the uploaded parts. Only after you either complete or abort\n * multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts\n * storage.

\n *\n *

For more information on multipart uploads, go to Multipart Upload Overview in the\n * Amazon Simple Storage Service Developer Guide .

\n *

For information on the permissions required to use the multipart upload API, go to\n * Multipart Upload API and\n * Permissions in the Amazon Simple Storage Service Developer Guide.

\n *\n *

You can optionally request server-side encryption where Amazon S3 encrypts your data as it\n * writes it to disks in its data centers and decrypts it for you when you access it. You have\n * the option of providing your own encryption key, or you can use the AWS managed encryption\n * keys. If you choose to provide your own encryption key, the request headers you provide in\n * the request must match the headers you used in the request to initiate the upload by using\n * CreateMultipartUpload. For more information, go to Using Server-Side Encryption in\n * the Amazon Simple Storage Service Developer Guide.

\n *\n *

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are\n * using a customer-provided encryption key, you don't need to specify the encryption\n * parameters in each UploadPart request. Instead, you only need to specify the server-side\n * encryption parameters in the initial Initiate Multipart request. For more information, see\n * CreateMultipartUpload.

\n *\n *

If you requested server-side encryption using a customer-provided encryption key in your\n * initiate multipart upload request, you must provide identical encryption information in\n * each part upload using the following headers.

\n *\n *\n * \n *\n *

\n * Special Errors\n *

\n * \n *\n *\n *\n *\n *\n *\n *

\n * Related Resources\n *

\n * \n */\nvar UploadPartCommand = /** @class */ (function (_super) {\n __extends(UploadPartCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function UploadPartCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n UploadPartCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"UploadPartCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: UploadPartRequest.filterSensitiveLog,\n outputFilterSensitiveLog: UploadPartOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n UploadPartCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlUploadPartCommand(input, context);\n };\n UploadPartCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlUploadPartCommand(output, context);\n };\n return UploadPartCommand;\n}($Command));\nexport { UploadPartCommand };\n//# sourceMappingURL=UploadPartCommand.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { UploadPartCommand, CompleteMultipartUploadCommand, AbortMultipartUploadCommand, ListPartsCommand, CreateMultipartUploadCommand, ListObjectsV2Command, } from '@aws-sdk/client-s3';\nimport axios from 'axios';\nimport { Logger } from '@aws-amplify/core';\nimport { byteLength, isFile } from '../common/StorageUtils';\nimport { AWSS3ProviderUploadErrorStrings } from '../common/StorageErrorStrings';\nimport { SET_CONTENT_LENGTH_HEADER, UPLOADS_STORAGE_KEY, } from '../common/StorageConstants';\nvar logger = new Logger('AWSS3UploadTask');\nexport var AWSS3UploadTaskState;\n(function (AWSS3UploadTaskState) {\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"INIT\"] = 0] = \"INIT\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"IN_PROGRESS\"] = 1] = \"IN_PROGRESS\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"PAUSED\"] = 2] = \"PAUSED\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"CANCELLED\"] = 3] = \"CANCELLED\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"COMPLETED\"] = 4] = \"COMPLETED\";\n})(AWSS3UploadTaskState || (AWSS3UploadTaskState = {}));\nexport var TaskEvents;\n(function (TaskEvents) {\n TaskEvents[\"CANCEL\"] = \"cancel\";\n TaskEvents[\"UPLOAD_COMPLETE\"] = \"uploadComplete\";\n TaskEvents[\"UPLOAD_PROGRESS\"] = \"uploadPartProgress\";\n TaskEvents[\"ERROR\"] = \"error\";\n})(TaskEvents || (TaskEvents = {}));\n// maximum number of parts per upload request according the S3 spec,\n// see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html\nvar MAX_PARTS = 10000;\n// 5MB in bytes\nvar PART_SIZE = 5 * 1024 * 1024;\nvar DEFAULT_QUEUE_SIZE = 4;\nfunction comparePartNumber(a, b) {\n return a.PartNumber - b.PartNumber;\n}\nvar AWSS3UploadTask = /** @class */ (function () {\n function AWSS3UploadTask(_a) {\n var s3Client = _a.s3Client, file = _a.file, emitter = _a.emitter, storage = _a.storage, params = _a.params, level = _a.level, prefixPromise = _a.prefixPromise;\n this.partSize = PART_SIZE;\n this.queueSize = DEFAULT_QUEUE_SIZE;\n this.inProgress = [];\n this.completedParts = [];\n this.queued = [];\n this.bytesUploaded = 0;\n this.totalBytes = 0;\n this.state = AWSS3UploadTaskState.INIT;\n this.prefixPromise = prefixPromise;\n this.s3client = s3Client;\n this.s3client.middlewareStack.remove(SET_CONTENT_LENGTH_HEADER);\n this.storage = storage;\n this.storageSync = Promise.resolve();\n if (typeof this.storage['sync'] === 'function') {\n this.storageSync = this.storage['sync']();\n }\n this.params = params;\n this.file = file;\n this.totalBytes = this.file.size;\n this.bytesUploaded = 0;\n this.emitter = emitter;\n this.queued = [];\n this.fileId = this._getFileId(level);\n this._validateParams();\n // event emitter will re-throw an error if an event emits an error unless there's a listener, attaching a no-op\n // function to it unless user adds their own onError callback\n this.emitter.on(TaskEvents.ERROR, function () { });\n }\n Object.defineProperty(AWSS3UploadTask.prototype, \"percent\", {\n get: function () {\n return (this.bytesUploaded / this.totalBytes) * 100;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AWSS3UploadTask.prototype, \"isInProgress\", {\n get: function () {\n return this.state === AWSS3UploadTaskState.IN_PROGRESS;\n },\n enumerable: true,\n configurable: true\n });\n AWSS3UploadTask.prototype._listSingleFile = function (_a) {\n var key = _a.key, bucket = _a.bucket;\n return __awaiter(this, void 0, void 0, function () {\n var listObjectRes, _b, Contents, prefix, obj;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.s3client.send(new ListObjectsV2Command({\n Bucket: bucket,\n Prefix: key,\n }))];\n case 1:\n listObjectRes = _c.sent();\n _b = listObjectRes.Contents, Contents = _b === void 0 ? [] : _b;\n return [4 /*yield*/, this.prefixPromise];\n case 2:\n prefix = _c.sent();\n obj = Contents.find(function (o) { return o.Key === \"\" + prefix + key; });\n return [2 /*return*/, obj];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._getFileId = function (level) {\n // We should check if it's a File first because File is also instance of a Blob\n if (isFile(this.file)) {\n return [\n this.file.name,\n this.file.lastModified,\n this.file.size,\n this.file.type,\n this.params.Bucket,\n level,\n this.params.Key,\n ].join('-');\n }\n else {\n return [\n this.file.size,\n this.file.type,\n this.params.Bucket,\n level,\n this.params.Key,\n ].join('-');\n }\n };\n AWSS3UploadTask.prototype._findCachedUploadParts = function () {\n return __awaiter(this, void 0, void 0, function () {\n var uploadRequests, cachedUploadFileData, listPartsOutput;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1:\n uploadRequests = _a.sent();\n if (Object.keys(uploadRequests).length === 0 ||\n !Object.prototype.hasOwnProperty.call(uploadRequests, this.fileId)) {\n return [2 /*return*/, { parts: [], uploadId: null }];\n }\n cachedUploadFileData = uploadRequests[this.fileId];\n cachedUploadFileData.lastTouched = Date.now();\n this.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n return [4 /*yield*/, this.s3client.send(new ListPartsCommand({\n Bucket: this.params.Bucket,\n Key: this.params.Key,\n UploadId: cachedUploadFileData.uploadId,\n }))];\n case 2:\n listPartsOutput = _a.sent();\n return [2 /*return*/, {\n parts: listPartsOutput.Parts || [],\n uploadId: cachedUploadFileData.uploadId,\n }];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._emitEvent = function (event, payload) {\n this.emitter.emit(event, payload);\n };\n AWSS3UploadTask.prototype._validateParams = function () {\n if (this.file.size / this.partSize > MAX_PARTS) {\n throw new Error(\"Too many parts. Number of parts is \" + this.file.size /\n this.partSize + \", maximum is \" + MAX_PARTS + \".\");\n }\n };\n AWSS3UploadTask.prototype._listCachedUploadTasks = function () {\n return __awaiter(this, void 0, void 0, function () {\n var tasks;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storageSync];\n case 1:\n _a.sent();\n tasks = this.storage.getItem(UPLOADS_STORAGE_KEY) || '{}';\n return [2 /*return*/, JSON.parse(tasks)];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._cache = function (fileMetadata) {\n return __awaiter(this, void 0, void 0, function () {\n var uploadRequests;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1:\n uploadRequests = _a.sent();\n uploadRequests[this.fileId] = fileMetadata;\n this.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._isCached = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _b = (_a = Object.prototype.hasOwnProperty).call;\n return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1: return [2 /*return*/, _b.apply(_a, [_c.sent(),\n this.fileId])];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._removeFromCache = function () {\n return __awaiter(this, void 0, void 0, function () {\n var uploadRequests;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1:\n uploadRequests = _a.sent();\n delete uploadRequests[this.fileId];\n this.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._onPartUploadCompletion = function (_a) {\n var eTag = _a.eTag, partNumber = _a.partNumber, chunk = _a.chunk;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n this.completedParts.push({\n ETag: eTag,\n PartNumber: partNumber,\n });\n this.bytesUploaded += byteLength(chunk);\n this._emitEvent(TaskEvents.UPLOAD_PROGRESS, {\n loaded: this.bytesUploaded,\n total: this.totalBytes,\n });\n // Remove the completed item from the inProgress array\n this.inProgress = this.inProgress.filter(function (job) { return job.uploadPartInput.PartNumber !== partNumber; });\n if (this.queued.length && this.state !== AWSS3UploadTaskState.PAUSED)\n this._startNextPart();\n if (this._isDone())\n this._completeUpload();\n return [2 /*return*/];\n });\n });\n };\n AWSS3UploadTask.prototype._completeUpload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.s3client.send(new CompleteMultipartUploadCommand({\n Bucket: this.params.Bucket,\n Key: this.params.Key,\n UploadId: this.uploadId,\n MultipartUpload: {\n // Parts are not always completed in order, we need to manually sort them\n Parts: this.completedParts.sort(comparePartNumber),\n },\n }))];\n case 1:\n _a.sent();\n this._verifyFileSize();\n this._emitEvent(TaskEvents.UPLOAD_COMPLETE, {\n key: this.params.Bucket + \"/\" + this.params.Key,\n });\n this._removeFromCache();\n this.state = AWSS3UploadTaskState.COMPLETED;\n return [3 /*break*/, 3];\n case 2:\n err_1 = _a.sent();\n logger.error('error completing upload', err_1);\n this._emitEvent(TaskEvents.ERROR, err_1);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._makeUploadPartRequest = function (input, cancelTokenSource) {\n return __awaiter(this, void 0, void 0, function () {\n var res, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n return [4 /*yield*/, this.s3client.send(new UploadPartCommand(input), {\n cancelTokenSource: cancelTokenSource,\n })];\n case 1:\n res = _a.sent();\n return [4 /*yield*/, this._onPartUploadCompletion({\n eTag: res.ETag,\n partNumber: input.PartNumber,\n chunk: input.Body,\n })];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_2 = _a.sent();\n if (this.state === AWSS3UploadTaskState.PAUSED) {\n logger.log('upload paused');\n }\n else if (this.state === AWSS3UploadTaskState.CANCELLED) {\n logger.log('upload aborted');\n }\n else {\n logger.error('error starting next part of upload: ', err_2);\n }\n // axios' cancel will also throw an error, however we don't need to emit an event in that case as it's an\n // expected behavior\n if (!axios.isCancel(err_2) &&\n err_2.message !== AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE) {\n this._emitEvent(TaskEvents.ERROR, err_2);\n this.pause();\n }\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._startNextPart = function () {\n if (this.queued.length > 0 && this.state !== AWSS3UploadTaskState.PAUSED) {\n var cancelTokenSource = axios.CancelToken.source();\n var nextPart = this.queued.shift();\n this.inProgress.push({\n uploadPartInput: nextPart,\n s3Request: this._makeUploadPartRequest(nextPart, cancelTokenSource),\n cancel: cancelTokenSource.cancel,\n });\n }\n };\n /**\n * Verify on S3 side that the file size matches the one on the client side.\n *\n * @async\n * @throws throws an error if the file size does not match between local copy of the file and the file on s3.\n */\n AWSS3UploadTask.prototype._verifyFileSize = function () {\n return __awaiter(this, void 0, void 0, function () {\n var obj, valid;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._listSingleFile({\n key: this.params.Key,\n bucket: this.params.Bucket,\n })];\n case 1:\n obj = _a.sent();\n valid = Boolean(obj && obj.Size === this.file.size);\n if (!valid) {\n throw new Error('File size does not match between local file and file on s3');\n }\n return [2 /*return*/, valid];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._isDone = function () {\n return (!this.queued.length &&\n !this.inProgress.length &&\n this.bytesUploaded === this.totalBytes);\n };\n AWSS3UploadTask.prototype._createParts = function () {\n var size = this.file.size;\n var parts = [];\n for (var bodyStart = 0; bodyStart < size;) {\n var bodyEnd = Math.min(bodyStart + this.partSize, size);\n parts.push({\n Body: this.file.slice(bodyStart, bodyEnd),\n Key: this.params.Key,\n Bucket: this.params.Bucket,\n PartNumber: parts.length + 1,\n UploadId: this.uploadId,\n });\n bodyStart += this.partSize;\n }\n return parts;\n };\n AWSS3UploadTask.prototype._initCachedUploadParts = function (cachedParts) {\n this.bytesUploaded += cachedParts.reduce(function (acc, part) { return acc + part.Size; }, 0);\n // Find the set of part numbers that have already been uploaded\n var uploadedPartNumSet = new Set(cachedParts.map(function (part) { return part.PartNumber; }));\n this.queued = this.queued.filter(function (part) { return !uploadedPartNumSet.has(part.PartNumber); });\n this.completedParts = cachedParts.map(function (part) { return ({\n PartNumber: part.PartNumber,\n ETag: part.ETag,\n }); });\n this._emitEvent(TaskEvents.UPLOAD_PROGRESS, {\n loaded: this.bytesUploaded,\n total: this.totalBytes,\n });\n };\n AWSS3UploadTask.prototype._initMultipartUpload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var res;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.s3client.send(new CreateMultipartUploadCommand(this.params))];\n case 1:\n res = _a.sent();\n this._cache({\n uploadId: res.UploadId,\n lastTouched: Date.now(),\n bucket: this.params.Bucket,\n key: this.params.Key,\n fileName: this.file instanceof File ? this.file.name : '',\n });\n return [2 /*return*/, res.UploadId];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._initializeUploadTask = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, parts, uploadId, uploadId, err_3;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n this.state = AWSS3UploadTaskState.IN_PROGRESS;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 7, , 8]);\n return [4 /*yield*/, this._isCached()];\n case 2:\n if (!_b.sent()) return [3 /*break*/, 4];\n return [4 /*yield*/, this._findCachedUploadParts()];\n case 3:\n _a = _b.sent(), parts = _a.parts, uploadId = _a.uploadId;\n this.uploadId = uploadId;\n this.queued = this._createParts();\n this._initCachedUploadParts(parts);\n this._startUpload();\n return [3 /*break*/, 6];\n case 4:\n if (!!this.uploadId) return [3 /*break*/, 6];\n return [4 /*yield*/, this._initMultipartUpload()];\n case 5:\n uploadId = _b.sent();\n this.uploadId = uploadId;\n this.queued = this._createParts();\n this._startUpload();\n _b.label = 6;\n case 6: return [3 /*break*/, 8];\n case 7:\n err_3 = _b.sent();\n if (!axios.isCancel(err_3)) {\n logger.error('Error initializing the upload task', err_3);\n }\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype.resume = function () {\n if (this.state === AWSS3UploadTaskState.CANCELLED) {\n logger.warn('This task has already been cancelled');\n }\n else if (this.state === AWSS3UploadTaskState.COMPLETED) {\n logger.warn('This task has already been completed');\n }\n else if (this.state === AWSS3UploadTaskState.IN_PROGRESS) {\n logger.warn('Upload task already in progress');\n // first time running resume, find any cached parts on s3 or start a new multipart upload request before\n // starting the upload\n }\n else if (!this.uploadId) {\n this._initializeUploadTask();\n }\n else {\n this._startUpload();\n }\n };\n AWSS3UploadTask.prototype._startUpload = function () {\n this.state = AWSS3UploadTaskState.IN_PROGRESS;\n for (var i = 0; i < this.queueSize; i++) {\n this._startNextPart();\n }\n };\n AWSS3UploadTask.prototype._cancel = function () {\n return __awaiter(this, void 0, void 0, function () {\n var err_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.state === AWSS3UploadTaskState.CANCELLED)) return [3 /*break*/, 1];\n logger.warn('This task has already been cancelled');\n return [2 /*return*/, false];\n case 1:\n if (!(this.state === AWSS3UploadTaskState.COMPLETED)) return [3 /*break*/, 2];\n logger.warn('This task has already been completed');\n return [2 /*return*/, false];\n case 2:\n this.pause();\n this.queued = [];\n this.completedParts = [];\n this.bytesUploaded = 0;\n this.state = AWSS3UploadTaskState.CANCELLED;\n _a.label = 3;\n case 3:\n _a.trys.push([3, 6, , 7]);\n return [4 /*yield*/, this.s3client.send(new AbortMultipartUploadCommand({\n Bucket: this.params.Bucket,\n Key: this.params.Key,\n UploadId: this.uploadId,\n }))];\n case 4:\n _a.sent();\n return [4 /*yield*/, this._removeFromCache()];\n case 5:\n _a.sent();\n return [2 /*return*/, true];\n case 6:\n err_4 = _a.sent();\n logger.error('Error cancelling upload task', err_4);\n return [2 /*return*/, false];\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * pause this particular upload task\n **/\n AWSS3UploadTask.prototype.pause = function () {\n var _a;\n if (this.state === AWSS3UploadTaskState.CANCELLED) {\n logger.warn('This task has already been cancelled');\n }\n else if (this.state === AWSS3UploadTaskState.COMPLETED) {\n logger.warn('This task has already been completed');\n }\n else if (this.state === AWSS3UploadTaskState.PAUSED) {\n logger.warn('This task is already paused');\n }\n this.state = AWSS3UploadTaskState.PAUSED;\n // Use axios cancel token to abort the part request immediately\n // Add the inProgress parts back to pending\n var removedInProgressReq = this.inProgress.splice(0, this.inProgress.length);\n removedInProgressReq.forEach(function (req) {\n req.cancel(AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE);\n });\n // Put all removed in progress parts back into the queue\n (_a = this.queued).unshift.apply(_a, __spread(removedInProgressReq.map(function (req) { return req.uploadPartInput; })));\n };\n return AWSS3UploadTask;\n}());\nexport { AWSS3UploadTask };\n//# sourceMappingURL=AWSS3UploadTask.js.map","import { __extends } from \"tslib\";\nimport { CompleteMultipartUploadOutput, CompleteMultipartUploadRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlCompleteMultipartUploadCommand, serializeAws_restXmlCompleteMultipartUploadCommand, } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Completes a multipart upload by assembling previously uploaded parts.

\n *

You first initiate the multipart upload and then upload all parts using the UploadPart\n * operation. After successfully uploading all relevant parts of an upload, you call this\n * operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all\n * the parts in ascending order by part number to create a new object. In the Complete\n * Multipart Upload request, you must provide the parts list. You must ensure that the parts\n * list is complete. This operation concatenates the parts that you provide in the list. For\n * each part in the list, you must provide the part number and the ETag value,\n * returned after that part was uploaded.

\n *

Processing of a Complete Multipart Upload request could take several minutes to\n * complete. After Amazon S3 begins processing the request, it sends an HTTP response header that\n * specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white\n * space characters to keep the connection from timing out. Because a request could fail after\n * the initial 200 OK response has been sent, it is important that you check the response body\n * to determine whether the request succeeded.

\n *

Note that if CompleteMultipartUpload fails, applications should be prepared\n * to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

\n *

For more information about multipart uploads, see Uploading Objects Using Multipart\n * Upload.

\n *

For information about permissions required to use the multipart upload API, see Multipart Upload API and\n * Permissions.

\n *\n *\n *

\n * CompleteMultipartUpload has the following special errors:

\n * \n *\n *

The following operations are related to CompleteMultipartUpload:

\n * \n */\nvar CompleteMultipartUploadCommand = /** @class */ (function (_super) {\n __extends(CompleteMultipartUploadCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function CompleteMultipartUploadCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n CompleteMultipartUploadCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getThrow200ExceptionsPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"CompleteMultipartUploadCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: CompleteMultipartUploadRequest.filterSensitiveLog,\n outputFilterSensitiveLog: CompleteMultipartUploadOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n CompleteMultipartUploadCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlCompleteMultipartUploadCommand(input, context);\n };\n CompleteMultipartUploadCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlCompleteMultipartUploadCommand(output, context);\n };\n return CompleteMultipartUploadCommand;\n}($Command));\nexport { CompleteMultipartUploadCommand };\n//# sourceMappingURL=CompleteMultipartUploadCommand.js.map","import { __extends } from \"tslib\";\nimport { AbortMultipartUploadOutput, AbortMultipartUploadRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlAbortMultipartUploadCommand, serializeAws_restXmlAbortMultipartUploadCommand, } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

This operation aborts a multipart upload. After a multipart upload is aborted, no\n * additional parts can be uploaded using that upload ID. The storage consumed by any\n * previously uploaded parts will be freed. However, if any part uploads are currently in\n * progress, those part uploads might or might not succeed. As a result, it might be necessary\n * to abort a given multipart upload multiple times in order to completely free all storage\n * consumed by all parts.

\n *

To verify that all parts have been removed, so you don't get charged for the part\n * storage, you should call the ListParts operation and ensure that\n * the parts list is empty.

\n *

For information about permissions required to use the multipart upload API, see Multipart Upload API and\n * Permissions.

\n *

The following operations are related to AbortMultipartUpload:

\n * \n */\nvar AbortMultipartUploadCommand = /** @class */ (function (_super) {\n __extends(AbortMultipartUploadCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function AbortMultipartUploadCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n AbortMultipartUploadCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"AbortMultipartUploadCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: AbortMultipartUploadRequest.filterSensitiveLog,\n outputFilterSensitiveLog: AbortMultipartUploadOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n AbortMultipartUploadCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlAbortMultipartUploadCommand(input, context);\n };\n AbortMultipartUploadCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlAbortMultipartUploadCommand(output, context);\n };\n return AbortMultipartUploadCommand;\n}($Command));\nexport { AbortMultipartUploadCommand };\n//# sourceMappingURL=AbortMultipartUploadCommand.js.map","import { __extends } from \"tslib\";\nimport { ListPartsOutput, ListPartsRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlListPartsCommand, serializeAws_restXmlListPartsCommand } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Lists the parts that have been uploaded for a specific multipart upload. This operation\n * must include the upload ID, which you obtain by sending the initiate multipart upload\n * request (see CreateMultipartUpload).\n * This request returns a maximum of 1,000 uploaded parts. The default number of parts\n * returned is 1,000 parts. You can restrict the number of parts returned by specifying the\n * max-parts request parameter. If your multipart upload consists of more than\n * 1,000 parts, the response returns an IsTruncated field with the value of true,\n * and a NextPartNumberMarker element. In subsequent ListParts\n * requests you can include the part-number-marker query string parameter and set its value to\n * the NextPartNumberMarker field value from the previous response.

\n *\n *

For more information on multipart uploads, see Uploading Objects Using Multipart\n * Upload.

\n *\n *

For information on permissions required to use the multipart upload API, see Multipart Upload API and\n * Permissions.

\n *\n *

The following operations are related to ListParts:

\n * \n */\nvar ListPartsCommand = /** @class */ (function (_super) {\n __extends(ListPartsCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function ListPartsCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n ListPartsCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"S3Client\";\n var commandName = \"ListPartsCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: ListPartsRequest.filterSensitiveLog,\n outputFilterSensitiveLog: ListPartsOutput.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n ListPartsCommand.prototype.serialize = function (input, context) {\n return serializeAws_restXmlListPartsCommand(input, context);\n };\n ListPartsCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restXmlListPartsCommand(output, context);\n };\n return ListPartsCommand;\n}($Command));\nexport { ListPartsCommand };\n//# sourceMappingURL=ListPartsCommand.js.map","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { PutObjectCommand, CreateMultipartUploadCommand, UploadPartCommand, CompleteMultipartUploadCommand, ListPartsCommand, AbortMultipartUploadCommand, } from '@aws-sdk/client-s3';\nimport { SEND_UPLOAD_PROGRESS_EVENT, SEND_DOWNLOAD_PROGRESS_EVENT, } from './axios-http-handler';\nimport * as events from 'events';\nimport { createPrefixMiddleware, prefixMiddlewareOptions, autoAdjustClockskewMiddleware, autoAdjustClockskewMiddlewareOptions, createS3Client, } from '../common/S3ClientUtils';\nvar logger = new Logger('AWSS3ProviderManagedUpload');\nvar AWSS3ProviderManagedUpload = /** @class */ (function () {\n function AWSS3ProviderManagedUpload(params, opts, emitter) {\n // Defaults\n this.minPartSize = 5 * 1024 * 1024; // in MB\n this.queueSize = 4;\n // Data for current upload\n this.body = null;\n this.params = null;\n this.opts = null;\n this.completedParts = [];\n this.uploadId = null;\n // Progress reporting\n this.bytesUploaded = 0;\n this.totalBytesToUpload = 0;\n this.emitter = null;\n this.params = params;\n this.opts = opts;\n this.emitter = emitter;\n this.s3client = this._createNewS3Client(opts, emitter);\n }\n AWSS3ProviderManagedUpload.prototype.upload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, putObjectCommand, _b, numberOfPartsToUpload, parts, start, error_1;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 10, , 12]);\n _a = this;\n return [4 /*yield*/, this.validateAndSanitizeBody(this.params.Body)];\n case 1:\n _a.body = _c.sent();\n this.totalBytesToUpload = this.byteLength(this.body);\n if (!(this.totalBytesToUpload <= this.minPartSize)) return [3 /*break*/, 2];\n // Multipart upload is not required. Upload the sanitized body as is\n this.params.Body = this.body;\n putObjectCommand = new PutObjectCommand(this.params);\n return [2 /*return*/, this.s3client.send(putObjectCommand)];\n case 2:\n // Step 1: Initiate the multi part upload\n _b = this;\n return [4 /*yield*/, this.createMultiPartUpload()];\n case 3:\n // Step 1: Initiate the multi part upload\n _b.uploadId = _c.sent();\n numberOfPartsToUpload = Math.ceil(this.totalBytesToUpload / this.minPartSize);\n parts = this.createParts();\n start = 0;\n _c.label = 4;\n case 4:\n if (!(start < numberOfPartsToUpload)) return [3 /*break*/, 7];\n // Upload as many as `queueSize` parts simultaneously\n return [4 /*yield*/, this.uploadParts(this.uploadId, parts.slice(start, start + this.queueSize))];\n case 5:\n // Upload as many as `queueSize` parts simultaneously\n _c.sent();\n _c.label = 6;\n case 6:\n start += this.queueSize;\n return [3 /*break*/, 4];\n case 7:\n parts.map(function (part) {\n _this.removeEventListener(part);\n });\n return [4 /*yield*/, this.finishMultiPartUpload(this.uploadId)];\n case 8: \n // Step 3: Finalize the upload such that S3 can recreate the file\n return [2 /*return*/, _c.sent()];\n case 9: return [3 /*break*/, 12];\n case 10:\n error_1 = _c.sent();\n // if any error is thrown, call cleanup\n return [4 /*yield*/, this.cleanup(this.uploadId)];\n case 11:\n // if any error is thrown, call cleanup\n _c.sent();\n logger.error('Error. Cancelling the multipart upload.');\n throw error_1;\n case 12: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.createParts = function () {\n try {\n var parts = [];\n for (var bodyStart = 0; bodyStart < this.totalBytesToUpload;) {\n var bodyEnd = Math.min(bodyStart + this.minPartSize, this.totalBytesToUpload);\n parts.push({\n bodyPart: this.body.slice(bodyStart, bodyEnd),\n partNumber: parts.length + 1,\n emitter: new events.EventEmitter(),\n _lastUploadedBytes: 0,\n });\n bodyStart += this.minPartSize;\n }\n return parts;\n }\n catch (error) {\n logger.error(error);\n throw error;\n }\n };\n AWSS3ProviderManagedUpload.prototype.createMultiPartUpload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var createMultiPartUploadCommand, response, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n createMultiPartUploadCommand = new CreateMultipartUploadCommand(this.params);\n return [4 /*yield*/, this.s3client.send(createMultiPartUploadCommand)];\n case 1:\n response = _a.sent();\n logger.debug(response.UploadId);\n return [2 /*return*/, response.UploadId];\n case 2:\n error_2 = _a.sent();\n logger.error(error_2);\n throw error_2;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @private Not to be extended outside of tests\n * @VisibleFotTesting\n */\n AWSS3ProviderManagedUpload.prototype.uploadParts = function (uploadId, parts) {\n return __awaiter(this, void 0, void 0, function () {\n var allResults, i, error_3;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, Promise.all(parts.map(function (part) { return __awaiter(_this, void 0, void 0, function () {\n var options, _a, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, res;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n this.setupEventListener(part);\n options = { emitter: part.emitter };\n _a = this.params, Key = _a.Key, Bucket = _a.Bucket, SSECustomerAlgorithm = _a.SSECustomerAlgorithm, SSECustomerKey = _a.SSECustomerKey, SSECustomerKeyMD5 = _a.SSECustomerKeyMD5;\n return [4 /*yield*/, this.s3client.send(new UploadPartCommand(__assign(__assign(__assign({ PartNumber: part.partNumber, Body: part.bodyPart, UploadId: uploadId, Key: Key,\n Bucket: Bucket }, (SSECustomerAlgorithm && { SSECustomerAlgorithm: SSECustomerAlgorithm })), (SSECustomerKey && { SSECustomerKey: SSECustomerKey })), (SSECustomerKeyMD5 && { SSECustomerKeyMD5: SSECustomerKeyMD5 }))), options)];\n case 1:\n res = _b.sent();\n return [2 /*return*/, res];\n }\n });\n }); }))];\n case 1:\n allResults = _a.sent();\n // The order of resolved promises is the same as input promise order.\n for (i = 0; i < allResults.length; i++) {\n this.completedParts.push({\n PartNumber: parts[i].partNumber,\n ETag: allResults[i].ETag,\n });\n }\n return [3 /*break*/, 3];\n case 2:\n error_3 = _a.sent();\n logger.error('Error happened while uploading a part. Cancelling the multipart upload');\n throw error_3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.finishMultiPartUpload = function (uploadId) {\n return __awaiter(this, void 0, void 0, function () {\n var input, completeUploadCommand, data, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n input = {\n Bucket: this.params.Bucket,\n Key: this.params.Key,\n UploadId: uploadId,\n MultipartUpload: { Parts: this.completedParts },\n };\n completeUploadCommand = new CompleteMultipartUploadCommand(input);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.s3client.send(completeUploadCommand)];\n case 2:\n data = _a.sent();\n return [2 /*return*/, data.Key];\n case 3:\n error_4 = _a.sent();\n logger.error('Error happened while finishing the upload.');\n throw error_4;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.cleanup = function (uploadId) {\n return __awaiter(this, void 0, void 0, function () {\n var input, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n // Reset this's state\n this.body = null;\n this.completedParts = [];\n this.bytesUploaded = 0;\n this.totalBytesToUpload = 0;\n input = {\n Bucket: this.params.Bucket,\n Key: this.params.Key,\n UploadId: uploadId,\n };\n return [4 /*yield*/, this.s3client.send(new AbortMultipartUploadCommand(input))];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.s3client.send(new ListPartsCommand(input))];\n case 2:\n data = _a.sent();\n if (data && data.Parts && data.Parts.length > 0) {\n throw new Error('Multipart upload clean up failed.');\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.removeEventListener = function (part) {\n part.emitter.removeAllListeners(SEND_UPLOAD_PROGRESS_EVENT);\n part.emitter.removeAllListeners(SEND_DOWNLOAD_PROGRESS_EVENT);\n };\n AWSS3ProviderManagedUpload.prototype.setupEventListener = function (part) {\n var _this = this;\n part.emitter.on(SEND_UPLOAD_PROGRESS_EVENT, function (progress) {\n _this.progressChanged(part.partNumber, progress.loaded - part._lastUploadedBytes);\n part._lastUploadedBytes = progress.loaded;\n });\n };\n AWSS3ProviderManagedUpload.prototype.progressChanged = function (partNumber, incrementalUpdate) {\n this.bytesUploaded += incrementalUpdate;\n this.emitter.emit(SEND_UPLOAD_PROGRESS_EVENT, {\n loaded: this.bytesUploaded,\n total: this.totalBytesToUpload,\n part: partNumber,\n key: this.params.Key,\n });\n };\n AWSS3ProviderManagedUpload.prototype.byteLength = function (input) {\n if (input === null || input === undefined)\n return 0;\n if (typeof input.byteLength === 'number') {\n return input.byteLength;\n }\n else if (typeof input.length === 'number') {\n return input.length;\n }\n else if (typeof input.size === 'number') {\n return input.size;\n }\n else if (typeof input.path === 'string') {\n /* NodeJs Support\n return require('fs').lstatSync(input.path).size;\n */\n }\n else {\n throw new Error('Cannot determine length of ' + input);\n }\n };\n AWSS3ProviderManagedUpload.prototype.validateAndSanitizeBody = function (body) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (this.isGenericObject(body)) {\n // Any javascript object\n return [2 /*return*/, JSON.stringify(body)];\n }\n else {\n // Files, arrayBuffer etc\n return [2 /*return*/, body];\n }\n return [2 /*return*/];\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.isGenericObject = function (body) {\n if (body !== null && typeof body === 'object') {\n try {\n return !(this.byteLength(body) >= 0);\n }\n catch (error) {\n // If we cannot determine the length of the body, consider it\n // as a generic object and upload a stringified version of it\n return true;\n }\n }\n return false;\n };\n AWSS3ProviderManagedUpload.prototype._createNewS3Client = function (config, emitter) {\n var s3client = createS3Client(config, emitter);\n s3client.middlewareStack.add(createPrefixMiddleware(this.opts, this.params.Key), prefixMiddlewareOptions);\n s3client.middlewareStack.add(autoAdjustClockskewMiddleware(s3client.config), autoAdjustClockskewMiddlewareOptions);\n return s3client;\n };\n return AWSS3ProviderManagedUpload;\n}());\nexport { AWSS3ProviderManagedUpload };\n//# sourceMappingURL=AWSS3ProviderManagedUpload.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\n/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger, Credentials, Parser, StorageHelper, Hub, } from '@aws-amplify/core';\nimport { GetObjectCommand, DeleteObjectCommand, ListObjectsV2Command, CopyObjectCommand, } from '@aws-sdk/client-s3';\nimport { formatUrl } from '@aws-sdk/util-format-url';\nimport { createRequest } from '@aws-sdk/util-create-request';\nimport { S3RequestPresigner } from '@aws-sdk/s3-request-presigner';\nimport { SEND_DOWNLOAD_PROGRESS_EVENT, SEND_UPLOAD_PROGRESS_EVENT, } from './axios-http-handler';\nimport { StorageErrorStrings } from '../common/StorageErrorStrings';\nimport { dispatchStorageEvent } from '../common/StorageUtils';\nimport { createPrefixMiddleware, prefixMiddlewareOptions, getPrefix, autoAdjustClockskewMiddleware, autoAdjustClockskewMiddlewareOptions, createS3Client, } from '../common/S3ClientUtils';\nimport { AWSS3ProviderManagedUpload } from './AWSS3ProviderManagedUpload';\nimport { AWSS3UploadTask, TaskEvents } from './AWSS3UploadTask';\nimport { UPLOADS_STORAGE_KEY } from '../common/StorageConstants';\nimport * as events from 'events';\nvar logger = new Logger('AWSS3Provider');\nvar DEFAULT_STORAGE_LEVEL = 'public';\nvar DEFAULT_PRESIGN_EXPIRATION = 900;\n/**\n * Provide storage methods to use AWS S3\n */\nvar AWSS3Provider = /** @class */ (function () {\n /**\n * Initialize Storage with AWS configurations\n * @param {Object} config - Configuration object for storage\n */\n function AWSS3Provider(config) {\n var _this = this;\n this._config = config ? config : {};\n this._storage = new StorageHelper().getStorage();\n Hub.listen('auth', function (data) {\n var payload = data.payload;\n if (payload.event === 'signOut' || payload.event === 'signIn') {\n _this._storage.removeItem(UPLOADS_STORAGE_KEY);\n }\n });\n logger.debug('Storage Options', this._config);\n }\n /**\n * get the category of the plugin\n */\n AWSS3Provider.prototype.getCategory = function () {\n return AWSS3Provider.CATEGORY;\n };\n /**\n * get provider name of the plugin\n */\n AWSS3Provider.prototype.getProviderName = function () {\n return AWSS3Provider.PROVIDER_NAME;\n };\n /**\n * Configure Storage part with aws configuration\n * @param {Object} config - Configuration of the Storage\n * @return {Object} - Current configuration\n */\n AWSS3Provider.prototype.configure = function (config) {\n logger.debug('configure Storage', config);\n if (!config)\n return this._config;\n var amplifyConfig = Parser.parseMobilehubConfig(config);\n this._config = Object.assign({}, this._config, amplifyConfig.Storage);\n if (!this._config.bucket) {\n logger.debug('Do not have bucket yet');\n }\n return this._config;\n };\n AWSS3Provider.prototype.startResumableUpload = function (addTaskInput, config) {\n var s3Client = addTaskInput.s3Client, emitter = addTaskInput.emitter, key = addTaskInput.key, file = addTaskInput.file, params = addTaskInput.params;\n var progressCallback = config.progressCallback, completeCallback = config.completeCallback, errorCallback = config.errorCallback, _a = config.track, track = _a === void 0 ? false : _a;\n if (!(file instanceof Blob)) {\n throw new Error(StorageErrorStrings.INVALID_BLOB);\n }\n emitter.on(TaskEvents.UPLOAD_PROGRESS, function (event) {\n if (progressCallback) {\n if (typeof progressCallback === 'function') {\n progressCallback(event);\n }\n else {\n logger.warn('progressCallback should be a function, not a ' +\n typeof progressCallback);\n }\n }\n });\n emitter.on(TaskEvents.UPLOAD_COMPLETE, function (event) {\n if (completeCallback) {\n if (typeof completeCallback === 'function') {\n completeCallback(event);\n }\n else {\n logger.warn('completeCallback should be a function, not a ' +\n typeof completeCallback);\n }\n }\n });\n emitter.on(TaskEvents.ERROR, function (err) {\n if (errorCallback) {\n if (typeof errorCallback === 'function') {\n errorCallback(err);\n }\n else {\n logger.warn('errorCallback should be a function, not a ' + typeof errorCallback);\n }\n }\n });\n // we want to keep this function sync so we defer this promise to AWSS3UploadTask to resolve when it's needed\n // when its doing a final check with _listSingleFile function\n var prefixPromise = Credentials.get().then(function (credentials) {\n var cred = Credentials.shear(credentials);\n return getPrefix(__assign(__assign({}, config), { credentials: cred }));\n });\n var task = new AWSS3UploadTask({\n s3Client: s3Client,\n file: file,\n emitter: emitter,\n level: config.level,\n storage: this._storage,\n params: params,\n prefixPromise: prefixPromise,\n });\n dispatchStorageEvent(track, 'upload', { method: 'put', result: 'success' }, null, \"Upload Task created successfully for \" + key);\n // automatically start the upload task\n task.resume();\n return task;\n };\n /**\n * Copy an object from a source object to a new object within the same bucket. Can optionally copy files across\n * different level or identityId (if source object's level is 'protected').\n *\n * @async\n * @param {S3CopySource} src - Key and optionally access level and identityId of the source object.\n * @param {S3CopyDestination} dest - Key and optionally access level of the destination object.\n * @param {S3ProviderCopyConfig} [config] - Optional configuration for s3 commands.\n * @return {Promise} The key of the copied object.\n */\n AWSS3Provider.prototype.copy = function (src, dest, config) {\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, acl, bucket, cacheControl, expires, track, serverSideEncryption, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, SSEKMSKeyId, _a, srcLevel, srcIdentityId, srcKey, _b, destLevel, destKey, srcPrefix, destPrefix, finalSrcKey, finalDestKey, params, s3, error_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _c.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n acl = opt.acl, bucket = opt.bucket, cacheControl = opt.cacheControl, expires = opt.expires, track = opt.track, serverSideEncryption = opt.serverSideEncryption, SSECustomerAlgorithm = opt.SSECustomerAlgorithm, SSECustomerKey = opt.SSECustomerKey, SSECustomerKeyMD5 = opt.SSECustomerKeyMD5, SSEKMSKeyId = opt.SSEKMSKeyId;\n _a = src.level, srcLevel = _a === void 0 ? DEFAULT_STORAGE_LEVEL : _a, srcIdentityId = src.identityId, srcKey = src.key;\n _b = dest.level, destLevel = _b === void 0 ? DEFAULT_STORAGE_LEVEL : _b, destKey = dest.key;\n if (!srcKey || typeof srcKey !== 'string') {\n throw new Error(StorageErrorStrings.NO_SRC_KEY);\n }\n if (!destKey || typeof destKey !== 'string') {\n throw new Error(StorageErrorStrings.NO_DEST_KEY);\n }\n if (srcLevel !== 'protected' && srcIdentityId) {\n logger.warn(\"You may copy files from another user if the source level is \\\"protected\\\", currently it's \" + srcLevel);\n }\n srcPrefix = this._prefix(__assign(__assign(__assign({}, opt), { level: srcLevel }), (srcIdentityId && { identityId: srcIdentityId })));\n destPrefix = this._prefix(__assign(__assign({}, opt), { level: destLevel }));\n finalSrcKey = bucket + \"/\" + srcPrefix + srcKey;\n finalDestKey = \"\" + destPrefix + destKey;\n logger.debug(\"copying \" + finalSrcKey + \" to \" + finalDestKey);\n params = {\n Bucket: bucket,\n CopySource: finalSrcKey,\n Key: finalDestKey,\n // Copies over metadata like contentType as well\n MetadataDirective: 'COPY',\n };\n if (cacheControl)\n params.CacheControl = cacheControl;\n if (expires)\n params.Expires = expires;\n if (serverSideEncryption) {\n params.ServerSideEncryption = serverSideEncryption;\n }\n if (SSECustomerAlgorithm) {\n params.SSECustomerAlgorithm = SSECustomerAlgorithm;\n }\n if (SSECustomerKey) {\n params.SSECustomerKey = SSECustomerKey;\n }\n if (SSECustomerKeyMD5) {\n params.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n }\n if (SSEKMSKeyId) {\n params.SSEKMSKeyId = SSEKMSKeyId;\n }\n if (acl)\n params.ACL = acl;\n s3 = this._createNewS3Client(opt);\n _c.label = 2;\n case 2:\n _c.trys.push([2, 4, , 5]);\n return [4 /*yield*/, s3.send(new CopyObjectCommand(params))];\n case 3:\n _c.sent();\n dispatchStorageEvent(track, 'copy', {\n method: 'copy',\n result: 'success',\n }, null, \"Copy success from \" + srcKey + \" to \" + destKey);\n return [2 /*return*/, {\n key: destKey,\n }];\n case 4:\n error_1 = _c.sent();\n dispatchStorageEvent(track, 'copy', {\n method: 'copy',\n result: 'failed',\n }, null, \"Copy failed from \" + srcKey + \" to \" + destKey);\n throw error_1;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype.get = function (key, config) {\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, bucket, download, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, expires, track, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, progressCallback, prefix, final_key, emitter, s3, params, getObjectCommand, response, error_2, signer, request, url, _a, error_3;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _b.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n bucket = opt.bucket, download = opt.download, cacheControl = opt.cacheControl, contentDisposition = opt.contentDisposition, contentEncoding = opt.contentEncoding, contentLanguage = opt.contentLanguage, contentType = opt.contentType, expires = opt.expires, track = opt.track, SSECustomerAlgorithm = opt.SSECustomerAlgorithm, SSECustomerKey = opt.SSECustomerKey, SSECustomerKeyMD5 = opt.SSECustomerKeyMD5, progressCallback = opt.progressCallback;\n prefix = this._prefix(opt);\n final_key = prefix + key;\n emitter = new events.EventEmitter();\n s3 = this._createNewS3Client(opt, emitter);\n logger.debug('get ' + key + ' from ' + final_key);\n params = {\n Bucket: bucket,\n Key: final_key,\n };\n // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property\n if (cacheControl)\n params.ResponseCacheControl = cacheControl;\n if (contentDisposition)\n params.ResponseContentDisposition = contentDisposition;\n if (contentEncoding)\n params.ResponseContentEncoding = contentEncoding;\n if (contentLanguage)\n params.ResponseContentLanguage = contentLanguage;\n if (contentType)\n params.ResponseContentType = contentType;\n if (SSECustomerAlgorithm) {\n params.SSECustomerAlgorithm = SSECustomerAlgorithm;\n }\n if (SSECustomerKey) {\n params.SSECustomerKey = SSECustomerKey;\n }\n if (SSECustomerKeyMD5) {\n params.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n }\n if (!(download === true)) return [3 /*break*/, 5];\n getObjectCommand = new GetObjectCommand(params);\n _b.label = 2;\n case 2:\n _b.trys.push([2, 4, , 5]);\n if (progressCallback) {\n if (typeof progressCallback === 'function') {\n emitter.on(SEND_DOWNLOAD_PROGRESS_EVENT, function (progress) {\n progressCallback(progress);\n });\n }\n else {\n logger.warn('progressCallback should be a function, not a ' +\n typeof progressCallback);\n }\n }\n return [4 /*yield*/, s3.send(getObjectCommand)];\n case 3:\n response = _b.sent();\n emitter.removeAllListeners(SEND_DOWNLOAD_PROGRESS_EVENT);\n dispatchStorageEvent(track, 'download', { method: 'get', result: 'success' }, {\n fileSize: Number(response.Body['size'] || response.Body['length']),\n }, \"Download success for \" + key);\n return [2 /*return*/, response];\n case 4:\n error_2 = _b.sent();\n dispatchStorageEvent(track, 'download', {\n method: 'get',\n result: 'failed',\n }, null, \"Download failed with \" + error_2.message);\n throw error_2;\n case 5:\n _b.trys.push([5, 8, , 9]);\n signer = new S3RequestPresigner(__assign({}, s3.config));\n return [4 /*yield*/, createRequest(s3, new GetObjectCommand(params))];\n case 6:\n request = _b.sent();\n _a = formatUrl;\n return [4 /*yield*/, signer.presign(request, {\n expiresIn: expires || DEFAULT_PRESIGN_EXPIRATION,\n })];\n case 7:\n url = _a.apply(void 0, [_b.sent()]);\n dispatchStorageEvent(track, 'getSignedUrl', { method: 'get', result: 'success' }, null, \"Signed URL: \" + url);\n return [2 /*return*/, url];\n case 8:\n error_3 = _b.sent();\n logger.warn('get signed url error', error_3);\n dispatchStorageEvent(track, 'getSignedUrl', { method: 'get', result: 'failed' }, null, \"Could not get a signed URL for \" + key);\n throw error_3;\n case 9: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Put a file in S3 bucket specified to configure method\n * @param key - key of the object\n * @param object - File to be put in Amazon S3 bucket\n * @param [config] - Optional configuration for the underlying S3 command\n * @return an instance of AWSS3UploadTask or a promise that resolves to an object with the new object's key on\n * success.\n */\n AWSS3Provider.prototype.put = function (key, object, config) {\n var opt = Object.assign({}, this._config, config);\n var bucket = opt.bucket, track = opt.track, progressCallback = opt.progressCallback, level = opt.level, resumable = opt.resumable;\n var contentType = opt.contentType, contentDisposition = opt.contentDisposition, contentEncoding = opt.contentEncoding, cacheControl = opt.cacheControl, expires = opt.expires, metadata = opt.metadata, tagging = opt.tagging, acl = opt.acl;\n var serverSideEncryption = opt.serverSideEncryption, SSECustomerAlgorithm = opt.SSECustomerAlgorithm, SSECustomerKey = opt.SSECustomerKey, SSECustomerKeyMD5 = opt.SSECustomerKeyMD5, SSEKMSKeyId = opt.SSEKMSKeyId;\n var type = contentType ? contentType : 'binary/octet-stream';\n var params = {\n Bucket: bucket,\n Key: key,\n Body: object,\n ContentType: type,\n };\n if (cacheControl) {\n params.CacheControl = cacheControl;\n }\n if (contentDisposition) {\n params.ContentDisposition = contentDisposition;\n }\n if (contentEncoding) {\n params.ContentEncoding = contentEncoding;\n }\n if (expires) {\n params.Expires = expires;\n }\n if (metadata) {\n params.Metadata = metadata;\n }\n if (tagging) {\n params.Tagging = tagging;\n }\n if (serverSideEncryption) {\n params.ServerSideEncryption = serverSideEncryption;\n }\n if (SSECustomerAlgorithm) {\n params.SSECustomerAlgorithm = SSECustomerAlgorithm;\n }\n if (SSECustomerKey) {\n params.SSECustomerKey = SSECustomerKey;\n }\n if (SSECustomerKeyMD5) {\n params.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n }\n if (SSEKMSKeyId) {\n params.SSEKMSKeyId = SSEKMSKeyId;\n }\n var emitter = new events.EventEmitter();\n var uploader = new AWSS3ProviderManagedUpload(params, opt, emitter);\n if (acl) {\n params.ACL = acl;\n }\n if (resumable === true) {\n var s3Client = this._createNewS3Client(opt);\n // we are using aws sdk middleware to inject the prefix to key, this way we don't have to call\n // this._ensureCredentials() which allows us to make this function sync so we can return non-Promise like UploadTask\n s3Client.middlewareStack.add(createPrefixMiddleware(opt, key), prefixMiddlewareOptions);\n var addTaskInput = {\n bucket: bucket,\n key: key,\n s3Client: s3Client,\n file: object,\n emitter: emitter,\n accessLevel: level,\n params: params,\n };\n // explicitly asserting the type here as Typescript could not infer that resumable is of type true\n return this.startResumableUpload(addTaskInput, config);\n }\n try {\n if (progressCallback) {\n if (typeof progressCallback === 'function') {\n emitter.on(SEND_UPLOAD_PROGRESS_EVENT, function (progress) {\n progressCallback(progress);\n });\n }\n else {\n logger.warn('progressCallback should be a function, not a ' +\n typeof progressCallback);\n }\n }\n return uploader.upload().then(function (response) {\n logger.debug('upload result', response);\n dispatchStorageEvent(track, 'upload', { method: 'put', result: 'success' }, null, \"Upload success for \" + key);\n return { key: key };\n });\n }\n catch (error) {\n logger.warn('error uploading', error);\n dispatchStorageEvent(track, 'upload', { method: 'put', result: 'failed' }, null, \"Error uploading \" + key);\n throw error;\n }\n };\n /**\n * Remove the object for specified key\n * @param {string} key - key of the object\n * @param {S3ProviderRemoveConfig} [config] - Optional configuration for the underlying S3 command\n * @return {Promise} - Promise resolves upon successful removal of the object\n */\n AWSS3Provider.prototype.remove = function (key, config) {\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, bucket, track, prefix, final_key, s3, params, deleteObjectCommand, response, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _a.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n bucket = opt.bucket, track = opt.track;\n prefix = this._prefix(opt);\n final_key = prefix + key;\n s3 = this._createNewS3Client(opt);\n logger.debug('remove ' + key + ' from ' + final_key);\n params = {\n Bucket: bucket,\n Key: final_key,\n };\n deleteObjectCommand = new DeleteObjectCommand(params);\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, s3.send(deleteObjectCommand)];\n case 3:\n response = _a.sent();\n dispatchStorageEvent(track, 'delete', { method: 'remove', result: 'success' }, null, \"Deleted \" + key + \" successfully\");\n return [2 /*return*/, response];\n case 4:\n error_4 = _a.sent();\n dispatchStorageEvent(track, 'delete', { method: 'remove', result: 'failed' }, null, \"Deletion of \" + key + \" failed with \" + error_4);\n throw error_4;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype._list = function (params, opt, prefix) {\n return __awaiter(this, void 0, void 0, function () {\n var result, s3, listObjectsV2Command, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n result = {\n contents: [],\n nextToken: '',\n };\n s3 = this._createNewS3Client(opt);\n listObjectsV2Command = new ListObjectsV2Command(__assign({}, params));\n return [4 /*yield*/, s3.send(listObjectsV2Command)];\n case 1:\n response = _a.sent();\n if (response && response.Contents) {\n result.contents = response.Contents.map(function (item) {\n return {\n key: item.Key.substr(prefix.length),\n eTag: item.ETag,\n lastModified: item.LastModified,\n size: item.Size,\n };\n });\n result.nextToken = response.NextContinuationToken;\n }\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * List bucket objects relative to the level and prefix specified\n * @param {string} path - the path that contains objects\n * @param {S3ProviderListConfig} [config] - Optional configuration for the underlying S3 command\n * @return {Promise} - Promise resolves to list of keys, eTags, lastModified and file size for\n * all objects in path\n */\n AWSS3Provider.prototype.list = function (path, config) {\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, bucket, track, maxKeys, prefix, final_path, list, token, listResult, params, error_5;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _a.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n bucket = opt.bucket, track = opt.track, maxKeys = opt.maxKeys;\n prefix = this._prefix(opt);\n final_path = prefix + path;\n logger.debug('list ' + path + ' from ' + final_path);\n _a.label = 2;\n case 2:\n _a.trys.push([2, 10, , 11]);\n list = [];\n token = void 0;\n listResult = void 0;\n params = {\n Bucket: bucket,\n Prefix: final_path,\n MaxKeys: 1000,\n };\n if (!(maxKeys === 'ALL')) return [3 /*break*/, 7];\n _a.label = 3;\n case 3:\n params.ContinuationToken = token;\n params.MaxKeys = 1000;\n return [4 /*yield*/, this._list(params, opt, prefix)];\n case 4:\n listResult = _a.sent();\n list.push.apply(list, __spread(listResult.contents));\n if (listResult.nextToken)\n token = listResult.nextToken;\n _a.label = 5;\n case 5:\n if (listResult.nextToken) return [3 /*break*/, 3];\n _a.label = 6;\n case 6: return [3 /*break*/, 9];\n case 7:\n maxKeys < 1000 || typeof maxKeys === 'string'\n ? (params.MaxKeys = maxKeys)\n : (params.MaxKeys = 1000);\n return [4 /*yield*/, this._list(params, opt, prefix)];\n case 8:\n listResult = _a.sent();\n list.push.apply(list, __spread(listResult.contents));\n if (maxKeys > 1000)\n logger.warn(\"maxkeys can be from 0 - 1000 or 'ALL'. To list all files you can set maxKeys to 'ALL'.\");\n _a.label = 9;\n case 9:\n dispatchStorageEvent(track, 'list', { method: 'list', result: 'success' }, null, list.length + \" items returned from list operation\");\n logger.debug('list', list);\n return [2 /*return*/, list];\n case 10:\n error_5 = _a.sent();\n logger.warn('list error', error_5);\n dispatchStorageEvent(track, 'list', { method: 'list', result: 'failed' }, null, \"Listing items failed: \" + error_5.message);\n throw error_5;\n case 11: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype._ensureCredentials = function () {\n return __awaiter(this, void 0, void 0, function () {\n var credentials, cred, error_6;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, Credentials.get()];\n case 1:\n credentials = _a.sent();\n if (!credentials)\n return [2 /*return*/, false];\n cred = Credentials.shear(credentials);\n logger.debug('set credentials for storage', cred);\n this._config.credentials = cred;\n return [2 /*return*/, true];\n case 2:\n error_6 = _a.sent();\n logger.warn('ensure credentials error', error_6);\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype._isWithCredentials = function (config) {\n return typeof config === 'object' && config.hasOwnProperty('credentials');\n };\n AWSS3Provider.prototype._prefix = function (config) {\n var credentials = config.credentials, level = config.level;\n var customPrefix = config.customPrefix || {};\n var identityId = config.identityId || credentials.identityId;\n var privatePath = (customPrefix.private !== undefined ? customPrefix.private : 'private/') +\n identityId +\n '/';\n var protectedPath = (customPrefix.protected !== undefined\n ? customPrefix.protected\n : 'protected/') +\n identityId +\n '/';\n var publicPath = customPrefix.public !== undefined ? customPrefix.public : 'public/';\n switch (level) {\n case 'private':\n return privatePath;\n case 'protected':\n return protectedPath;\n default:\n return publicPath;\n }\n };\n /**\n * Creates an S3 client with new V3 aws sdk\n */\n AWSS3Provider.prototype._createNewS3Client = function (config, emitter) {\n var s3client = createS3Client(config, emitter);\n s3client.middlewareStack.add(autoAdjustClockskewMiddleware(s3client.config), autoAdjustClockskewMiddlewareOptions);\n return s3client;\n };\n AWSS3Provider.CATEGORY = 'Storage';\n AWSS3Provider.PROVIDER_NAME = 'AWSS3';\n return AWSS3Provider;\n}());\nexport { AWSS3Provider };\n/**\n * @deprecated use named import\n */\nexport default AWSS3Provider;\n//# sourceMappingURL=AWSS3Provider.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { ConsoleLogger as Logger, Parser } from '@aws-amplify/core';\nimport { AWSS3Provider } from './providers';\nimport axios from 'axios';\nimport { AWSS3UploadTask } from './providers/AWSS3UploadTask';\nvar logger = new Logger('StorageClass');\nvar DEFAULT_PROVIDER = 'AWSS3';\n/**\n * Provide storage methods to use AWS S3\n */\nvar Storage = /** @class */ (function () {\n /**\n * Initialize Storage\n * @param {Object} config - Configuration object for storage\n */\n function Storage() {\n this._config = {};\n this._pluggables = [];\n this._cancelTokenSourceMap = new WeakMap();\n logger.debug('Storage Options', this._config);\n this.get = this.get.bind(this);\n this.put = this.put.bind(this);\n this.remove = this.remove.bind(this);\n this.list = this.list.bind(this);\n }\n Storage.prototype.getModuleName = function () {\n return 'Storage';\n };\n /**\n * add plugin into Storage category\n * @param {Object} pluggable - an instance of the plugin\n */\n Storage.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategory() === 'Storage') {\n this._pluggables.push(pluggable);\n var config = {};\n config = pluggable.configure(this._config[pluggable.getProviderName()]);\n return config;\n }\n };\n /**\n * Get the plugin object\n * @param providerName - the name of the plugin\n */\n Storage.prototype.getPluggable = function (providerName) {\n var pluggable = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === providerName; });\n if (pluggable === undefined) {\n logger.debug('No plugin found with providerName', providerName);\n return null;\n }\n else\n return pluggable;\n };\n /**\n * Remove the plugin object\n * @param providerName - the name of the plugin\n */\n Storage.prototype.removePluggable = function (providerName) {\n this._pluggables = this._pluggables.filter(function (pluggable) { return pluggable.getProviderName() !== providerName; });\n return;\n };\n /**\n * Configure Storage\n * @param {Object} config - Configuration object for storage\n * @return {Object} - Current configuration\n */\n Storage.prototype.configure = function (config) {\n var _this = this;\n logger.debug('configure Storage');\n if (!config)\n return this._config;\n var amplifyConfig = Parser.parseMobilehubConfig(config);\n var storageKeysFromConfig = Object.keys(amplifyConfig.Storage);\n var storageArrayKeys = [\n 'bucket',\n 'region',\n 'level',\n 'track',\n 'customPrefix',\n 'serverSideEncryption',\n 'SSECustomerAlgorithm',\n 'SSECustomerKey',\n 'SSECustomerKeyMD5',\n 'SSEKMSKeyId',\n ];\n var isInStorageArrayKeys = function (k) {\n return storageArrayKeys.some(function (x) { return x === k; });\n };\n var checkConfigKeysFromArray = function (k) {\n return k.find(function (k) { return isInStorageArrayKeys(k); });\n };\n if (storageKeysFromConfig &&\n checkConfigKeysFromArray(storageKeysFromConfig) &&\n !amplifyConfig.Storage[DEFAULT_PROVIDER]) {\n amplifyConfig.Storage[DEFAULT_PROVIDER] = {};\n }\n Object.entries(amplifyConfig.Storage).map(function (_a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n if (key && isInStorageArrayKeys(key) && value !== undefined) {\n amplifyConfig.Storage[DEFAULT_PROVIDER][key] = value;\n delete amplifyConfig.Storage[key];\n }\n });\n // only update new values for each provider\n Object.keys(amplifyConfig.Storage).forEach(function (providerName) {\n if (typeof amplifyConfig.Storage[providerName] !== 'string') {\n _this._config[providerName] = __assign(__assign({}, _this._config[providerName]), amplifyConfig.Storage[providerName]);\n }\n });\n this._pluggables.forEach(function (pluggable) {\n pluggable.configure(_this._config[pluggable.getProviderName()]);\n });\n if (this._pluggables.length === 0) {\n this.addPluggable(new AWSS3Provider());\n }\n return this._config;\n };\n Storage.prototype.getCancellableTokenSource = function () {\n return axios.CancelToken.source();\n };\n Storage.prototype.updateRequestToBeCancellable = function (request, cancelTokenSource) {\n this._cancelTokenSourceMap.set(request, cancelTokenSource);\n };\n Storage.prototype.isUploadTask = function (x) {\n return (typeof x !== 'undefined' &&\n typeof x['pause'] === 'function' &&\n typeof x['resume'] === 'function');\n };\n Storage.prototype.cancel = function (request, message) {\n if (request instanceof AWSS3UploadTask) {\n return request._cancel();\n }\n var cancelTokenSource = this._cancelTokenSourceMap.get(request);\n if (cancelTokenSource) {\n cancelTokenSource.cancel(message);\n }\n else {\n logger.debug('The request does not map to any cancel token');\n }\n };\n Storage.prototype.copy = function (src, dest, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (prov === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n var cancelTokenSource = this.getCancellableTokenSource();\n if (typeof prov.copy !== 'function') {\n return Promise.reject(\".copy is not implemented on provider \" + prov.getProviderName());\n }\n var responsePromise = prov.copy(src, dest, __assign(__assign({}, config), { cancelTokenSource: cancelTokenSource }));\n this.updateRequestToBeCancellable(responsePromise, cancelTokenSource);\n return responsePromise;\n };\n Storage.prototype.get = function (key, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (prov === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n var cancelTokenSource = this.getCancellableTokenSource();\n var responsePromise = prov.get(key, __assign(__assign({}, config), { cancelTokenSource: cancelTokenSource }));\n this.updateRequestToBeCancellable(responsePromise, cancelTokenSource);\n return responsePromise;\n };\n Storage.prototype.isCancelError = function (error) {\n return axios.isCancel(error);\n };\n Storage.prototype.put = function (key, object, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (prov === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n var cancelTokenSource = this.getCancellableTokenSource();\n var response = prov.put(key, object, __assign(__assign({}, config), { cancelTokenSource: cancelTokenSource }));\n if (!this.isUploadTask(response)) {\n this.updateRequestToBeCancellable(response, cancelTokenSource);\n }\n return response;\n };\n Storage.prototype.remove = function (key, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (prov === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n return prov.remove(key, config);\n };\n Storage.prototype.list = function (path, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (prov === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n return prov.list(path, config);\n };\n return Storage;\n}());\nexport { Storage };\n/**\n * @deprecated use named import\n */\nexport default Storage;\n//# sourceMappingURL=Storage.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { Storage as StorageClass } from './Storage';\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('Storage');\nvar _instance = null;\nvar getInstance = function () {\n if (_instance) {\n return _instance;\n }\n logger.debug('Create Storage Instance, debug');\n _instance = new StorageClass();\n _instance.vault = new StorageClass();\n var old_configure = _instance.configure;\n _instance.configure = function (options) {\n logger.debug('storage configure called');\n var vaultConfig = __assign({}, old_configure.call(_instance, options));\n // set level private for each provider for the vault\n Object.keys(vaultConfig).forEach(function (providerName) {\n if (typeof vaultConfig[providerName] !== 'string') {\n vaultConfig[providerName] = __assign(__assign({}, vaultConfig[providerName]), { level: 'private' });\n }\n });\n logger.debug('storage vault configure called');\n _instance.vault.configure(vaultConfig);\n };\n return _instance;\n};\nexport var Storage = getInstance();\nAmplify.register(Storage);\n/**\n * @deprecated use named import\n */\nexport default Storage;\nexport { StorageClass };\nexport * from './providers';\n//# sourceMappingURL=index.js.map","import { AuthErrorStrings } from '@aws-amplify/auth';\nvar AuthStrings;\n(function (AuthStrings) {\n AuthStrings[\"BACK_TO_SIGN_IN\"] = \"Back to Sign In\";\n AuthStrings[\"CHANGE_PASSWORD_ACTION\"] = \"Change\";\n AuthStrings[\"CHANGE_PASSWORD\"] = \"Change Password\";\n AuthStrings[\"CODE_LABEL\"] = \"Verification code\";\n AuthStrings[\"CODE_PLACEHOLDER\"] = \"Enter code\";\n AuthStrings[\"CONFIRM_SIGN_UP_CODE_LABEL\"] = \"Confirmation Code\";\n AuthStrings[\"CONFIRM_SIGN_UP_CODE_PLACEHOLDER\"] = \"Enter your code\";\n AuthStrings[\"CONFIRM_SIGN_UP_HEADER_TEXT\"] = \"Confirm Sign up\";\n AuthStrings[\"CONFIRM_SIGN_UP_LOST_CODE\"] = \"Lost your code?\";\n AuthStrings[\"CONFIRM_SIGN_UP_RESEND_CODE\"] = \"Resend Code\";\n AuthStrings[\"CONFIRM_SIGN_UP_SUBMIT_BUTTON_TEXT\"] = \"Confirm\";\n AuthStrings[\"CONFIRM_SMS_CODE\"] = \"Confirm SMS Code\";\n AuthStrings[\"CONFIRM_TOTP_CODE\"] = \"Confirm TOTP Code\";\n AuthStrings[\"CONFIRM\"] = \"Confirm\";\n AuthStrings[\"CREATE_ACCOUNT_TEXT\"] = \"Create account\";\n AuthStrings[\"EMAIL_LABEL\"] = \"Email Address *\";\n AuthStrings[\"EMAIL_PLACEHOLDER\"] = \"Enter your email address\";\n AuthStrings[\"FORGOT_PASSWORD_TEXT\"] = \"Forgot your password?\";\n AuthStrings[\"LESS_THAN_TWO_MFA_VALUES_MESSAGE\"] = \"Less than two MFA types available\";\n AuthStrings[\"NEW_PASSWORD_LABEL\"] = \"New password\";\n AuthStrings[\"NEW_PASSWORD_PLACEHOLDER\"] = \"Enter your new password\";\n AuthStrings[\"NO_ACCOUNT_TEXT\"] = \"No account?\";\n AuthStrings[\"USERNAME_REMOVE_WHITESPACE\"] = \"Username cannot contain whitespace\";\n AuthStrings[\"PASSWORD_REMOVE_WHITESPACE\"] = \"Password cannot start or end with whitespace\";\n AuthStrings[\"PASSWORD_LABEL\"] = \"Password *\";\n AuthStrings[\"PASSWORD_PLACEHOLDER\"] = \"Enter your password\";\n AuthStrings[\"PHONE_LABEL\"] = \"Phone Number *\";\n AuthStrings[\"PHONE_PLACEHOLDER\"] = \"(555) 555-1212\";\n AuthStrings[\"QR_CODE_ALT\"] = \"qrcode\";\n AuthStrings[\"RESET_PASSWORD_TEXT\"] = \"Reset password\";\n AuthStrings[\"RESET_YOUR_PASSWORD\"] = \"Reset your password\";\n AuthStrings[\"SELECT_MFA_TYPE_HEADER_TEXT\"] = \"Select MFA Type\";\n AuthStrings[\"SELECT_MFA_TYPE_SUBMIT_BUTTON_TEXT\"] = \"Verify\";\n AuthStrings[\"SEND_CODE\"] = \"Send Code\";\n AuthStrings[\"SUBMIT\"] = \"Submit\";\n AuthStrings[\"SETUP_TOTP_REQUIRED\"] = \"TOTP needs to be configured\";\n AuthStrings[\"SIGN_IN_ACTION\"] = \"Sign In\";\n AuthStrings[\"SIGN_IN_HEADER_TEXT\"] = \"Sign in to your account\";\n AuthStrings[\"SIGN_IN_TEXT\"] = \"Sign in\";\n AuthStrings[\"SIGN_IN_WITH_AMAZON\"] = \"Sign in with Amazon\";\n AuthStrings[\"SIGN_IN_WITH_AUTH0\"] = \"Sign in with Auth0\";\n AuthStrings[\"SIGN_IN_WITH_AWS\"] = \"Sign in with AWS\";\n AuthStrings[\"SIGN_IN_WITH_FACEBOOK\"] = \"Sign in with Facebook\";\n AuthStrings[\"SIGN_IN_WITH_GOOGLE\"] = \"Sign in with Google\";\n AuthStrings[\"SIGN_OUT\"] = \"Sign Out\";\n AuthStrings[\"SIGN_UP_EMAIL_PLACEHOLDER\"] = \"Email\";\n AuthStrings[\"SIGN_UP_HAVE_ACCOUNT_TEXT\"] = \"Have an account?\";\n AuthStrings[\"SIGN_UP_HEADER_TEXT\"] = \"Create a new account\";\n AuthStrings[\"SIGN_UP_PASSWORD_PLACEHOLDER\"] = \"Password\";\n AuthStrings[\"SIGN_UP_SUBMIT_BUTTON_TEXT\"] = \"Create Account\";\n AuthStrings[\"SIGN_UP_USERNAME_PLACEHOLDER\"] = \"Username\";\n AuthStrings[\"SKIP\"] = \"Skip\";\n AuthStrings[\"SUCCESS_MFA_TYPE\"] = \"Success! Your MFA Type is now:\";\n AuthStrings[\"TOTP_HEADER_TEXT\"] = \"Scan then enter verification code\";\n AuthStrings[\"TOTP_LABEL\"] = \"Enter Security Code:\";\n AuthStrings[\"TOTP_ISSUER\"] = \"AWSCognito\";\n AuthStrings[\"TOTP_SETUP_FAILURE\"] = \"TOTP Setup has failed\";\n AuthStrings[\"TOTP_SUBMIT_BUTTON_TEXT\"] = \"Verify Security Token\";\n AuthStrings[\"TOTP_SUCCESS_MESSAGE\"] = \"Setup TOTP successfully!\";\n AuthStrings[\"UNABLE_TO_SETUP_MFA_AT_THIS_TIME\"] = \"Failed! Unable to configure MFA at this time\";\n AuthStrings[\"USERNAME_LABEL\"] = \"Username *\";\n AuthStrings[\"USERNAME_PLACEHOLDER\"] = \"Enter your username\";\n AuthStrings[\"VERIFY_CONTACT_EMAIL_LABEL\"] = \"Email\";\n AuthStrings[\"VERIFY_CONTACT_HEADER_TEXT\"] = \"Account recovery requires verified contact information\";\n AuthStrings[\"VERIFY_CONTACT_PHONE_LABEL\"] = \"Phone Number\";\n AuthStrings[\"VERIFY_CONTACT_SUBMIT_LABEL\"] = \"Submit\";\n AuthStrings[\"VERIFY_CONTACT_VERIFY_LABEL\"] = \"Verify\";\n AuthStrings[\"ADDRESS_LABEL\"] = \"Address\";\n AuthStrings[\"ADDRESS_PLACEHOLDER\"] = \"Enter your address\";\n AuthStrings[\"NICKNAME_LABEL\"] = \"Nickname\";\n AuthStrings[\"NICKNAME_PLACEHOLDER\"] = \"Enter your nickname\";\n AuthStrings[\"BIRTHDATE_LABEL\"] = \"Birthday\";\n AuthStrings[\"BIRTHDATE_PLACEHOLDER\"] = \"Enter your birthday\";\n AuthStrings[\"PICTURE_LABEL\"] = \"Picture URL\";\n AuthStrings[\"PICTURE_PLACEHOLDER\"] = \"Enter your picture URL\";\n AuthStrings[\"FAMILY_NAME_LABEL\"] = \"Family Name\";\n AuthStrings[\"FAMILY_NAME_PLACEHOLDER\"] = \"Enter your family name\";\n AuthStrings[\"PREFERRED_USERNAME_LABEL\"] = \"Preferred Username\";\n AuthStrings[\"PREFERRED_USERNAME_PLACEHOLDER\"] = \"Enter your preferred username\";\n AuthStrings[\"GENDER_LABEL\"] = \"Gender\";\n AuthStrings[\"GENDER_PLACEHOLDER\"] = \"Enter your gender\";\n AuthStrings[\"PROFILE_LABEL\"] = \"Profile URL\";\n AuthStrings[\"PROFILE_PLACEHOLDER\"] = \"Enter your profile URL\";\n AuthStrings[\"GIVEN_NAME_LABEL\"] = \"First Name\";\n AuthStrings[\"GIVEN_NAME_PLACEHOLDER\"] = \"Enter your first name\";\n AuthStrings[\"ZONEINFO_LABEL\"] = \"Time zone\";\n AuthStrings[\"ZONEINFO_PLACEHOLDER\"] = \"Enter your time zone\";\n AuthStrings[\"LOCALE_LABEL\"] = \"Locale\";\n AuthStrings[\"LOCALE_PLACEHOLDER\"] = \"Enter your locale\";\n AuthStrings[\"UPDATED_AT_LABEL\"] = \"Updated At\";\n AuthStrings[\"UPDATED_AT_PLACEHOLDER\"] = \"Enter the time the information was last updated\";\n AuthStrings[\"MIDDLE_NAME_LABEL\"] = \"Middle Name\";\n AuthStrings[\"MIDDLE_NAME_PLACEHOLDER\"] = \"Enter your middle name\";\n AuthStrings[\"WEBSITE_LABEL\"] = \"Website\";\n AuthStrings[\"WEBSITE_PLACEHOLDER\"] = \"Enter your website\";\n AuthStrings[\"NAME_LABEL\"] = \"Full Name\";\n AuthStrings[\"NAME_PLACEHOLDER\"] = \"Enter your full name\";\n AuthStrings[\"PHOTO_PICKER_TITLE\"] = \"Picker Title\";\n AuthStrings[\"PHOTO_PICKER_HINT\"] = \"Ancillary text or content may occupy this space here\";\n AuthStrings[\"PHOTO_PICKER_PLACEHOLDER_HINT\"] = \"Placeholder hint\";\n AuthStrings[\"PHOTO_PICKER_BUTTON_TEXT\"] = \"Button\";\n AuthStrings[\"IMAGE_PICKER_TITLE\"] = \"Add Profile Photo\";\n AuthStrings[\"IMAGE_PICKER_HINT\"] = \"Preview the image before upload\";\n AuthStrings[\"IMAGE_PICKER_PLACEHOLDER_HINT\"] = \"Tap to image select\";\n AuthStrings[\"IMAGE_PICKER_BUTTON_TEXT\"] = \"Upload\";\n AuthStrings[\"PICKER_TEXT\"] = \"Pick a file\";\n AuthStrings[\"TEXT_FALLBACK_CONTENT\"] = \"Fallback Content\";\n AuthStrings[\"CONFIRM_SIGN_UP_FAILED\"] = \"Confirm Sign Up Failed\";\n AuthStrings[\"SIGN_UP_FAILED\"] = \"Sign Up Failed\";\n})(AuthStrings || (AuthStrings = {}));\nvar InteractionsStrings;\n(function (InteractionsStrings) {\n InteractionsStrings[\"CHATBOT_TITLE\"] = \"ChatBot Lex\";\n InteractionsStrings[\"TEXT_INPUT_PLACEHOLDER\"] = \"Write a message\";\n InteractionsStrings[\"VOICE_INPUT_PLACEHOLDER\"] = \"Click mic to speak\";\n InteractionsStrings[\"CHAT_DISABLED_ERROR\"] = \"Error: Either voice or text must be enabled for the chatbot\";\n InteractionsStrings[\"NO_BOT_NAME_ERROR\"] = \"Error: Bot name must be provided to ChatBot\";\n})(InteractionsStrings || (InteractionsStrings = {}));\nvar Translations = Object.assign(Object.assign(Object.assign({}, AuthStrings), AuthErrorStrings), InteractionsStrings);\nexport { Translations as T };\n","// TODO: Move these values to or extract them from the Cognito Provider in the Auth category for Auth V2\nvar AuthState;\n(function (AuthState) {\n AuthState[\"SignUp\"] = \"signup\";\n AuthState[\"SignOut\"] = \"signout\";\n AuthState[\"SignIn\"] = \"signin\";\n AuthState[\"Loading\"] = \"loading\";\n AuthState[\"SignedOut\"] = \"signedout\";\n AuthState[\"SignedIn\"] = \"signedin\";\n AuthState[\"SigningUp\"] = \"signingup\";\n AuthState[\"ConfirmSignUp\"] = \"confirmSignUp\";\n AuthState[\"confirmingSignUpCustomFlow\"] = \"confirmsignupcustomflow\";\n AuthState[\"ConfirmSignIn\"] = \"confirmSignIn\";\n AuthState[\"confirmingSignInCustomFlow\"] = \"confirmingsignincustomflow\";\n AuthState[\"VerifyingAttributes\"] = \"verifyingattributes\";\n AuthState[\"ForgotPassword\"] = \"forgotpassword\";\n AuthState[\"ResetPassword\"] = \"resettingpassword\";\n AuthState[\"SettingMFA\"] = \"settingMFA\";\n AuthState[\"TOTPSetup\"] = \"TOTPSetup\";\n AuthState[\"CustomConfirmSignIn\"] = \"customConfirmSignIn\";\n AuthState[\"VerifyContact\"] = \"verifyContact\";\n})(AuthState || (AuthState = {}));\nvar MfaOption;\n(function (MfaOption) {\n MfaOption[\"TOTP\"] = \"TOTP\";\n MfaOption[\"SMS\"] = \"SMS\";\n MfaOption[\"NOMFA\"] = \"NOMFA\";\n})(MfaOption || (MfaOption = {}));\nvar ChallengeName;\n(function (ChallengeName) {\n ChallengeName[\"SoftwareTokenMFA\"] = \"SOFTWARE_TOKEN_MFA\";\n ChallengeName[\"SMSMFA\"] = \"SMS_MFA\";\n ChallengeName[\"NewPasswordRequired\"] = \"NEW_PASSWORD_REQUIRED\";\n ChallengeName[\"MFASetup\"] = \"MFA_SETUP\";\n ChallengeName[\"CustomChallenge\"] = \"CUSTOM_CHALLENGE\";\n})(ChallengeName || (ChallengeName = {}));\nvar AuthFormField;\n(function (AuthFormField) {\n AuthFormField[\"Password\"] = \"password\";\n})(AuthFormField || (AuthFormField = {}));\nvar UsernameAlias;\n(function (UsernameAlias) {\n UsernameAlias[\"username\"] = \"username\";\n UsernameAlias[\"email\"] = \"email\";\n UsernameAlias[\"phone_number\"] = \"phone_number\";\n})(UsernameAlias || (UsernameAlias = {}));\nexport { AuthState as A, ChallengeName as C, MfaOption as M, UsernameAlias as U, AuthFormField as a };\n","// Dictionaries\n// fieldId constants\nvar USERNAME_SUFFIX = 'username';\nvar EMAIL_SUFFIX = 'email';\nvar CODE_SUFFIX = 'code';\nvar PHONE_SUFFIX = 'phone';\nvar PASSWORD_SUFFIX = 'password';\n// Country Dial Code common constants\nvar COUNTRY_DIAL_CODE_SUFFIX = 'country-dial-code-select';\nvar COUNTRY_DIAL_CODE_DEFAULT = '+1';\n// Auth Keys\nvar AUTH_SOURCE_KEY = 'amplify-auth-source';\n// Error message Common Constants\nvar PHONE_EMPTY_ERROR_MESSAGE = 'Phone number can not be empty';\nvar NO_AUTH_MODULE_FOUND = 'No Auth module found, please ensure @aws-amplify/auth is imported';\nvar NO_STORAGE_MODULE_FOUND = 'No Storage module found, please ensure @aws-amplify/storage is imported';\nvar NO_INTERACTIONS_MODULE_FOUND = 'No Interactions module found, please ensure @aws-amplify/interactions is imported';\n// Select MFA Types Messages\nvar USER_NOT_SETUP_SOFTWARE_TOKEN_MFA = 'User has not set up software token mfa';\nvar USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA = 'User has not verified software token mfa';\n// Hub Events and Channels\nvar AUTH_CHANNEL = 'auth';\nvar UI_AUTH_CHANNEL = 'UI Auth';\nvar TOAST_AUTH_ERROR_EVENT = 'ToastAuthError';\nvar AUTH_STATE_CHANGE_EVENT = 'AuthStateChange';\nexport { AUTH_CHANNEL as A, COUNTRY_DIAL_CODE_SUFFIX as C, EMAIL_SUFFIX as E, NO_AUTH_MODULE_FOUND as N, PHONE_EMPTY_ERROR_MESSAGE as P, TOAST_AUTH_ERROR_EVENT as T, UI_AUTH_CHANNEL as U, AUTH_STATE_CHANGE_EVENT as a, PHONE_SUFFIX as b, NO_INTERACTIONS_MODULE_FOUND as c, NO_STORAGE_MODULE_FOUND as d, USER_NOT_SETUP_SOFTWARE_TOKEN_MFA as e, USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA as f, COUNTRY_DIAL_CODE_DEFAULT as g, AUTH_SOURCE_KEY as h, CODE_SUFFIX as i, PASSWORD_SUFFIX as j, USERNAME_SUFFIX as k };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { Logger, Hub, I18n } from '@aws-amplify/core';\nimport { U as UsernameAlias, A as AuthState } from './auth-types-78df304e.js';\nimport Auth from '@aws-amplify/auth';\nimport { T as Translations } from './Translations-108d469f.js';\nimport { U as UI_AUTH_CHANNEL, T as TOAST_AUTH_ERROR_EVENT, a as AUTH_STATE_CHANGE_EVENT, P as PHONE_EMPTY_ERROR_MESSAGE, C as COUNTRY_DIAL_CODE_SUFFIX, b as PHONE_SUFFIX } from './constants-c8ecaa24.js';\nvar logger = new Logger('helpers');\n/**\n * Finds closest element that matches the selector from the ancestor tree.\n * Trasverses through shadow DOM and slots.\n *\n * Adpated from: https://stackoverflow.com/a/56105394\n */\nvar closestElement = function (selector, base) {\n function _closestFrom(el) {\n if (!el || el === document || el === window)\n return null;\n if (el.matches(selector))\n return base; // return if current element matches the selector\n if (el.assignedSlot)\n el = el.assignedSlot; // traverse up slots if slotted\n var found = el.closest(selector);\n return found ? found : _closestFrom(el.getRootNode().host); // try to traverse up shadows\n }\n return _closestFrom(base);\n};\nvar dispatchToastHubEvent = function (error) {\n Hub.dispatch(UI_AUTH_CHANNEL, {\n event: TOAST_AUTH_ERROR_EVENT,\n message: I18n.get(error.message),\n });\n};\nvar dispatchAuthStateChangeEvent = function (nextAuthState, data) {\n Hub.dispatch(UI_AUTH_CHANNEL, {\n event: AUTH_STATE_CHANGE_EVENT,\n message: nextAuthState,\n data: data,\n });\n};\nvar composePhoneNumberInput = function (phoneNumber) {\n if (!phoneNumber.phoneNumberValue) {\n throw new Error(PHONE_EMPTY_ERROR_MESSAGE);\n }\n var sanitizedPhoneNumberValue = phoneNumber.phoneNumberValue.replace(/[-()\\s]/g, '');\n return \"\" + phoneNumber.countryDialCodeValue + sanitizedPhoneNumberValue;\n};\nvar checkUsernameAlias = function (usernameAlias) {\n if (!(usernameAlias in UsernameAlias)) {\n throw new Error(\"Invalid username Alias - \" + usernameAlias + \". Instead use \" + Object.values(UsernameAlias));\n }\n};\nvar onAuthUIStateChange = function (authStateHandler) {\n var authUIStateHandler = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var payload, _a, user, e_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n payload = data.payload;\n _a = payload.event;\n switch (_a) {\n case AUTH_STATE_CHANGE_EVENT: return [3 /*break*/, 1];\n }\n return [3 /*break*/, 8];\n case 1:\n if (!payload.message) return [3 /*break*/, 7];\n if (!(payload.message === AuthState.SignedIn)) return [3 /*break*/, 6];\n _b.label = 2;\n case 2:\n _b.trys.push([2, 4, , 5]);\n return [4 /*yield*/, Auth.currentAuthenticatedUser()];\n case 3:\n user = _b.sent();\n authStateHandler(payload.message, user);\n return [3 /*break*/, 5];\n case 4:\n e_1 = _b.sent();\n logger.error('User is not authenticated');\n return [3 /*break*/, 5];\n case 5: return [3 /*break*/, 7];\n case 6:\n authStateHandler(payload.message, payload.data);\n _b.label = 7;\n case 7: return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n }); };\n Hub.listen(UI_AUTH_CHANNEL, authUIStateHandler);\n var unsubscribe = function () {\n // Replace user's `authStateHandler` with a noop so that we don't trigger side-effects during the async `authUIStateHandler` when unsubscribed\n authStateHandler = function () { };\n Hub.remove(UI_AUTH_CHANNEL, authUIStateHandler);\n };\n return unsubscribe;\n};\nvar isHintValid = function (field) {\n return !(field['hint'] === null || typeof field['hint'] === 'string');\n};\n// Required attributes come from https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims\nvar getRequiredAttributesMap = function () { return ({\n address: {\n label: I18n.get(Translations.ADDRESS_LABEL),\n placeholder: I18n.get(Translations.ADDRESS_PLACEHOLDER),\n },\n nickname: {\n label: I18n.get(Translations.NICKNAME_LABEL),\n placeholder: I18n.get(Translations.NICKNAME_PLACEHOLDER),\n },\n birthdate: {\n label: I18n.get(Translations.BIRTHDATE_LABEL),\n placeholder: I18n.get(Translations.BIRTHDATE_PLACEHOLDER),\n },\n phone_number: {\n label: I18n.get(Translations.PHONE_LABEL),\n placeholder: I18n.get(Translations.PHONE_PLACEHOLDER),\n },\n email: {\n lable: I18n.get(Translations.EMAIL_LABEL),\n placeholder: I18n.get(Translations.EMAIL_PLACEHOLDER),\n },\n picture: {\n label: I18n.get(Translations.PICTURE_LABEL),\n placeholder: I18n.get(Translations.PICTURE_PLACEHOLDER),\n },\n family_name: {\n label: I18n.get(Translations.FAMILY_NAME_LABEL),\n placeholder: I18n.get(Translations.FAMILY_NAME_PLACEHOLDER),\n },\n preferred_username: {\n label: I18n.get(Translations.PREFERRED_USERNAME_LABEL),\n placeholder: I18n.get(Translations.PREFERRED_USERNAME_PLACEHOLDER),\n },\n gender: {\n label: I18n.get(Translations.GENDER_LABEL),\n placeholder: I18n.get(Translations.GENDER_PLACEHOLDER),\n },\n profile: {\n label: I18n.get(Translations.PROFILE_LABEL),\n placeholder: I18n.get(Translations.PROFILE_PLACEHOLDER),\n },\n given_name: {\n label: I18n.get(Translations.GIVEN_NAME_LABEL),\n placeholder: I18n.get(Translations.GIVEN_NAME_PLACEHOLDER),\n },\n zoneinfo: {\n label: I18n.get(Translations.ZONEINFO_LABEL),\n placeholder: I18n.get(Translations.ZONEINFO_PLACEHOLDER),\n },\n locale: {\n label: I18n.get(Translations.LOCALE_LABEL),\n placeholder: I18n.get(Translations.LOCALE_PLACEHOLDER),\n },\n updated_at: {\n label: I18n.get(Translations.UPDATED_AT_LABEL),\n placeholder: I18n.get(Translations.UPDATED_AT_PLACEHOLDER),\n },\n middle_name: {\n label: I18n.get(Translations.MIDDLE_NAME_LABEL),\n placeholder: I18n.get(Translations.MIDDLE_NAME_PLACEHOLDER),\n },\n website: {\n label: I18n.get(Translations.WEBSITE_LABEL),\n placeholder: I18n.get(Translations.WEBSITE_PLACEHOLDER),\n },\n name: {\n label: I18n.get(Translations.NAME_LABEL),\n placeholder: I18n.get(Translations.NAME_PLACEHOLDER),\n },\n}); };\nfunction handlePhoneNumberChange(event, phoneNumber) {\n var name = event.target.name;\n var value = event.target.value;\n /** Cognito expects to have a string be passed when signing up. Since the Select input is separate\n * input from the phone number input, we need to first capture both components values and combined\n * them together.\n */\n if (name === COUNTRY_DIAL_CODE_SUFFIX) {\n phoneNumber.countryDialCodeValue = value;\n }\n if (name === PHONE_SUFFIX) {\n phoneNumber.phoneNumberValue = value;\n }\n}\nexport { dispatchToastHubEvent as a, composePhoneNumberInput as b, checkUsernameAlias as c, dispatchAuthStateChangeEvent as d, closestElement as e, getRequiredAttributesMap as g, handlePhoneNumberChange as h, isHintValid as i, onAuthUIStateChange as o };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar NAMESPACE = 'amplify-ui-components';\nvar scopeId;\nvar contentRef;\nvar hostTagName;\nvar useNativeShadowDom = false;\nvar checkSlotFallbackVisibility = false;\nvar checkSlotRelocate = false;\nvar isSvgMode = false;\nvar queueCongestion = 0;\nvar queuePending = false;\nvar win = typeof window !== 'undefined' ? window : {};\nvar CSS = win.CSS;\nvar doc = win.document || { head: {} };\nvar plt = {\n $flags$: 0,\n $resourcesUrl$: '',\n jmp: function (h) { return h(); },\n raf: function (h) { return requestAnimationFrame(h); },\n ael: function (el, eventName, listener, opts) { return el.addEventListener(eventName, listener, opts); },\n rel: function (el, eventName, listener, opts) { return el.removeEventListener(eventName, listener, opts); },\n};\nvar supportsShadow = /*@__PURE__*/ (function () { return (doc.head.attachShadow + '').indexOf('[native') > -1; })();\nvar promiseResolve = function (v) { return Promise.resolve(v); };\nvar supportsConstructibleStylesheets = /*@__PURE__*/ (function () {\n try {\n new CSSStyleSheet();\n return true;\n }\n catch (e) { }\n return false;\n})();\nvar addHostEventListeners = function (elm, hostRef, listeners, attachParentListeners) {\n if (listeners) {\n listeners.map(function (_a) {\n var flags = _a[0], name = _a[1], method = _a[2];\n var target = elm;\n var handler = hostListenerProxy(hostRef, method);\n var opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(function () { return plt.rel(target, name, handler, opts); });\n });\n }\n};\nvar hostListenerProxy = function (hostRef, methodName) { return function (ev) {\n {\n if (hostRef.$flags$ & 256 /* isListenReady */) {\n // instance is ready, let's call it's member method for this event\n hostRef.$lazyInstance$[methodName](ev);\n }\n else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n }\n}; };\n// prettier-ignore\nvar hostListenerOpts = function (flags) { return (flags & 2 /* Capture */) !== 0; };\nvar HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';\nvar XLINK_NS = 'http://www.w3.org/1999/xlink';\nvar createTime = function (fnName, tagName) {\n if (tagName === void 0) { tagName = ''; }\n {\n return function () {\n return;\n };\n }\n};\nvar uniqueTime = function (key, measureText) {\n {\n return function () {\n return;\n };\n }\n};\nvar rootAppliedStyles = new WeakMap();\nvar registerStyle = function (scopeId, cssText, allowCS) {\n var style = styles.get(scopeId);\n if (supportsConstructibleStylesheets && allowCS) {\n style = (style || new CSSStyleSheet());\n style.replace(cssText);\n }\n else {\n style = cssText;\n }\n styles.set(scopeId, style);\n};\nvar addStyle = function (styleContainerNode, cmpMeta, mode, hostElm) {\n var scopeId = getScopeId(cmpMeta);\n var style = styles.get(scopeId);\n // if an element is NOT connected then getRootNode() will return the wrong root node\n // so the fallback is to always use the document for the root node in those cases\n styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;\n if (style) {\n if (typeof style === 'string') {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n var appliedStyles = rootAppliedStyles.get(styleContainerNode);\n var styleElm = void 0;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));\n }\n if (!appliedStyles.has(scopeId)) {\n {\n if (plt.$cssShim$) {\n styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style, !!(cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */));\n var newScopeId = styleElm['s-sc'];\n if (newScopeId) {\n scopeId = newScopeId;\n // we don't want to add this styleID to the appliedStyles Set\n // since the cssVarShim might need to apply several different\n // stylesheets for the same component\n appliedStyles = null;\n }\n }\n else {\n styleElm = doc.createElement('style');\n styleElm.innerHTML = style;\n }\n styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId);\n }\n }\n }\n else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = __spreadArrays(styleContainerNode.adoptedStyleSheets, [style]);\n }\n }\n return scopeId;\n};\nvar attachStyles = function (hostRef) {\n var cmpMeta = hostRef.$cmpMeta$;\n var elm = hostRef.$hostElement$;\n var flags = cmpMeta.$flags$;\n var endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);\n var scopeId = addStyle(supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$, elm);\n if (flags & 10 /* needsScopedEncapsulation */) {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n // DOM WRITE!!\n elm['s-sc'] = scopeId;\n elm.classList.add(scopeId + '-h');\n if (flags & 2 /* scopedCssEncapsulation */) {\n elm.classList.add(scopeId + '-s');\n }\n }\n endAttachStyles();\n};\nvar getScopeId = function (cmp, mode) { return 'sc-' + (cmp.$tagName$); };\n/**\n * Default style mode id\n */\n/**\n * Reusable empty obj/array\n * Don't add values to these!!\n */\nvar EMPTY_OBJ = {};\n/**\n * Namespaces\n */\nvar SVG_NS = 'http://www.w3.org/2000/svg';\nvar HTML_NS = 'http://www.w3.org/1999/xhtml';\nvar isDef = function (v) { return v != null; };\nvar isComplexType = function (o) {\n // https://jsperf.com/typeof-fn-object/5\n o = typeof o;\n return o === 'object' || o === 'function';\n};\n/**\n * Production h() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https://github.com/developit/preact/blob/master/LICENSE\n *\n * Modified for Stencil's compiler and vdom\n */\n// const stack: any[] = [];\n// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;\n// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;\nvar h = function (nodeName, vnodeData) {\n var children = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n children[_i - 2] = arguments[_i];\n }\n var child = null;\n var key = null;\n var slotName = null;\n var simple = false;\n var lastSimple = false;\n var vNodeChildren = [];\n var walk = function (c) {\n for (var i = 0; i < c.length; i++) {\n child = c[i];\n if (Array.isArray(child)) {\n walk(child);\n }\n else if (child != null && typeof child !== 'boolean') {\n if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {\n child = String(child);\n }\n if (simple && lastSimple) {\n // If the previous child was simple (string), we merge both\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n }\n else {\n // Append a new vNode, if it's text, we create a text vNode\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n // normalize class / classname attributes\n if (vnodeData.key) {\n key = vnodeData.key;\n }\n if (vnodeData.name) {\n slotName = vnodeData.name;\n }\n {\n var classData_1 = vnodeData.className || vnodeData.class;\n if (classData_1) {\n vnodeData.class =\n typeof classData_1 !== 'object'\n ? classData_1\n : Object.keys(classData_1)\n .filter(function (k) { return classData_1[k]; })\n .join(' ');\n }\n }\n }\n var vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n {\n vnode.$key$ = key;\n }\n {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nvar newVNode = function (tag, text) {\n var vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null,\n };\n {\n vnode.$attrs$ = null;\n }\n {\n vnode.$key$ = null;\n }\n {\n vnode.$name$ = null;\n }\n return vnode;\n};\nvar Host = {};\nvar isHost = function (node) { return node && node.$tag$ === Host; };\n/**\n * Production setAccessor() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https://github.com/developit/preact/blob/master/LICENSE\n *\n * Modified for Stencil's compiler and vdom\n */\nvar setAccessor = function (elm, memberName, oldValue, newValue, isSvg, flags) {\n if (oldValue !== newValue) {\n var isProp = isMemberInElement(elm, memberName);\n var ln = memberName.toLowerCase();\n if (memberName === 'class') {\n var classList = elm.classList;\n var oldClasses_1 = parseClassList(oldValue);\n var newClasses_1 = parseClassList(newValue);\n classList.remove.apply(classList, oldClasses_1.filter(function (c) { return c && !newClasses_1.includes(c); }));\n classList.add.apply(classList, newClasses_1.filter(function (c) { return c && !oldClasses_1.includes(c); }));\n }\n else if (memberName === 'style') {\n // update style attribute, css properties and values\n {\n for (var prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (prop.includes('-')) {\n elm.style.removeProperty(prop);\n }\n else {\n elm.style[prop] = '';\n }\n }\n }\n }\n for (var prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (prop.includes('-')) {\n elm.style.setProperty(prop, newValue[prop]);\n }\n else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n }\n else if (memberName === 'key')\n ;\n else if (memberName === 'ref') {\n // minifier will clean this up\n if (newValue) {\n newValue(elm);\n }\n }\n else if ((!isProp) && memberName[0] === 'o' && memberName[1] === 'n') {\n // Event Handlers\n // so if the member name starts with \"on\" and the 3rd characters is\n // a capital letter, and it's not already a member on the element,\n // then we're assuming it's an event listener\n if (memberName[2] === '-') {\n // on- prefixed events\n // allows to be explicit about the dom event to listen without any magic\n // under the hood:\n // // listens for \"click\"\n // // listens for \"Click\"\n // // listens for \"ionChange\"\n // // listens for \"EVENTS\"\n memberName = memberName.slice(3);\n }\n else if (isMemberInElement(win, ln)) {\n // standard event\n // the JSX attribute could have been \"onMouseOver\" and the\n // member name \"onmouseover\" is on the window's prototype\n // so let's add the listener \"mouseover\", which is all lowercased\n memberName = ln.slice(2);\n }\n else {\n // custom event\n // the JSX attribute could have been \"onMyCustomEvent\"\n // so let's trim off the \"on\" prefix and lowercase the first character\n // and add the listener \"myCustomEvent\"\n // except for the first character, we keep the event name case\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, false);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, false);\n }\n }\n else {\n // Set property if it exists and it's not a SVG\n var isComplex = isComplexType(newValue);\n if ((isProp || (isComplex && newValue !== null)) && !isSvg) {\n try {\n if (!elm.tagName.includes('-')) {\n var n = newValue == null ? '' : newValue;\n // Workaround for Safari, moving the caret when re-assigning the same valued\n if (memberName === 'list') {\n isProp = false;\n // tslint:disable-next-line: triple-equals\n }\n else if (oldValue == null || elm[memberName] != n) {\n elm[memberName] = n;\n }\n }\n else {\n elm[memberName] = newValue;\n }\n }\n catch (e) { }\n }\n /**\n * Need to manually update attribute if:\n * - memberName is not an attribute\n * - if we are rendering the host element in order to reflect attribute\n * - if it's a SVG, since properties might not work in \n * - if the newValue is null/undefined or 'false'.\n */\n var xlink = false;\n {\n if (ln !== (ln = ln.replace(/^xlink\\:?/, ''))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === '') {\n if (xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n }\n else {\n elm.removeAttribute(memberName);\n }\n }\n }\n else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? '' : newValue;\n if (xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n }\n else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nvar parseClassListRegex = /\\s/;\nvar parseClassList = function (value) { return (!value ? [] : value.split(parseClassListRegex)); };\nvar updateElement = function (oldVnode, newVnode, isSvgMode, memberName) {\n // if the element passed in is a shadow root, which is a document fragment\n // then we want to be adding attrs/props to the shadow root's \"host\" element\n // if it's not a shadow root, then we add attrs/props to the same element\n var elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n var oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;\n var newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n {\n // remove attributes no longer present on the vnode by setting them to undefined\n for (memberName in oldVnodeAttrs) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);\n }\n }\n }\n // add new & update changed attributes\n for (memberName in newVnodeAttrs) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);\n }\n};\nvar createElm = function (oldParentVNode, newParentVNode, childIndex, parentElm) {\n // tslint:disable-next-line: prefer-const\n var newVNode = newParentVNode.$children$[childIndex];\n var i = 0;\n var elm;\n var childNode;\n var oldVNode;\n if (!useNativeShadowDom) {\n // remember for later we need to check to relocate nodes\n checkSlotRelocate = true;\n if (newVNode.$tag$ === 'slot') {\n if (scopeId) {\n // scoped css needs to add its scoped id to the parent element\n parentElm.classList.add(scopeId + '-s');\n }\n newVNode.$flags$ |= newVNode.$children$\n ? // slot element has fallback content\n 2 /* isSlotFallback */\n : // slot element does not have fallback content\n 1 /* isSlotReference */;\n }\n }\n if (newVNode.$text$ !== null) {\n // create text node\n elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);\n }\n else if (newVNode.$flags$ & 1 /* isSlotReference */) {\n // create a slot reference node\n elm = newVNode.$elm$ = doc.createTextNode('');\n }\n else {\n if (!isSvgMode) {\n isSvgMode = newVNode.$tag$ === 'svg';\n }\n // create element\n elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */ ? 'slot-fb' : newVNode.$tag$));\n if (isSvgMode && newVNode.$tag$ === 'foreignObject') {\n isSvgMode = false;\n }\n // add css classes, attrs, props, listeners, etc.\n {\n updateElement(null, newVNode, isSvgMode);\n }\n if (isDef(scopeId) && elm['s-si'] !== scopeId) {\n // if there is a scopeId and this is the initial render\n // then let's add the scopeId as a css class\n elm.classList.add((elm['s-si'] = scopeId));\n }\n if (newVNode.$children$) {\n for (i = 0; i < newVNode.$children$.length; ++i) {\n // create the node\n childNode = createElm(oldParentVNode, newVNode, i, elm);\n // return node could have been null\n if (childNode) {\n // append our new node\n elm.appendChild(childNode);\n }\n }\n }\n {\n if (newVNode.$tag$ === 'svg') {\n // Only reset the SVG context when we're exiting element\n isSvgMode = false;\n }\n else if (elm.tagName === 'foreignObject') {\n // Reenter SVG context when we're exiting element\n isSvgMode = true;\n }\n }\n }\n {\n elm['s-hn'] = hostTagName;\n if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n // remember the content reference comment\n elm['s-sr'] = true;\n // remember the content reference comment\n elm['s-cr'] = contentRef;\n // remember the slot name, or empty string for default slot\n elm['s-sn'] = newVNode.$name$ || '';\n // check if we've got an old vnode for this slot\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {\n // we've got an old slot vnode and the wrapper is being replaced\n // so let's move the old slot content back to it's original location\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n return elm;\n};\nvar putBackInOriginalLocation = function (parentElm, recursive) {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n var oldSlotChildNodes = parentElm.childNodes;\n for (var i = oldSlotChildNodes.length - 1; i >= 0; i--) {\n var childNode = oldSlotChildNodes[i];\n if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {\n // // this child node in the old element is from another component\n // // remove this node from the old slot's parent\n // childNode.remove();\n // and relocate it back to it's original location\n parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));\n // remove the old original location comment entirely\n // later on the patch function will know what to do\n // and move this to the correct spot in need be\n childNode['s-ol'].remove();\n childNode['s-ol'] = undefined;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar addVnodes = function (parentElm, before, parentVNode, vnodes, startIdx, endIdx) {\n var containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);\n var childNode;\n if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n containerElm.insertBefore(childNode, referenceNode(before));\n }\n }\n }\n};\nvar removeVnodes = function (vnodes, startIdx, endIdx, vnode, elm) {\n for (; startIdx <= endIdx; ++startIdx) {\n if ((vnode = vnodes[startIdx])) {\n elm = vnode.$elm$;\n callNodeRefs(vnode);\n {\n // we're removing this element\n // so it's possible we need to show slot fallback content now\n checkSlotFallbackVisibility = true;\n if (elm['s-ol']) {\n // remove the original location comment\n elm['s-ol'].remove();\n }\n else {\n // it's possible that child nodes of the node\n // that's being removed are slot nodes\n putBackInOriginalLocation(elm, true);\n }\n }\n // remove the vnode's element from the dom\n elm.remove();\n }\n }\n};\nvar updateChildren = function (parentElm, oldCh, newVNode, newCh) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var idxInOld = 0;\n var i = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var node;\n var elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n // Vnode might have been moved left\n oldStartVnode = oldCh[++oldStartIdx];\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newStartVnode)) {\n patch(oldStartVnode, newStartVnode);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (isSameVnode(oldEndVnode, newEndVnode)) {\n patch(oldEndVnode, newEndVnode);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newEndVnode)) {\n // Vnode moved right\n if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode);\n parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldEndVnode, newStartVnode)) {\n // Vnode moved left\n if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode);\n parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n // createKeyToOldIdx\n idxInOld = -1;\n {\n for (i = oldStartIdx; i <= oldEndIdx; ++i) {\n if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {\n idxInOld = i;\n break;\n }\n }\n }\n if (idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);\n }\n else {\n patch(elmToMove, newStartVnode);\n oldCh[idxInOld] = undefined;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n // new element\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n {\n parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);\n }\n else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nvar isSameVnode = function (vnode1, vnode2) {\n // compare if two vnode to see if they're \"technically\" the same\n // need to have the same element tag, and same key to be the same\n if (vnode1.$tag$ === vnode2.$tag$) {\n if (vnode1.$tag$ === 'slot') {\n return vnode1.$name$ === vnode2.$name$;\n }\n {\n return vnode1.$key$ === vnode2.$key$;\n }\n }\n return false;\n};\nvar referenceNode = function (node) {\n // this node was relocated to a new location in the dom\n // because of some other component's slot\n // but we still have an html comment in place of where\n // it's original location was according to it's original vdom\n return (node && node['s-ol']) || node;\n};\nvar parentReferenceNode = function (node) { return (node['s-ol'] ? node['s-ol'] : node).parentNode; };\nvar patch = function (oldVNode, newVNode) {\n var elm = (newVNode.$elm$ = oldVNode.$elm$);\n var oldChildren = oldVNode.$children$;\n var newChildren = newVNode.$children$;\n var tag = newVNode.$tag$;\n var text = newVNode.$text$;\n var defaultHolder;\n if (text === null) {\n {\n // test if we're rendering an svg element, or still rendering nodes inside of one\n // only add this to the when the compiler sees we're using an svg somewhere\n isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;\n }\n // element node\n {\n if (tag === 'slot')\n ;\n else {\n // either this is the first render of an element OR it's an update\n // AND we already know it's possible it could have changed\n // this updates the element's css classes, attrs, props, listeners, etc.\n updateElement(oldVNode, newVNode, isSvgMode);\n }\n }\n if (oldChildren !== null && newChildren !== null) {\n // looks like there's child vnodes for both the old and new vnodes\n updateChildren(elm, oldChildren, newVNode, newChildren);\n }\n else if (newChildren !== null) {\n // no old child vnodes, but there are new child vnodes to add\n if (oldVNode.$text$ !== null) {\n // the old vnode was text, so be sure to clear it out\n elm.textContent = '';\n }\n // add the new vnode children\n addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);\n }\n else if (oldChildren !== null) {\n // no new child vnodes, but there are old child vnodes to remove\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (isSvgMode && tag === 'svg') {\n isSvgMode = false;\n }\n }\n else if ((defaultHolder = elm['s-cr'])) {\n // this element has slotted content\n defaultHolder.parentNode.textContent = text;\n }\n else if (oldVNode.$text$ !== text) {\n // update the text content for the text only vnode\n // and also only if the text is different than before\n elm.data = text;\n }\n};\nvar updateFallbackSlotVisibility = function (elm) {\n // tslint:disable-next-line: prefer-const\n var childNodes = elm.childNodes;\n var childNode;\n var i;\n var ilen;\n var j;\n var slotNameAttr;\n var nodeType;\n for (i = 0, ilen = childNodes.length; i < ilen; i++) {\n childNode = childNodes[i];\n if (childNode.nodeType === 1 /* ElementNode */) {\n if (childNode['s-sr']) {\n // this is a slot fallback node\n // get the slot name for this slot reference node\n slotNameAttr = childNode['s-sn'];\n // by default always show a fallback slot node\n // then hide it if there are other slots in the light dom\n childNode.hidden = false;\n for (j = 0; j < ilen; j++) {\n if (childNodes[j]['s-hn'] !== childNode['s-hn']) {\n // this sibling node is from a different component\n nodeType = childNodes[j].nodeType;\n if (slotNameAttr !== '') {\n // this is a named fallback slot node\n if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {\n childNode.hidden = true;\n break;\n }\n }\n else {\n // this is a default fallback slot node\n // any element or text node (with content)\n // should hide the default fallback slot node\n if (nodeType === 1 /* ElementNode */ || (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n }\n // keep drilling down\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nvar relocateNodes = [];\nvar relocateSlotContent = function (elm) {\n // tslint:disable-next-line: prefer-const\n var childNode;\n var node;\n var hostContentNodes;\n var slotNameAttr;\n var relocateNodeData;\n var j;\n var i = 0;\n var childNodes = elm.childNodes;\n var ilen = childNodes.length;\n for (; i < ilen; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && (node = childNode['s-cr'])) {\n // first got the content reference comment node\n // then we got it's parent, which is where all the host content is in now\n hostContentNodes = node.parentNode.childNodes;\n slotNameAttr = childNode['s-sn'];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {\n // let's do some relocating to its new home\n // but never relocate a content reference node\n // that is suppose to always represent the original content location\n if (isNodeLocatedInSlot(node, slotNameAttr)) {\n // it's possible we've already decided to relocate this node\n relocateNodeData = relocateNodes.find(function (r) { return r.$nodeToRelocate$ === node; });\n // made some changes to slots\n // let's make sure we also double check\n // fallbacks are correctly hidden or shown\n checkSlotFallbackVisibility = true;\n node['s-sn'] = node['s-sn'] || slotNameAttr;\n if (relocateNodeData) {\n // previously we never found a slot home for this node\n // but turns out we did, so let's remember it now\n relocateNodeData.$slotRefNode$ = childNode;\n }\n else {\n // add to our list of nodes to relocate\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node,\n });\n }\n if (node['s-sr']) {\n relocateNodes.map(function (relocateNode) {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {\n relocateNodeData = relocateNodes.find(function (r) { return r.$nodeToRelocate$ === node; });\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n }\n else if (!relocateNodes.some(function (r) { return r.$nodeToRelocate$ === node; })) {\n // so far this element does not have a slot home, not setting slotRefNode on purpose\n // if we never find a home for this element then we'll need to hide it\n relocateNodes.push({\n $nodeToRelocate$: node,\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n relocateSlotContent(childNode);\n }\n }\n};\nvar isNodeLocatedInSlot = function (nodeToRelocate, slotNameAttr) {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {\n return true;\n }\n if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate['s-sn'] === slotNameAttr) {\n return true;\n }\n return slotNameAttr === '';\n};\nvar callNodeRefs = function (vNode) {\n {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(callNodeRefs);\n }\n};\nvar renderVdom = function (hostRef, renderFnResults) {\n var hostElm = hostRef.$hostElement$;\n var cmpMeta = hostRef.$cmpMeta$;\n var oldVNode = hostRef.$vnode$ || newVNode(null, null);\n var rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm);\n {\n scopeId = hostElm['s-sc'];\n }\n {\n contentRef = hostElm['s-cr'];\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;\n // always reset\n checkSlotFallbackVisibility = false;\n }\n // synchronous patch\n patch(oldVNode, rootVnode);\n {\n // while we're moving nodes around existing nodes, temporarily disable\n // the disconnectCallback from working\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n relocateSlotContent(rootVnode.$elm$);\n var relocateData = void 0;\n var nodeToRelocate = void 0;\n var orgLocationNode = void 0;\n var parentNodeRef = void 0;\n var insertBeforeNode = void 0;\n var refNode = void 0;\n var i = 0;\n for (; i < relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate['s-ol']) {\n // add a reference node marking this node's original location\n // keep a reference to this node for later lookups\n orgLocationNode = doc.createTextNode('');\n orgLocationNode['s-nr'] = nodeToRelocate;\n nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);\n }\n }\n for (i = 0; i < relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (relocateData.$slotRefNode$) {\n // by default we're just going to insert it directly\n // after the slot reference node\n parentNodeRef = relocateData.$slotRefNode$.parentNode;\n insertBeforeNode = relocateData.$slotRefNode$.nextSibling;\n orgLocationNode = nodeToRelocate['s-ol'];\n while ((orgLocationNode = orgLocationNode.previousSibling)) {\n refNode = orgLocationNode['s-nr'];\n if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n if (!refNode || !refNode['s-nr']) {\n insertBeforeNode = refNode;\n break;\n }\n }\n }\n if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) || nodeToRelocate.nextSibling !== insertBeforeNode) {\n // we've checked that it's worth while to relocate\n // since that the node to relocate\n // has a different next sibling or parent relocated\n if (nodeToRelocate !== insertBeforeNode) {\n if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {\n // probably a component in the index.html that doesn't have it's hostname set\n nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;\n }\n // add it back to the dom but in its new home\n parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);\n }\n }\n }\n else {\n // this node doesn't have a slot home to go to, so let's hide it\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n // done moving nodes around\n // allow the disconnect callback to work again\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n // always reset\n relocateNodes.length = 0;\n }\n};\nvar getElement = function (ref) { return (getHostRef(ref).$hostElement$); };\nvar createEvent = function (ref, name, flags) {\n var elm = getElement(ref);\n return {\n emit: function (detail) {\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail: detail,\n });\n },\n };\n};\nvar emitEvent = function (elm, name, opts) {\n var ev = new (CustomEvent)(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\nvar attachToAncestor = function (hostRef, ancestorComponent) {\n if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {\n ancestorComponent['s-p'].push(new Promise(function (r) { return (hostRef.$onRenderResolve$ = r); }));\n }\n};\nvar scheduleUpdate = function (hostRef, isInitialLoad) {\n {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n // there is no ancestorc omponent or the ancestor component\n // has already fired off its lifecycle update then\n // fire off the initial update\n var dispatch = function () { return dispatchHooks(hostRef, isInitialLoad); };\n return writeTask(dispatch);\n};\nvar dispatchHooks = function (hostRef, isInitialLoad) {\n var endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);\n var instance = hostRef.$lazyInstance$;\n var promise;\n if (isInitialLoad) {\n {\n hostRef.$flags$ |= 256 /* isListenReady */;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(function (_a) {\n var methodName = _a[0], event = _a[1];\n return safeCall(instance, methodName, event);\n });\n hostRef.$queuedListeners$ = null;\n }\n }\n {\n promise = safeCall(instance, 'componentWillLoad');\n }\n }\n endSchedule();\n return then(promise, function () { return updateComponent(hostRef, instance, isInitialLoad); });\n};\nvar updateComponent = function (hostRef, instance, isInitialLoad) {\n // updateComponent\n var elm = hostRef.$hostElement$;\n var endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);\n var rc = elm['s-rc'];\n if (isInitialLoad) {\n // DOM WRITE!\n attachStyles(hostRef);\n }\n var endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);\n {\n {\n // looks like we've got child nodes to render into this host element\n // or we need to update the css class/attrs on the host element\n // DOM WRITE!\n renderVdom(hostRef, callRender(hostRef, instance));\n }\n }\n if (plt.$cssShim$) {\n plt.$cssShim$.updateHost(elm);\n }\n if (rc) {\n // ok, so turns out there are some child host elements\n // waiting on this parent element to load\n // let's fire off all update callbacks waiting\n rc.map(function (cb) { return cb(); });\n elm['s-rc'] = undefined;\n }\n endRender();\n endUpdate();\n {\n var childrenPromises = elm['s-p'];\n var postUpdate = function () { return postUpdateComponent(hostRef); };\n if (childrenPromises.length === 0) {\n postUpdate();\n }\n else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n }\n};\nvar callRender = function (hostRef, instance) {\n try {\n instance = instance.render();\n {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n }\n catch (e) {\n consoleError(e);\n }\n return instance;\n};\nvar postUpdateComponent = function (hostRef) {\n var tagName = hostRef.$cmpMeta$.$tagName$;\n var elm = hostRef.$hostElement$;\n var endPostUpdate = createTime('postUpdate', tagName);\n var instance = hostRef.$lazyInstance$;\n var ancestorComponent = hostRef.$ancestorComponent$;\n {\n safeCall(instance, 'componentDidRender');\n }\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n {\n // DOM WRITE!\n addHydratedFlag(elm);\n }\n {\n safeCall(instance, 'componentDidLoad');\n }\n endPostUpdate();\n {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad();\n }\n }\n }\n else {\n endPostUpdate();\n }\n // load events fire from bottom to top\n // the deepest elements load first then bubbles up\n {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = undefined;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(function () { return scheduleUpdate(hostRef, false); });\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n // ( •_•)\n // ( •_•)>⌐■-■\n // (⌐■_■)\n};\nvar forceUpdate = function (ref) {\n {\n var hostRef = getHostRef(ref);\n var isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n // Returns \"true\" when the forced update was successfully scheduled\n return isConnected;\n }\n};\nvar appDidLoad = function (who) {\n // on appload\n // we have finish the first big initial render\n {\n addHydratedFlag(doc.documentElement);\n }\n {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n nextTick(function () { return emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }); });\n};\nvar safeCall = function (instance, method, arg) {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n }\n catch (e) {\n consoleError(e);\n }\n }\n return undefined;\n};\nvar then = function (promise, thenFn) {\n return promise && promise.then ? promise.then(thenFn) : thenFn();\n};\nvar addHydratedFlag = function (elm) { return (elm.classList.add('hydrated')); };\nvar parsePropertyValue = function (propValue, propType) {\n // ensure this value is of the correct prop type\n if (propValue != null && !isComplexType(propValue)) {\n if (propType & 4 /* Boolean */) {\n // per the HTML spec, any string value means it is a boolean true value\n // but we'll cheat here and say that the string \"false\" is the boolean false\n return propValue === 'false' ? false : propValue === '' || !!propValue;\n }\n if (propType & 2 /* Number */) {\n // force it to be a number\n return parseFloat(propValue);\n }\n if (propType & 1 /* String */) {\n // could have been passed as a number or boolean\n // but we still want it as a string\n return String(propValue);\n }\n // redundant return here for better minification\n return propValue;\n }\n // not sure exactly what type we want\n // so no need to change to a different type\n return propValue;\n};\nvar getValue = function (ref, propName) { return getHostRef(ref).$instanceValues$.get(propName); };\nvar setValue = function (ref, propName, newVal, cmpMeta) {\n // check our new property value against our internal value\n var hostRef = getHostRef(ref);\n var oldVal = hostRef.$instanceValues$.get(propName);\n var flags = hostRef.$flags$;\n var instance = hostRef.$lazyInstance$;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n if ((!(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && newVal !== oldVal) {\n // gadzooks! the property's value has changed!!\n // set our new value!\n hostRef.$instanceValues$.set(propName, newVal);\n if (instance) {\n // get an array of method names of watch functions to call\n if (cmpMeta.$watchers$) {\n if (flags & 128 /* isWatchReady */) {\n var watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n // this instance is watching for when this property changed\n watchMethods.map(function (watchMethodName) {\n try {\n // fire off each of the watch methods that are watching this property\n instance[watchMethodName](newVal, oldVal, propName);\n }\n catch (e) {\n consoleError(e);\n }\n });\n }\n }\n }\n if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n // looks like this value actually changed, so we've got work to do!\n // but only if we've already rendered, otherwise just chill out\n // queue that we need to do an update, but don't worry about queuing\n // up millions cuz this function ensures it only runs once\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\nvar proxyComponent = function (Cstr, cmpMeta, flags) {\n if (cmpMeta.$members$) {\n if (Cstr.watchers) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n // It's better to have a const than two Object.entries()\n var members = Object.entries(cmpMeta.$members$);\n var prototype_1 = Cstr.prototype;\n members.map(function (_a) {\n var memberName = _a[0], memberFlags = _a[1][0];\n if ((memberFlags & 31 /* Prop */ || ((flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {\n // proxyComponent - prop\n Object.defineProperty(prototype_1, memberName, {\n get: function () {\n // proxyComponent, get value\n return getValue(this, memberName);\n },\n set: function (newValue) {\n // proxyComponent, set value\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true,\n });\n }\n });\n if ((flags & 1 /* isElementConstructor */)) {\n var attrNameToPropName_1 = new Map();\n prototype_1.attributeChangedCallback = function (attrName, _oldValue, newValue) {\n var _this = this;\n plt.jmp(function () {\n var propName = attrNameToPropName_1.get(attrName);\n _this[propName] = newValue === null && typeof _this[propName] === 'boolean' ? false : newValue;\n });\n };\n // create an array of attributes to observe\n // and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(function (_a) {\n var _ = _a[0], m = _a[1];\n return m[0] & 15;\n } /* HasAttribute */) // filter to only keep props that should match attributes\n .map(function (_a) {\n var propName = _a[0], m = _a[1];\n var attrName = m[1] || propName;\n attrNameToPropName_1.set(attrName, propName);\n return attrName;\n });\n }\n }\n return Cstr;\n};\nvar initializeComponent = function (elm, hostRef, cmpMeta, hmrVersionId, Cstr) { return __awaiter(void 0, void 0, void 0, function () {\n var endLoad, endNewInstance, style_1, scopeId_1, endRegisterStyles, ancestorComponent, schedule;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0)) return [3 /*break*/, 5];\n // we haven't initialized this element yet\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n // lazy loaded components\n // request the component's implementation to be\n // wired up with the host element\n Cstr = loadModule(cmpMeta);\n if (!Cstr.then) return [3 /*break*/, 2];\n endLoad = uniqueTime();\n return [4 /*yield*/, Cstr];\n case 1:\n Cstr = _a.sent();\n endLoad();\n _a.label = 2;\n case 2:\n if (!Cstr.isProxied) {\n // we'eve never proxied this Constructor before\n // let's add the getters/setters to its prototype before\n // the first time we create an instance of the implementation\n {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n // ok, time to construct the instance\n // but let's keep track of when we start and stop\n // so that the getters/setters don't incorrectly step on data\n {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n // construct the lazy-loaded component implementation\n // passing the hostRef is very important during\n // construction in order to directly wire together the\n // host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n if (!Cstr.style) return [3 /*break*/, 5];\n style_1 = Cstr.style;\n scopeId_1 = getScopeId(cmpMeta);\n if (!!styles.has(scopeId_1)) return [3 /*break*/, 5];\n endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!(cmpMeta.$flags$ & 8) /* needsShadowDomShim */) return [3 /*break*/, 4]; /* needsShadowDomShim */\n return [4 /*yield*/, import('./shadow-css-360bb6da.js').then(function (m) { return m.scopeCss(style_1, scopeId_1, false); })];\n case 3:\n style_1 = _a.sent();\n _a.label = 4;\n case 4:\n registerStyle(scopeId_1, style_1, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n _a.label = 5;\n case 5:\n ancestorComponent = hostRef.$ancestorComponent$;\n schedule = function () { return scheduleUpdate(hostRef, true); };\n if (ancestorComponent && ancestorComponent['s-rc']) {\n // this is the intial load and this component it has an ancestor component\n // but the ancestor component has NOT fired its will update lifecycle yet\n // so let's just cool our jets and wait for the ancestor to continue first\n // this will get fired off when the ancestor component\n // finally gets around to rendering its lazy self\n // fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n return [2 /*return*/];\n }\n });\n}); };\nvar connectedCallback = function (elm) {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n var hostRef = getHostRef(elm);\n var cmpMeta = hostRef.$cmpMeta$;\n var endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n // first time this component has connected\n hostRef.$flags$ |= 1 /* hasConnected */;\n {\n // initUpdate\n // if the slot polyfill is required we'll need to put some nodes\n // in here to act as original content anchors as we move nodes around\n // host element has been connected to the DOM\n if ((cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {\n setContentReference(elm);\n }\n }\n {\n // find the first ancestor component (if there is one) and register\n // this component as one of the actively loading child components for its ancestor\n var ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n // climb up the ancestors looking for the first\n // component that hasn't finished its lifecycle update yet\n if (ancestorComponent['s-p']) {\n // we found this components first ancestor component\n // keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n // Lazy properties\n // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties\n if (cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(function (_a) {\n var memberName = _a[0], memberFlags = _a[1][0];\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n var value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n // not the first time this has connected\n // reattach any event listeners to the host\n // since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);\n }\n endConnected();\n }\n};\nvar setContentReference = function (elm) {\n // only required when we're NOT using native shadow dom (slot)\n // or this browser doesn't support native shadow dom\n // and this host element was NOT created with SSR\n // let's pick out the inner content for slot projection\n // create a node to represent where the original\n // content was first placed, which is useful later on\n var contentRefElm = (elm['s-cr'] = doc.createComment(''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nvar disconnectedCallback = function (elm) {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n var hostRef = getHostRef(elm);\n var instance = hostRef.$lazyInstance$;\n {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map(function (rmListener) { return rmListener(); });\n hostRef.$rmListeners$ = undefined;\n }\n }\n // clear CSS var-shim tracking\n if (plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n {\n safeCall(instance, 'disconnectedCallback');\n }\n }\n};\nvar bootstrapLazy = function (lazyBundles, options) {\n if (options === void 0) { options = {}; }\n var endBootstrap = createTime();\n var cmpTags = [];\n var exclude = options.exclude || [];\n var customElements = win.customElements;\n var head = doc.head;\n var metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');\n var visibilityStyle = /*@__PURE__*/ doc.createElement('style');\n var deferredConnectedCallbacks = [];\n var appLoadFallback;\n var isBootstrapping = true;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;\n {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n lazyBundles.map(function (lazyBundle) { return lazyBundle[1].map(function (compactMeta) {\n var cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n {\n cmpMeta.$members$ = compactMeta[2];\n }\n {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n {\n cmpMeta.$watchers$ = {};\n }\n if (!supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n var tagName = cmpMeta.$tagName$;\n var HostElement = /** @class */ (function (_super) {\n __extends(HostElement, _super);\n // StencilLazyHost\n function HostElement(self) {\n var _this = \n // @ts-ignore\n _super.call(this, self) || this;\n self = _this;\n registerHost(self, cmpMeta);\n if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n // this component is using shadow dom\n // and this browser supports shadow dom\n // add the read-only property \"shadowRoot\" to the host element\n // adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n return _this;\n }\n HostElement.prototype.connectedCallback = function () {\n var _this = this;\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n // connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(function () { return connectedCallback(_this); });\n }\n };\n HostElement.prototype.disconnectedCallback = function () {\n var _this = this;\n plt.jmp(function () { return disconnectedCallback(_this); });\n };\n HostElement.prototype.forceUpdate = function () {\n forceUpdate(this);\n };\n HostElement.prototype.componentOnReady = function () {\n return getHostRef(this).$onReadyPromise$;\n };\n return HostElement;\n }(HTMLElement));\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));\n }\n }); });\n {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n // Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map(function (host) { return host.connectedCallback(); });\n }\n else {\n {\n plt.jmp(function () { return (appLoadFallback = setTimeout(appDidLoad, 30)); });\n }\n }\n // Fallback appLoad event\n endBootstrap();\n};\nvar hostRefs = new WeakMap();\nvar getHostRef = function (ref) { return hostRefs.get(ref); };\nvar registerInstance = function (lazyInstance, hostRef) { return hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef); };\nvar registerHost = function (elm, cmpMeta) {\n var hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n {\n hostRef.$onReadyPromise$ = new Promise(function (r) { return (hostRef.$onReadyResolve$ = r); });\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);\n return hostRefs.set(elm, hostRef);\n};\nvar isMemberInElement = function (elm, memberName) { return memberName in elm; };\nvar consoleError = function (e) { return console.error(e); };\nvar cmpModules = /*@__PURE__*/ new Map();\nvar loadModule = function (cmpMeta, hostRef, hmrVersionId) {\n // loadModuleImport\n var exportName = cmpMeta.$tagName$.replace(/-/g, '_');\n var bundleId = cmpMeta.$lazyBundleId$;\n var module = cmpModules.get(bundleId);\n if (module) {\n return module[exportName];\n }\n return import(\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n \"./\" + bundleId + \".entry.js\" + '').then(function (importedModule) {\n {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nvar styles = new Map();\nvar queueDomReads = [];\nvar queueDomWrites = [];\nvar queueDomWritesLow = [];\nvar queueTask = function (queue, write) { return function (cb) {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n}; };\nvar consume = function (queue) {\n for (var i = 0; i < queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nvar consumeTimeout = function (queue, timeout) {\n var i = 0;\n var ts = 0;\n while (i < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nvar flush = function () {\n {\n queueCongestion++;\n }\n // always force a bunch of medium callbacks to run, but still have\n // a throttle on how many can run in a certain time\n // DOM READS!!!\n consume(queueDomReads);\n // DOM WRITES!!!\n {\n var timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */ ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 / 10.0)) : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push.apply(queueDomWritesLow, queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0)) {\n // still more to do yet, but we've run out of time\n // let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n};\nvar nextTick = /*@__PURE__*/ function (cb) { return promiseResolve().then(cb); };\nvar writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);\nexport { CSS as C, Host as H, NAMESPACE as N, promiseResolve as a, bootstrapLazy as b, createEvent as c, doc as d, getElement as g, h, plt as p, registerInstance as r, win as w };\n","var AccessLevel;\n(function (AccessLevel) {\n AccessLevel[\"Public\"] = \"public\";\n AccessLevel[\"Private\"] = \"private\";\n AccessLevel[\"Protected\"] = \"protected\";\n})(AccessLevel || (AccessLevel = {}));\nexport { AccessLevel as A };\n","!function(t,_){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=_():\"function\"==typeof define&&define.amd?define(\"aws_amplify_ui\",[],_):\"object\"==typeof exports?exports.aws_amplify_ui=_():t.aws_amplify_ui=_()}(this,(function(){return function(t){var _={};function n(o){if(_[o])return _[o].exports;var e=_[o]={i:o,l:!1,exports:{}};return t[o].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=t,n.c=_,n.d=function(t,_,o){n.o(t,_)||Object.defineProperty(t,_,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,_){if(1&_&&(t=n(t)),8&_)return t;if(4&_&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&_&&\"string\"!=typeof t)for(var e in t)n.d(o,e,function(_){return t[_]}.bind(null,e));return o},n.n=function(t){var _=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(_,\"a\",_),_},n.o=function(t,_){return Object.prototype.hasOwnProperty.call(t,_)},n.p=\"\",n(n.s=0)}([function(t,_,n){\"use strict\";function o(t){for(var n in t)_.hasOwnProperty(n)||(_[n]=t[n])}Object.defineProperty(_,\"__esModule\",{value:!0}),o(n(1)),o(n(2)),o(n(3)),o(n(4)),o(n(5)),o(n(6)),o(n(7)),o(n(8)),o(n(9)),o(n(10)),o(n(11)),o(n(12)),o(n(13))},function(t,_,n){t.exports={a:\"Anchor__a___1_Iz8\"}},function(t,_,n){t.exports={button:\"Button__button___vS7Mv\",signInButton:\"Button__signInButton___3bUH-\",googleSignInButton:\"Button__googleSignInButton___1YiCu\",signInButtonIcon:\"Button__signInButtonIcon___ihN75\",auth0SignInButton:\"Button__auth0SignInButton___znnCj\",facebookSignInButton:\"Button__facebookSignInButton___34Txh\",amazonSignInButton:\"Button__amazonSignInButton___2EMtl\",oAuthSignInButton:\"Button__oAuthSignInButton___3UGOl\",signInButtonContent:\"Button__signInButtonContent___xqTXJ\"}},function(t,_,n){t.exports={formContainer:\"Form__formContainer___1GA3x\",formSection:\"Form__formSection___1PPvW\",formField:\"Form__formField___38Ikl\",formRow:\"Form__formRow___2mwRs\"}},function(t,_,n){t.exports={hint:\"Hint__hint___2XngB\"}},function(t,_,n){t.exports={input:\"Input__input___3e_bf\",inputLabel:\"Input__inputLabel___3VF0S\",label:\"Input__label___23sO8\",radio:\"Input__radio___2hllK\"}},function(t,_,n){t.exports={navBar:\"Nav__navBar___xtCFA\",navRight:\"Nav__navRight___1QG2J\",nav:\"Nav__nav___2Dx2Y\",navItem:\"Nav__navItem___1LtFQ\"}},function(t,_,n){t.exports={photoPickerButton:\"PhotoPicker__photoPickerButton___2XdVn\",photoPlaceholder:\"PhotoPicker__photoPlaceholder___2JXO4\",photoPlaceholderIcon:\"PhotoPicker__photoPlaceholderIcon___3Et71\"}},function(t,_,n){t.exports={container:\"Section__container___3YYTG\",actionRow:\"Section__actionRow___2LWSU\",sectionHeader:\"Section__sectionHeader___2djyg\",sectionHeaderHint:\"Section__sectionHeaderHint___3Wxdc\",sectionBody:\"Section__sectionBody___ihqqd\",sectionHeaderContent:\"Section__sectionHeaderContent___1UCqa\",sectionFooter:\"Section__sectionFooter___1T54C\",sectionFooterPrimaryContent:\"Section__sectionFooterPrimaryContent___2r9ZX\",sectionFooterSecondaryContent:\"Section__sectionFooterSecondaryContent___Nj41Q\"}},function(t,_,n){t.exports={selectInput:\"SelectInput__selectInput___3efO4\"}},function(t,_,n){t.exports={strike:\"Strike__strike___1XV1b\",strikeContent:\"Strike__strikeContent___10gLb\"}},function(t,_,n){t.exports={toast:\"Toast__toast___XXr3v\",toastClose:\"Toast__toastClose___18lU4\"}},function(t,_,n){t.exports={totpQrcode:\"Totp__totpQrcode___1crLx\"}},function(t,_,n){t.exports={sumerianSceneContainer:\"XR__sumerianSceneContainer___3nVMt\",sumerianScene:\"XR__sumerianScene___2Tt7-\",loadingOverlay:\"XR__loadingOverlay___IbqcI\",loadingContainer:\"XR__loadingContainer___2Itxb\",loadingLogo:\"XR__loadingLogo___Ub7xQ\",loadingSceneName:\"XR__loadingSceneName___3__ne\",loadingBar:\"XR__loadingBar___2vcke\",loadingBarFill:\"XR__loadingBarFill___3M-D9\",sceneErrorText:\"XR__sceneErrorText___2y0tp\",sceneBar:\"XR__sceneBar___2ShrP\",sceneName:\"XR__sceneName___1ApHr\",sceneActions:\"XR__sceneActions___7plGs\",actionButton:\"XR__actionButton___2poIM\",tooltip:\"XR__tooltip___UYyhn\",actionIcon:\"XR__actionIcon___2qnd2\",autoShowTooltip:\"XR__autoShowTooltip___V1QH7\"}}])}));\n//# sourceMappingURL=aws-amplify-ui.js.map","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar index_1 = require(\"./index\");\nvar AwsCrc32 = /** @class */ (function () {\n function AwsCrc32() {\n this.crc32 = new index_1.Crc32();\n }\n AwsCrc32.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash))\n return;\n this.crc32.update((0, util_1.convertToBuffer)(toHash));\n };\n AwsCrc32.prototype.digest = function () {\n return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {\n return (0, tslib_1.__generator)(this, function (_a) {\n return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];\n });\n });\n };\n return AwsCrc32;\n}());\nexports.AwsCrc32 = AwsCrc32;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzX2NyYzMyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2F3c19jcmMzMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQzs7OztBQUd0Qyx5Q0FBNEU7QUFDNUUsaUNBQWdDO0FBRWhDO0lBQUE7UUFDbUIsVUFBSyxHQUFHLElBQUksYUFBSyxFQUFFLENBQUM7SUFXdkMsQ0FBQztJQVRDLHlCQUFNLEdBQU4sVUFBTyxNQUFrQjtRQUN2QixJQUFJLElBQUEsa0JBQVcsRUFBQyxNQUFNLENBQUM7WUFBRSxPQUFPO1FBRWhDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUEsc0JBQWUsRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFSyx5QkFBTSxHQUFaOzs7Z0JBQ0Usc0JBQU8sSUFBQSxpQkFBVSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBQzs7O0tBQ3hDO0lBQ0gsZUFBQztBQUFELENBQUMsQUFaRCxJQVlDO0FBWlksNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgSGFzaCwgU291cmNlRGF0YSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgY29udmVydFRvQnVmZmVyLCBpc0VtcHR5RGF0YSwgbnVtVG9VaW50OCB9IGZyb20gXCJAYXdzLWNyeXB0by91dGlsXCI7XG5pbXBvcnQgeyBDcmMzMiB9IGZyb20gXCIuL2luZGV4XCI7XG5cbmV4cG9ydCBjbGFzcyBBd3NDcmMzMiBpbXBsZW1lbnRzIEhhc2gge1xuICBwcml2YXRlIHJlYWRvbmx5IGNyYzMyID0gbmV3IENyYzMyKCk7XG5cbiAgdXBkYXRlKHRvSGFzaDogU291cmNlRGF0YSkge1xuICAgIGlmIChpc0VtcHR5RGF0YSh0b0hhc2gpKSByZXR1cm47XG5cbiAgICB0aGlzLmNyYzMyLnVwZGF0ZShjb252ZXJ0VG9CdWZmZXIodG9IYXNoKSk7XG4gIH1cblxuICBhc3luYyBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIG51bVRvVWludDgodGhpcy5jcmMzMi5kaWdlc3QoKSk7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar util_1 = require(\"@aws-crypto/util\");\nfunction crc32(data) {\n return new Crc32().update(data).digest();\n}\nexports.crc32 = crc32;\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = (0, tslib_1.__values)(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexports.Crc32 = Crc32;\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);\nvar aws_crc32_1 = require(\"./aws_crc32\");\nObject.defineProperty(exports, \"AwsCrc32\", { enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlDQUFpRDtBQUVqRCxTQUFnQixLQUFLLENBQUMsSUFBZ0I7SUFDcEMsT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRkQsc0JBRUM7QUFFRDtJQUFBO1FBQ1UsYUFBUSxHQUFHLFVBQVUsQ0FBQztJQWNoQyxDQUFDO0lBWkMsc0JBQU0sR0FBTixVQUFPLElBQWdCOzs7WUFDckIsS0FBbUIsSUFBQSxTQUFBLHNCQUFBLElBQUksQ0FBQSwwQkFBQSw0Q0FBRTtnQkFBcEIsSUFBTSxJQUFJLGlCQUFBO2dCQUNiLElBQUksQ0FBQyxRQUFRO29CQUNYLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ3RFOzs7Ozs7Ozs7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxzQkFBTSxHQUFOO1FBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQyxBQWZELElBZUM7QUFmWSxzQkFBSztBQWlCbEIsa0JBQWtCO0FBQ2xCLElBQU0sYUFBYSxHQUFHO0lBQ3BCLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7SUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtJQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO0lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7Q0FDL0MsQ0FBQztBQUNGLElBQU0sV0FBVyxHQUFnQixJQUFBLHNCQUFlLEVBQUMsYUFBYSxDQUFDLENBQUE7QUFDL0QseUNBQXVDO0FBQTlCLHFHQUFBLFFBQVEsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dWludDMyQXJyYXlGcm9tfSBmcm9tIFwiQGF3cy1jcnlwdG8vdXRpbFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JjMzIoZGF0YTogVWludDhBcnJheSk6IG51bWJlciB7XG4gIHJldHVybiBuZXcgQ3JjMzIoKS51cGRhdGUoZGF0YSkuZGlnZXN0KCk7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmMzMiB7XG4gIHByaXZhdGUgY2hlY2tzdW0gPSAweGZmZmZmZmZmO1xuXG4gIHVwZGF0ZShkYXRhOiBVaW50OEFycmF5KTogdGhpcyB7XG4gICAgZm9yIChjb25zdCBieXRlIG9mIGRhdGEpIHtcbiAgICAgIHRoaXMuY2hlY2tzdW0gPVxuICAgICAgICAodGhpcy5jaGVja3N1bSA+Pj4gOCkgXiBsb29rdXBUYWJsZVsodGhpcy5jaGVja3N1bSBeIGJ5dGUpICYgMHhmZl07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBkaWdlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuY2hlY2tzdW0gXiAweGZmZmZmZmZmKSA+Pj4gMDtcbiAgfVxufVxuXG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IGFfbG9va1VwVGFibGUgPSBbXG4gIDB4MDAwMDAwMDAsIDB4NzcwNzMwOTYsIDB4RUUwRTYxMkMsIDB4OTkwOTUxQkEsXG4gIDB4MDc2REM0MTksIDB4NzA2QUY0OEYsIDB4RTk2M0E1MzUsIDB4OUU2NDk1QTMsXG4gIDB4MEVEQjg4MzIsIDB4NzlEQ0I4QTQsIDB4RTBENUU5MUUsIDB4OTdEMkQ5ODgsXG4gIDB4MDlCNjRDMkIsIDB4N0VCMTdDQkQsIDB4RTdCODJEMDcsIDB4OTBCRjFEOTEsXG4gIDB4MURCNzEwNjQsIDB4NkFCMDIwRjIsIDB4RjNCOTcxNDgsIDB4ODRCRTQxREUsXG4gIDB4MUFEQUQ0N0QsIDB4NkREREU0RUIsIDB4RjRENEI1NTEsIDB4ODNEMzg1QzcsXG4gIDB4MTM2Qzk4NTYsIDB4NjQ2QkE4QzAsIDB4RkQ2MkY5N0EsIDB4OEE2NUM5RUMsXG4gIDB4MTQwMTVDNEYsIDB4NjMwNjZDRDksIDB4RkEwRjNENjMsIDB4OEQwODBERjUsXG4gIDB4M0I2RTIwQzgsIDB4NEM2OTEwNUUsIDB4RDU2MDQxRTQsIDB4QTI2NzcxNzIsXG4gIDB4M0MwM0U0RDEsIDB4NEIwNEQ0NDcsIDB4RDIwRDg1RkQsIDB4QTUwQUI1NkIsXG4gIDB4MzVCNUE4RkEsIDB4NDJCMjk4NkMsIDB4REJCQkM5RDYsIDB4QUNCQ0Y5NDAsXG4gIDB4MzJEODZDRTMsIDB4NDVERjVDNzUsIDB4RENENjBEQ0YsIDB4QUJEMTNENTksXG4gIDB4MjZEOTMwQUMsIDB4NTFERTAwM0EsIDB4QzhENzUxODAsIDB4QkZEMDYxMTYsXG4gIDB4MjFCNEY0QjUsIDB4NTZCM0M0MjMsIDB4Q0ZCQTk1OTksIDB4QjhCREE1MEYsXG4gIDB4MjgwMkI4OUUsIDB4NUYwNTg4MDgsIDB4QzYwQ0Q5QjIsIDB4QjEwQkU5MjQsXG4gIDB4MkY2RjdDODcsIDB4NTg2ODRDMTEsIDB4QzE2MTFEQUIsIDB4QjY2NjJEM0QsXG4gIDB4NzZEQzQxOTAsIDB4MDFEQjcxMDYsIDB4OThEMjIwQkMsIDB4RUZENTEwMkEsXG4gIDB4NzFCMTg1ODksIDB4MDZCNkI1MUYsIDB4OUZCRkU0QTUsIDB4RThCOEQ0MzMsXG4gIDB4NzgwN0M5QTIsIDB4MEYwMEY5MzQsIDB4OTYwOUE4OEUsIDB4RTEwRTk4MTgsXG4gIDB4N0Y2QTBEQkIsIDB4MDg2RDNEMkQsIDB4OTE2NDZDOTcsIDB4RTY2MzVDMDEsXG4gIDB4NkI2QjUxRjQsIDB4MUM2QzYxNjIsIDB4ODU2NTMwRDgsIDB4RjI2MjAwNEUsXG4gIDB4NkMwNjk1RUQsIDB4MUIwMUE1N0IsIDB4ODIwOEY0QzEsIDB4RjUwRkM0NTcsXG4gIDB4NjVCMEQ5QzYsIDB4MTJCN0U5NTAsIDB4OEJCRUI4RUEsIDB4RkNCOTg4N0MsXG4gIDB4NjJERDFEREYsIDB4MTVEQTJENDksIDB4OENEMzdDRjMsIDB4RkJENDRDNjUsXG4gIDB4NERCMjYxNTgsIDB4M0FCNTUxQ0UsIDB4QTNCQzAwNzQsIDB4RDRCQjMwRTIsXG4gIDB4NEFERkE1NDEsIDB4M0REODk1RDcsIDB4QTREMUM0NkQsIDB4RDNENkY0RkIsXG4gIDB4NDM2OUU5NkEsIDB4MzQ2RUQ5RkMsIDB4QUQ2Nzg4NDYsIDB4REE2MEI4RDAsXG4gIDB4NDQwNDJENzMsIDB4MzMwMzFERTUsIDB4QUEwQTRDNUYsIDB4REQwRDdDQzksXG4gIDB4NTAwNTcxM0MsIDB4MjcwMjQxQUEsIDB4QkUwQjEwMTAsIDB4QzkwQzIwODYsXG4gIDB4NTc2OEI1MjUsIDB4MjA2Rjg1QjMsIDB4Qjk2NkQ0MDksIDB4Q0U2MUU0OUYsXG4gIDB4NUVERUY5MEUsIDB4MjlEOUM5OTgsIDB4QjBEMDk4MjIsIDB4QzdEN0E4QjQsXG4gIDB4NTlCMzNEMTcsIDB4MkVCNDBEODEsIDB4QjdCRDVDM0IsIDB4QzBCQTZDQUQsXG4gIDB4RURCODgzMjAsIDB4OUFCRkIzQjYsIDB4MDNCNkUyMEMsIDB4NzRCMUQyOUEsXG4gIDB4RUFENTQ3MzksIDB4OUREMjc3QUYsIDB4MDREQjI2MTUsIDB4NzNEQzE2ODMsXG4gIDB4RTM2MzBCMTIsIDB4OTQ2NDNCODQsIDB4MEQ2RDZBM0UsIDB4N0E2QTVBQTgsXG4gIDB4RTQwRUNGMEIsIDB4OTMwOUZGOUQsIDB4MEEwMEFFMjcsIDB4N0QwNzlFQjEsXG4gIDB4RjAwRjkzNDQsIDB4ODcwOEEzRDIsIDB4MUUwMUYyNjgsIDB4NjkwNkMyRkUsXG4gIDB4Rjc2MjU3NUQsIDB4ODA2NTY3Q0IsIDB4MTk2QzM2NzEsIDB4NkU2QjA2RTcsXG4gIDB4RkVENDFCNzYsIDB4ODlEMzJCRTAsIDB4MTBEQTdBNUEsIDB4NjdERDRBQ0MsXG4gIDB4RjlCOURGNkYsIDB4OEVCRUVGRjksIDB4MTdCN0JFNDMsIDB4NjBCMDhFRDUsXG4gIDB4RDZENkEzRTgsIDB4QTFEMTkzN0UsIDB4MzhEOEMyQzQsIDB4NEZERkYyNTIsXG4gIDB4RDFCQjY3RjEsIDB4QTZCQzU3NjcsIDB4M0ZCNTA2REQsIDB4NDhCMjM2NEIsXG4gIDB4RDgwRDJCREEsIDB4QUYwQTFCNEMsIDB4MzYwMzRBRjYsIDB4NDEwNDdBNjAsXG4gIDB4REY2MEVGQzMsIDB4QTg2N0RGNTUsIDB4MzE2RThFRUYsIDB4NDY2OUJFNzksXG4gIDB4Q0I2MUIzOEMsIDB4QkM2NjgzMUEsIDB4MjU2RkQyQTAsIDB4NTI2OEUyMzYsXG4gIDB4Q0MwQzc3OTUsIDB4QkIwQjQ3MDMsIDB4MjIwMjE2QjksIDB4NTUwNTI2MkYsXG4gIDB4QzVCQTNCQkUsIDB4QjJCRDBCMjgsIDB4MkJCNDVBOTIsIDB4NUNCMzZBMDQsXG4gIDB4QzJEN0ZGQTcsIDB4QjVEMENGMzEsIDB4MkNEOTlFOEIsIDB4NUJERUFFMUQsXG4gIDB4OUI2NEMyQjAsIDB4RUM2M0YyMjYsIDB4NzU2QUEzOUMsIDB4MDI2RDkzMEEsXG4gIDB4OUMwOTA2QTksIDB4RUIwRTM2M0YsIDB4NzIwNzY3ODUsIDB4MDUwMDU3MTMsXG4gIDB4OTVCRjRBODIsIDB4RTJCODdBMTQsIDB4N0JCMTJCQUUsIDB4MENCNjFCMzgsXG4gIDB4OTJEMjhFOUIsIDB4RTVENUJFMEQsIDB4N0NEQ0VGQjcsIDB4MEJEQkRGMjEsXG4gIDB4ODZEM0QyRDQsIDB4RjFENEUyNDIsIDB4NjhEREIzRjgsIDB4MUZEQTgzNkUsXG4gIDB4ODFCRTE2Q0QsIDB4RjZCOTI2NUIsIDB4NkZCMDc3RTEsIDB4MThCNzQ3NzcsXG4gIDB4ODgwODVBRTYsIDB4RkYwRjZBNzAsIDB4NjYwNjNCQ0EsIDB4MTEwMTBCNUMsXG4gIDB4OEY2NTlFRkYsIDB4Rjg2MkFFNjksIDB4NjE2QkZGRDMsIDB4MTY2Q0NGNDUsXG4gIDB4QTAwQUUyNzgsIDB4RDcwREQyRUUsIDB4NEUwNDgzNTQsIDB4MzkwM0IzQzIsXG4gIDB4QTc2NzI2NjEsIDB4RDA2MDE2RjcsIDB4NDk2OTQ3NEQsIDB4M0U2RTc3REIsXG4gIDB4QUVEMTZBNEEsIDB4RDlENjVBREMsIDB4NDBERjBCNjYsIDB4MzdEODNCRjAsXG4gIDB4QTlCQ0FFNTMsIDB4REVCQjlFQzUsIDB4NDdCMkNGN0YsIDB4MzBCNUZGRTksXG4gIDB4QkRCREYyMUMsIDB4Q0FCQUMyOEEsIDB4NTNCMzkzMzAsIDB4MjRCNEEzQTYsXG4gIDB4QkFEMDM2MDUsIDB4Q0RENzA2OTMsIDB4NTRERTU3MjksIDB4MjNEOTY3QkYsXG4gIDB4QjM2NjdBMkUsIDB4QzQ2MTRBQjgsIDB4NUQ2ODFCMDIsIDB4MkE2RjJCOTQsXG4gIDB4QjQwQkJFMzcsIDB4QzMwQzhFQTEsIDB4NUEwNURGMUIsIDB4MkQwMkVGOEQsXG5dO1xuY29uc3QgbG9va3VwVGFibGU6IFVpbnQzMkFycmF5ID0gdWludDMyQXJyYXlGcm9tKGFfbG9va1VwVGFibGUpXG5leHBvcnQgeyBBd3NDcmMzMiB9IGZyb20gXCIuL2F3c19jcmMzMlwiO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=CryptoOperation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=Key.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=KeyOperation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=MsSubtleCrypto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMsWindow = void 0;\nvar msSubtleCryptoMethods = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\nfunction quacksLikeAnMsWindow(window) {\n return \"MSInputMethodContext\" in window && \"msCrypto\" in window;\n}\n/**\n * Determines if the provided window is (or is like) the window object one would\n * expect to encounter in Internet Explorer 11.\n */\nfunction isMsWindow(window) {\n if (quacksLikeAnMsWindow(window) && window.msCrypto.subtle !== undefined) {\n var _a = window.msCrypto, getRandomValues = _a.getRandomValues, subtle_1 = _a.subtle;\n return msSubtleCryptoMethods\n .map(function (methodName) { return subtle_1[methodName]; })\n .concat(getRandomValues)\n .every(function (method) { return typeof method === \"function\"; });\n }\n return false;\n}\nexports.isMsWindow = isMsWindow;\n//# sourceMappingURL=MsWindow.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./CryptoOperation\"), exports);\ntslib_1.__exportStar(require(\"./Key\"), exports);\ntslib_1.__exportStar(require(\"./KeyOperation\"), exports);\ntslib_1.__exportStar(require(\"./MsSubtleCrypto\"), exports);\ntslib_1.__exportStar(require(\"./MsWindow\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EMPTY_DATA_SHA_256 = exports.SHA_256_HMAC_ALGO = exports.SHA_256_HASH = void 0;\nexports.SHA_256_HASH = { name: \"SHA-256\" };\nexports.SHA_256_HMAC_ALGO = {\n name: \"HMAC\",\n hash: exports.SHA_256_HASH\n};\nexports.EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFlBQVksR0FBd0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFFeEQsUUFBQSxpQkFBaUIsR0FBZ0Q7SUFDNUUsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsb0JBQVk7Q0FDbkIsQ0FBQztBQUVXLFFBQUEsa0JBQWtCLEdBQUcsSUFBSSxVQUFVLENBQUM7SUFDL0MsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEVBQUU7SUFDRixHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEVBQUU7SUFDRixHQUFHO0lBQ0gsRUFBRTtJQUNGLEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxFQUFFO0lBQ0YsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEdBQUc7SUFDSCxFQUFFO0lBQ0YsR0FBRztJQUNILEVBQUU7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU0hBXzI1Nl9IQVNIOiB7IG5hbWU6IFwiU0hBLTI1NlwiIH0gPSB7IG5hbWU6IFwiU0hBLTI1NlwiIH07XG5cbmV4cG9ydCBjb25zdCBTSEFfMjU2X0hNQUNfQUxHTzogeyBuYW1lOiBcIkhNQUNcIjsgaGFzaDogeyBuYW1lOiBcIlNIQS0yNTZcIiB9IH0gPSB7XG4gIG5hbWU6IFwiSE1BQ1wiLFxuICBoYXNoOiBTSEFfMjU2X0hBU0hcbn07XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9EQVRBX1NIQV8yNTYgPSBuZXcgVWludDhBcnJheShbXG4gIDIyNyxcbiAgMTc2LFxuICAxOTYsXG4gIDY2LFxuICAxNTIsXG4gIDI1MixcbiAgMjgsXG4gIDIwLFxuICAxNTQsXG4gIDI1MSxcbiAgMjQ0LFxuICAyMDAsXG4gIDE1MyxcbiAgMTExLFxuICAxODUsXG4gIDM2LFxuICAzOSxcbiAgMTc0LFxuICA2NSxcbiAgMjI4LFxuICAxMDAsXG4gIDE1NSxcbiAgMTQ3LFxuICA3NixcbiAgMTY0LFxuICAxNDksXG4gIDE1MyxcbiAgMjcsXG4gIDEyMCxcbiAgODIsXG4gIDE4NCxcbiAgODVcbl0pO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar ie11Sha256_1 = require(\"./ie11Sha256\");\nvar webCryptoSha256_1 = require(\"./webCryptoSha256\");\nvar sha256_js_1 = require(\"@aws-crypto/sha256-js\");\nvar supports_web_crypto_1 = require(\"@aws-crypto/supports-web-crypto\");\nvar ie11_detection_1 = require(\"@aws-crypto/ie11-detection\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n if ((0, supports_web_crypto_1.supportsWebCrypto)((0, util_locate_window_1.locateWindow)())) {\n this.hash = new webCryptoSha256_1.Sha256(secret);\n }\n else if ((0, ie11_detection_1.isMsWindow)((0, util_locate_window_1.locateWindow)())) {\n this.hash = new ie11Sha256_1.Sha256(secret);\n }\n else {\n this.hash = new sha256_js_1.Sha256(secret);\n }\n }\n Sha256.prototype.update = function (data, encoding) {\n this.hash.update(data, encoding);\n };\n Sha256.prototype.digest = function () {\n return this.hash.digest();\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NQbGF0Zm9ybVNoYTI1Ni5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcm9zc1BsYXRmb3JtU2hhMjU2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFvRDtBQUNwRCxxREFBOEQ7QUFDOUQsbURBQTJEO0FBRTNELHVFQUFvRTtBQUNwRSw2REFBd0Q7QUFDeEQsa0VBQTJEO0FBRTNEO0lBR0UsZ0JBQVksTUFBbUI7UUFDN0IsSUFBSSxJQUFBLHVDQUFpQixFQUFDLElBQUEsaUNBQVksR0FBRSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHdCQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekM7YUFBTSxJQUFJLElBQUEsMkJBQVUsRUFBQyxJQUFBLGlDQUFZLEdBQUUsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxtQkFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksa0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCx1QkFBTSxHQUFOLFVBQU8sSUFBZ0IsRUFBRSxRQUFzQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHVCQUFNLEdBQU47UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDLEFBcEJELElBb0JDO0FBcEJZLHdCQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2hhMjU2IGFzIEllMTFTaGEyNTYgfSBmcm9tIFwiLi9pZTExU2hhMjU2XCI7XG5pbXBvcnQgeyBTaGEyNTYgYXMgV2ViQ3J5cHRvU2hhMjU2IH0gZnJvbSBcIi4vd2ViQ3J5cHRvU2hhMjU2XCI7XG5pbXBvcnQgeyBTaGEyNTYgYXMgSnNTaGEyNTYgfSBmcm9tIFwiQGF3cy1jcnlwdG8vc2hhMjU2LWpzXCI7XG5pbXBvcnQgeyBIYXNoLCBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBzdXBwb3J0c1dlYkNyeXB0byB9IGZyb20gXCJAYXdzLWNyeXB0by9zdXBwb3J0cy13ZWItY3J5cHRvXCI7XG5pbXBvcnQgeyBpc01zV2luZG93IH0gZnJvbSBcIkBhd3MtY3J5cHRvL2llMTEtZGV0ZWN0aW9uXCI7XG5pbXBvcnQgeyBsb2NhdGVXaW5kb3cgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1sb2NhdGUtd2luZG93XCI7XG5cbmV4cG9ydCBjbGFzcyBTaGEyNTYgaW1wbGVtZW50cyBIYXNoIHtcbiAgcHJpdmF0ZSByZWFkb25seSBoYXNoOiBIYXNoO1xuXG4gIGNvbnN0cnVjdG9yKHNlY3JldD86IFNvdXJjZURhdGEpIHtcbiAgICBpZiAoc3VwcG9ydHNXZWJDcnlwdG8obG9jYXRlV2luZG93KCkpKSB7XG4gICAgICB0aGlzLmhhc2ggPSBuZXcgV2ViQ3J5cHRvU2hhMjU2KHNlY3JldCk7XG4gICAgfSBlbHNlIGlmIChpc01zV2luZG93KGxvY2F0ZVdpbmRvdygpKSkge1xuICAgICAgdGhpcy5oYXNoID0gbmV3IEllMTFTaGEyNTYoc2VjcmV0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNoID0gbmV3IEpzU2hhMjU2KHNlY3JldCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKGRhdGE6IFNvdXJjZURhdGEsIGVuY29kaW5nPzogXCJ1dGY4XCIgfCBcImFzY2lpXCIgfCBcImxhdGluMVwiKTogdm9pZCB7XG4gICAgdGhpcy5oYXNoLnVwZGF0ZShkYXRhLCBlbmNvZGluZyk7XG4gIH1cblxuICBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzaC5kaWdlc3QoKTtcbiAgfVxufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar isEmptyData_1 = require(\"./isEmptyData\");\nvar constants_1 = require(\"./constants\");\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n if (secret) {\n this.operation = getKeyPromise(secret).then(function (keyData) {\n return (0, util_locate_window_1.locateWindow)().msCrypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, keyData);\n });\n this.operation.catch(function () { });\n }\n else {\n this.operation = Promise.resolve((0, util_locate_window_1.locateWindow)().msCrypto.subtle.digest(\"SHA-256\"));\n }\n }\n Sha256.prototype.update = function (toHash) {\n var _this = this;\n if ((0, isEmptyData_1.isEmptyData)(toHash)) {\n return;\n }\n this.operation = this.operation.then(function (operation) {\n operation.onerror = function () {\n _this.operation = Promise.reject(new Error(\"Error encountered updating hash\"));\n };\n operation.process(toArrayBufferView(toHash));\n return operation;\n });\n this.operation.catch(function () { });\n };\n Sha256.prototype.digest = function () {\n return this.operation.then(function (operation) {\n return new Promise(function (resolve, reject) {\n operation.onerror = function () {\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n operation.oncomplete = function () {\n if (operation.result) {\n resolve(new Uint8Array(operation.result));\n }\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n operation.finish();\n });\n });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction getKeyPromise(secret) {\n return new Promise(function (resolve, reject) {\n var keyOperation = (0, util_locate_window_1.locateWindow)().msCrypto.subtle.importKey(\"raw\", toArrayBufferView(secret), constants_1.SHA_256_HMAC_ALGO, false, [\"sign\"]);\n keyOperation.oncomplete = function () {\n if (keyOperation.result) {\n resolve(keyOperation.result);\n }\n reject(new Error(\"ImportKey completed without importing key.\"));\n };\n keyOperation.onerror = function () {\n reject(new Error(\"ImportKey failed to import key.\"));\n };\n });\n}\nfunction toArrayBufferView(data) {\n if (typeof data === \"string\") {\n return (0, util_utf8_browser_1.fromUtf8)(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWUxMVNoYTI1Ni5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pZTExU2hhMjU2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1Qyx5Q0FBZ0Q7QUFFaEQsZ0VBQXNEO0FBRXRELGtFQUEyRDtBQUUzRDtJQUdFLGdCQUFZLE1BQW1CO1FBQzdCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsT0FBTztnQkFDakQsT0FBQyxJQUFBLGlDQUFZLEdBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDL0MsNkJBQWlCLEVBQ2pCLE9BQU8sQ0FDUjtZQUhELENBR0MsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBTyxDQUFDLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUM3QixJQUFBLGlDQUFZLEdBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FDL0QsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELHVCQUFNLEdBQU4sVUFBTyxNQUFrQjtRQUF6QixpQkFnQkM7UUFmQyxJQUFJLElBQUEseUJBQVcsRUFBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQUEsU0FBUztZQUM1QyxTQUFTLENBQUMsT0FBTyxHQUFHO2dCQUNsQixLQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQzdCLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQzdDLENBQUM7WUFDSixDQUFDLENBQUM7WUFDRixTQUFTLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFN0MsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCx1QkFBTSxHQUFOO1FBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsVUFBQSxTQUFTO1lBQ1AsT0FBQSxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO2dCQUMxQixTQUFTLENBQUMsT0FBTyxHQUFHO29CQUNsQixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLFVBQVUsR0FBRztvQkFDckIsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO3dCQUNwQixPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7cUJBQzNDO29CQUNELE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELENBQUMsQ0FBQztnQkFFRixTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckIsQ0FBQyxDQUFDO1FBWkYsQ0FZRSxDQUNMLENBQUM7SUFDSixDQUFDO0lBQ0gsYUFBQztBQUFELENBQUMsQUF2REQsSUF1REM7QUF2RFksd0JBQU07QUF5RG5CLFNBQVMsYUFBYSxDQUFDLE1BQWtCO0lBQ3ZDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtRQUNqQyxJQUFNLFlBQVksR0FBSSxJQUFBLGlDQUFZLEdBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDekUsS0FBSyxFQUNMLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUN6Qiw2QkFBaUIsRUFDakIsS0FBSyxFQUNMLENBQUMsTUFBTSxDQUFDLENBQ1QsQ0FBQztRQUVGLFlBQVksQ0FBQyxVQUFVLEdBQUc7WUFDeEIsSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUN2QixPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlCO1lBRUQsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFDRixZQUFZLENBQUMsT0FBTyxHQUFHO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxJQUFnQjtJQUN6QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUEsNEJBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUVELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixPQUFPLElBQUksVUFBVSxDQUNuQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQy9DLENBQUM7S0FDSDtJQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRW1wdHlEYXRhIH0gZnJvbSBcIi4vaXNFbXB0eURhdGFcIjtcbmltcG9ydCB7IFNIQV8yNTZfSE1BQ19BTEdPIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBIYXNoLCBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmcm9tVXRmOCB9IGZyb20gXCJAYXdzLXNkay91dGlsLXV0ZjgtYnJvd3NlclwiO1xuaW1wb3J0IHsgQ3J5cHRvT3BlcmF0aW9uLCBLZXksIE1zV2luZG93IH0gZnJvbSBcIkBhd3MtY3J5cHRvL2llMTEtZGV0ZWN0aW9uXCI7XG5pbXBvcnQgeyBsb2NhdGVXaW5kb3cgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1sb2NhdGUtd2luZG93XCI7XG5cbmV4cG9ydCBjbGFzcyBTaGEyNTYgaW1wbGVtZW50cyBIYXNoIHtcbiAgcHJpdmF0ZSBvcGVyYXRpb246IFByb21pc2U8Q3J5cHRvT3BlcmF0aW9uPjtcblxuICBjb25zdHJ1Y3RvcihzZWNyZXQ/OiBTb3VyY2VEYXRhKSB7XG4gICAgaWYgKHNlY3JldCkge1xuICAgICAgdGhpcy5vcGVyYXRpb24gPSBnZXRLZXlQcm9taXNlKHNlY3JldCkudGhlbihrZXlEYXRhID0+XG4gICAgICAgIChsb2NhdGVXaW5kb3coKSBhcyBNc1dpbmRvdykubXNDcnlwdG8uc3VidGxlLnNpZ24oXG4gICAgICAgICAgU0hBXzI1Nl9ITUFDX0FMR08sXG4gICAgICAgICAga2V5RGF0YVxuICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhpcy5vcGVyYXRpb24uY2F0Y2goKCkgPT4ge30pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZXJhdGlvbiA9IFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgKGxvY2F0ZVdpbmRvdygpIGFzIE1zV2luZG93KS5tc0NyeXB0by5zdWJ0bGUuZGlnZXN0KFwiU0hBLTI1NlwiKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUodG9IYXNoOiBTb3VyY2VEYXRhKTogdm9pZCB7XG4gICAgaWYgKGlzRW1wdHlEYXRhKHRvSGFzaCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9wZXJhdGlvbiA9IHRoaXMub3BlcmF0aW9uLnRoZW4ob3BlcmF0aW9uID0+IHtcbiAgICAgIG9wZXJhdGlvbi5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZXJhdGlvbiA9IFByb21pc2UucmVqZWN0KFxuICAgICAgICAgIG5ldyBFcnJvcihcIkVycm9yIGVuY291bnRlcmVkIHVwZGF0aW5nIGhhc2hcIilcbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgICBvcGVyYXRpb24ucHJvY2Vzcyh0b0FycmF5QnVmZmVyVmlldyh0b0hhc2gpKTtcblxuICAgICAgcmV0dXJuIG9wZXJhdGlvbjtcbiAgICB9KTtcbiAgICB0aGlzLm9wZXJhdGlvbi5jYXRjaCgoKSA9PiB7fSk7XG4gIH1cblxuICBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uLnRoZW48VWludDhBcnJheT4oXG4gICAgICBvcGVyYXRpb24gPT5cbiAgICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIG9wZXJhdGlvbi5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIkVycm9yIGVuY291bnRlcmVkIGZpbmFsaXppbmcgaGFzaFwiKSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBvcGVyYXRpb24ub25jb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChvcGVyYXRpb24ucmVzdWx0KSB7XG4gICAgICAgICAgICAgIHJlc29sdmUobmV3IFVpbnQ4QXJyYXkob3BlcmF0aW9uLnJlc3VsdCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIkVycm9yIGVuY291bnRlcmVkIGZpbmFsaXppbmcgaGFzaFwiKSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIG9wZXJhdGlvbi5maW5pc2goKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEtleVByb21pc2Uoc2VjcmV0OiBTb3VyY2VEYXRhKTogUHJvbWlzZTxLZXk+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBrZXlPcGVyYXRpb24gPSAobG9jYXRlV2luZG93KCkgYXMgTXNXaW5kb3cpLm1zQ3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoXG4gICAgICBcInJhd1wiLFxuICAgICAgdG9BcnJheUJ1ZmZlclZpZXcoc2VjcmV0KSxcbiAgICAgIFNIQV8yNTZfSE1BQ19BTEdPLFxuICAgICAgZmFsc2UsXG4gICAgICBbXCJzaWduXCJdXG4gICAgKTtcblxuICAgIGtleU9wZXJhdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgaWYgKGtleU9wZXJhdGlvbi5yZXN1bHQpIHtcbiAgICAgICAgcmVzb2x2ZShrZXlPcGVyYXRpb24ucmVzdWx0KTtcbiAgICAgIH1cblxuICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIkltcG9ydEtleSBjb21wbGV0ZWQgd2l0aG91dCBpbXBvcnRpbmcga2V5LlwiKSk7XG4gICAgfTtcbiAgICBrZXlPcGVyYXRpb24ub25lcnJvciA9ICgpID0+IHtcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoXCJJbXBvcnRLZXkgZmFpbGVkIHRvIGltcG9ydCBrZXkuXCIpKTtcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9BcnJheUJ1ZmZlclZpZXcoZGF0YTogU291cmNlRGF0YSk6IFVpbnQ4QXJyYXkge1xuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZnJvbVV0ZjgoZGF0YSk7XG4gIH1cblxuICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFxuICAgICAgZGF0YS5idWZmZXIsXG4gICAgICBkYXRhLmJ5dGVPZmZzZXQsXG4gICAgICBkYXRhLmJ5dGVMZW5ndGggLyBVaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgVWludDhBcnJheShkYXRhKTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebCryptoSha256 = exports.Ie11Sha256 = void 0;\nvar tslib_1 = require(\"tslib\");\n(0, tslib_1.__exportStar)(require(\"./crossPlatformSha256\"), exports);\nvar ie11Sha256_1 = require(\"./ie11Sha256\");\nObject.defineProperty(exports, \"Ie11Sha256\", { enumerable: true, get: function () { return ie11Sha256_1.Sha256; } });\nvar webCryptoSha256_1 = require(\"./webCryptoSha256\");\nObject.defineProperty(exports, \"WebCryptoSha256\", { enumerable: true, get: function () { return webCryptoSha256_1.Sha256; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFFQUFzQztBQUN0QywyQ0FBb0Q7QUFBM0Msd0dBQUEsTUFBTSxPQUFjO0FBQzdCLHFEQUE4RDtBQUFyRCxrSEFBQSxNQUFNLE9BQW1CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY3Jvc3NQbGF0Zm9ybVNoYTI1NlwiO1xuZXhwb3J0IHsgU2hhMjU2IGFzIEllMTFTaGEyNTYgfSBmcm9tIFwiLi9pZTExU2hhMjU2XCI7XG5leHBvcnQgeyBTaGEyNTYgYXMgV2ViQ3J5cHRvU2hhMjU2IH0gZnJvbSBcIi4vd2ViQ3J5cHRvU2hhMjU2XCI7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNFbXB0eURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaXNFbXB0eURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsV0FBVyxDQUFDLElBQWdCO0lBQzFDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFORCxrQ0FNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHlEYXRhKGRhdGE6IFNvdXJjZURhdGEpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGRhdGEubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcmV0dXJuIGRhdGEuYnl0ZUxlbmd0aCA9PT0gMDtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar util_1 = require(\"@aws-crypto/util\");\nvar constants_1 = require(\"./constants\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.toHash = new Uint8Array(0);\n if (secret !== void 0) {\n this.key = new Promise(function (resolve, reject) {\n (0, util_locate_window_1.locateWindow)()\n .crypto.subtle.importKey(\"raw\", (0, util_1.convertToBuffer)(secret), constants_1.SHA_256_HMAC_ALGO, false, [\"sign\"])\n .then(resolve, reject);\n });\n this.key.catch(function () { });\n }\n }\n Sha256.prototype.update = function (data) {\n if ((0, util_1.isEmptyData)(data)) {\n return;\n }\n var update = (0, util_1.convertToBuffer)(data);\n var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n };\n Sha256.prototype.digest = function () {\n var _this = this;\n if (this.key) {\n return this.key.then(function (key) {\n return (0, util_locate_window_1.locateWindow)()\n .crypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, key, _this.toHash)\n .then(function (data) { return new Uint8Array(data); });\n });\n }\n if ((0, util_1.isEmptyData)(this.toHash)) {\n return Promise.resolve(constants_1.EMPTY_DATA_SHA_256);\n }\n return Promise.resolve()\n .then(function () {\n return (0, util_locate_window_1.locateWindow)().crypto.subtle.digest(constants_1.SHA_256_HASH, _this.toHash);\n })\n .then(function (data) { return Promise.resolve(new Uint8Array(data)); });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViQ3J5cHRvU2hhMjU2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dlYkNyeXB0b1NoYTI1Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBZ0U7QUFDaEUseUNBSXFCO0FBQ3JCLGtFQUEyRDtBQUUzRDtJQUlFLGdCQUFZLE1BQW1CO1FBRnZCLFdBQU0sR0FBZSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUc3QyxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQ3JDLElBQUEsaUNBQVksR0FBRTtxQkFDWCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDdEIsS0FBSyxFQUNMLElBQUEsc0JBQWUsRUFBQyxNQUFNLENBQUMsRUFDdkIsNkJBQWlCLEVBQ2pCLEtBQUssRUFDTCxDQUFDLE1BQU0sQ0FBQyxDQUNUO3FCQUNBLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELHVCQUFNLEdBQU4sVUFBTyxJQUFnQjtRQUNyQixJQUFJLElBQUEsa0JBQVcsRUFBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxJQUFNLE1BQU0sR0FBRyxJQUFBLHNCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQzNDLENBQUM7UUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsdUJBQU0sR0FBTjtRQUFBLGlCQWtCQztRQWpCQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDdkIsT0FBQSxJQUFBLGlDQUFZLEdBQUU7cUJBQ1gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQWlCLEVBQUUsR0FBRyxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUM7cUJBQ3ZELElBQUksQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFwQixDQUFvQixDQUFDO1lBRnZDLENBRXVDLENBQ3hDLENBQUM7U0FDSDtRQUVELElBQUksSUFBQSxrQkFBVyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsOEJBQWtCLENBQUMsQ0FBQztTQUM1QztRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRTthQUNyQixJQUFJLENBQUM7WUFDSixPQUFBLElBQUEsaUNBQVksR0FBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHdCQUFZLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQztRQUE5RCxDQUE4RCxDQUMvRDthQUNBLElBQUksQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBckMsQ0FBcUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDSCxhQUFDO0FBQUQsQ0FBQyxBQXRERCxJQXNEQztBQXREWSx3QkFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc2gsIFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IGlzRW1wdHlEYXRhLCBjb252ZXJ0VG9CdWZmZXIgfSBmcm9tIFwiQGF3cy1jcnlwdG8vdXRpbFwiO1xuaW1wb3J0IHtcbiAgRU1QVFlfREFUQV9TSEFfMjU2LFxuICBTSEFfMjU2X0hBU0gsXG4gIFNIQV8yNTZfSE1BQ19BTEdPLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGxvY2F0ZVdpbmRvdyB9IGZyb20gXCJAYXdzLXNkay91dGlsLWxvY2F0ZS13aW5kb3dcIjtcblxuZXhwb3J0IGNsYXNzIFNoYTI1NiBpbXBsZW1lbnRzIEhhc2gge1xuICBwcml2YXRlIHJlYWRvbmx5IGtleTogUHJvbWlzZTxDcnlwdG9LZXk+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHRvSGFzaDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDApO1xuXG4gIGNvbnN0cnVjdG9yKHNlY3JldD86IFNvdXJjZURhdGEpIHtcbiAgICBpZiAoc2VjcmV0ICE9PSB2b2lkIDApIHtcbiAgICAgIHRoaXMua2V5ID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsb2NhdGVXaW5kb3coKVxuICAgICAgICAgIC5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICBjb252ZXJ0VG9CdWZmZXIoc2VjcmV0KSxcbiAgICAgICAgICAgIFNIQV8yNTZfSE1BQ19BTEdPLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXCJzaWduXCJdXG4gICAgICAgICAgKVxuICAgICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMua2V5LmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUoZGF0YTogU291cmNlRGF0YSk6IHZvaWQge1xuICAgIGlmIChpc0VtcHR5RGF0YShkYXRhKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZSA9IGNvbnZlcnRUb0J1ZmZlcihkYXRhKTtcbiAgICBjb25zdCB0eXBlZEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoXG4gICAgICB0aGlzLnRvSGFzaC5ieXRlTGVuZ3RoICsgdXBkYXRlLmJ5dGVMZW5ndGhcbiAgICApO1xuICAgIHR5cGVkQXJyYXkuc2V0KHRoaXMudG9IYXNoLCAwKTtcbiAgICB0eXBlZEFycmF5LnNldCh1cGRhdGUsIHRoaXMudG9IYXNoLmJ5dGVMZW5ndGgpO1xuICAgIHRoaXMudG9IYXNoID0gdHlwZWRBcnJheTtcbiAgfVxuXG4gIGRpZ2VzdCgpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICBpZiAodGhpcy5rZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmtleS50aGVuKChrZXkpID0+XG4gICAgICAgIGxvY2F0ZVdpbmRvdygpXG4gICAgICAgICAgLmNyeXB0by5zdWJ0bGUuc2lnbihTSEFfMjU2X0hNQUNfQUxHTywga2V5LCB0aGlzLnRvSGFzaClcbiAgICAgICAgICAudGhlbigoZGF0YSkgPT4gbmV3IFVpbnQ4QXJyYXkoZGF0YSkpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5RGF0YSh0aGlzLnRvSGFzaCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoRU1QVFlfREFUQV9TSEFfMjU2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgIC50aGVuKCgpID0+XG4gICAgICAgIGxvY2F0ZVdpbmRvdygpLmNyeXB0by5zdWJ0bGUuZGlnZXN0KFNIQV8yNTZfSEFTSCwgdGhpcy50b0hhc2gpXG4gICAgICApXG4gICAgICAudGhlbigoZGF0YSkgPT4gUHJvbWlzZS5yZXNvbHZlKG5ldyBVaW50OEFycmF5KGRhdGEpKSk7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RawSha256 = void 0;\nvar constants_1 = require(\"./constants\");\n/**\n * @internal\n */\nvar RawSha256 = /** @class */ (function () {\n function RawSha256() {\n this.state = Int32Array.from(constants_1.INIT);\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @internal\n */\n this.finished = false;\n }\n RawSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > constants_1.MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === constants_1.BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n RawSha256.prototype.digest = function () {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % constants_1.BLOCK_SIZE >= constants_1.BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(constants_1.BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(constants_1.BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Uint8Array(constants_1.DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return out;\n };\n RawSha256.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n 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];\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n this.temp[i] =\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\n }\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((constants_1.KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n };\n return RawSha256;\n}());\nexports.RawSha256 = RawSha256;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmF3U2hhMjU2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Jhd1NoYTI1Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FNcUI7QUFFckI7O0dBRUc7QUFDSDtJQUFBO1FBQ1UsVUFBSyxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQUksQ0FBQyxDQUFDO1FBQzFDLFNBQUksR0FBZSxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QyxXQUFNLEdBQWUsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDSCxhQUFRLEdBQVksS0FBSyxDQUFDO0lBOEk1QixDQUFDO0lBNUlDLDBCQUFNLEdBQU4sVUFBTyxJQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsSUFBQSxVQUFVLEdBQUssSUFBSSxXQUFULENBQVU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRywrQkFBbUIsRUFBRTtZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNwRCxVQUFVLEVBQUUsQ0FBQztZQUViLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxzQkFBVSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsVUFB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LENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFFbkUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QixJQUFNLElBQUUsR0FDTixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUVqRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDVixDQUFDLENBQUMsSUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsSUFBTSxFQUFFLEdBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDLENBQUM7Z0JBQ0YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsZUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUM7WUFFSixJQUFNLEVBQUUsR0FDTixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDakMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQztZQUVKLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDaEIsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ2hCLE1BQU0sR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ2hCLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDaEIsTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDbkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUNuQixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDbkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUNuQixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDbkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBeEpELElBd0pDO0FBeEpZLDhCQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQkxPQ0tfU0laRSxcbiAgRElHRVNUX0xFTkdUSCxcbiAgSU5JVCxcbiAgS0VZLFxuICBNQVhfSEFTSEFCTEVfTEVOR1RIXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgUmF3U2hhMjU2IHtcbiAgcHJpdmF0ZSBzdGF0ZTogSW50MzJBcnJheSA9IEludDMyQXJyYXkuZnJvbShJTklUKTtcbiAgcHJpdmF0ZSB0ZW1wOiBJbnQzMkFycmF5ID0gbmV3IEludDMyQXJyYXkoNjQpO1xuICBwcml2YXRlIGJ1ZmZlcjogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDY0KTtcbiAgcHJpdmF0ZSBidWZmZXJMZW5ndGg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgYnl0ZXNIYXNoZWQ6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZmluaXNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB1cGRhdGUoZGF0YTogVWludDhBcnJheSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbmlzaGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdHRlbXB0ZWQgdG8gdXBkYXRlIGFuIGFscmVhZHkgZmluaXNoZWQgaGFzaC5cIik7XG4gICAgfVxuXG4gICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICBsZXQgeyBieXRlTGVuZ3RoIH0gPSBkYXRhO1xuICAgIHRoaXMuYnl0ZXNIYXNoZWQgKz0gYnl0ZUxlbmd0aDtcblxuICAgIGlmICh0aGlzLmJ5dGVzSGFzaGVkICogOCA+IE1BWF9IQVNIQUJMRV9MRU5HVEgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBoYXNoIG1vcmUgdGhhbiAyXjUzIC0gMSBiaXRzXCIpO1xuICAgIH1cblxuICAgIHdoaWxlIChieXRlTGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5idWZmZXJbdGhpcy5idWZmZXJMZW5ndGgrK10gPSBkYXRhW3Bvc2l0aW9uKytdO1xuICAgICAgYnl0ZUxlbmd0aC0tO1xuXG4gICAgICBpZiAodGhpcy5idWZmZXJMZW5ndGggPT09IEJMT0NLX1NJWkUpIHtcbiAgICAgICAgdGhpcy5oYXNoQnVmZmVyKCk7XG4gICAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkaWdlc3QoKTogVWludDhBcnJheSB7XG4gICAgaWYgKCF0aGlzLmZpbmlzaGVkKSB7XG4gICAgICBjb25zdCBiaXRzSGFzaGVkID0gdGhpcy5ieXRlc0hhc2hlZCAqIDg7XG4gICAgICBjb25zdCBidWZmZXJWaWV3ID0gbmV3IERhdGFWaWV3KFxuICAgICAgICB0aGlzLmJ1ZmZlci5idWZmZXIsXG4gICAgICAgIHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQsXG4gICAgICAgIHRoaXMuYnVmZmVyLmJ5dGVMZW5ndGhcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHVuZGVjb3JhdGVkTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7XG4gICAgICBidWZmZXJWaWV3LnNldFVpbnQ4KHRoaXMuYnVmZmVyTGVuZ3RoKyssIDB4ODApO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGZpbmFsIGJsb2NrIGhhcyBlbm91Z2ggcm9vbSBmb3IgdGhlIGhhc2hlZCBsZW5ndGhcbiAgICAgIGlmICh1bmRlY29yYXRlZExlbmd0aCAlIEJMT0NLX1NJWkUgPj0gQkxPQ0tfU0laRSAtIDgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuYnVmZmVyTGVuZ3RoOyBpIDwgQkxPQ0tfU0laRTsgaSsrKSB7XG4gICAgICAgICAgYnVmZmVyVmlldy5zZXRVaW50OChpLCAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhc2hCdWZmZXIoKTtcbiAgICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSAwO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gdGhpcy5idWZmZXJMZW5ndGg7IGkgPCBCTE9DS19TSVpFIC0gODsgaSsrKSB7XG4gICAgICAgIGJ1ZmZlclZpZXcuc2V0VWludDgoaSwgMCk7XG4gICAgICB9XG4gICAgICBidWZmZXJWaWV3LnNldFVpbnQzMihcbiAgICAgICAgQkxPQ0tfU0laRSAtIDgsXG4gICAgICAgIE1hdGguZmxvb3IoYml0c0hhc2hlZCAvIDB4MTAwMDAwMDAwKSxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICAgIGJ1ZmZlclZpZXcuc2V0VWludDMyKEJMT0NLX1NJWkUgLSA0LCBiaXRzSGFzaGVkKTtcblxuICAgICAgdGhpcy5oYXNoQnVmZmVyKCk7XG5cbiAgICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIFRoZSB2YWx1ZSBpbiBzdGF0ZSBpcyBsaXR0bGUtZW5kaWFuIHJhdGhlciB0aGFuIGJpZy1lbmRpYW4sIHNvIGZsaXBcbiAgICAvLyBlYWNoIHdvcmQgaW50byBhIG5ldyBVaW50OEFycmF5XG4gICAgY29uc3Qgb3V0ID0gbmV3IFVpbnQ4QXJyYXkoRElHRVNUX0xFTkdUSCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA4OyBpKyspIHtcbiAgICAgIG91dFtpICogNF0gPSAodGhpcy5zdGF0ZVtpXSA+Pj4gMjQpICYgMHhmZjtcbiAgICAgIG91dFtpICogNCArIDFdID0gKHRoaXMuc3RhdGVbaV0gPj4+IDE2KSAmIDB4ZmY7XG4gICAgICBvdXRbaSAqIDQgKyAyXSA9ICh0aGlzLnN0YXRlW2ldID4+PiA4KSAmIDB4ZmY7XG4gICAgICBvdXRbaSAqIDQgKyAzXSA9ICh0aGlzLnN0YXRlW2ldID4+PiAwKSAmIDB4ZmY7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIHByaXZhdGUgaGFzaEJ1ZmZlcigpOiB2b2lkIHtcbiAgICBjb25zdCB7IGJ1ZmZlciwgc3RhdGUgfSA9IHRoaXM7XG5cbiAgICBsZXQgc3RhdGUwID0gc3RhdGVbMF0sXG4gICAgICBzdGF0ZTEgPSBzdGF0ZVsxXSxcbiAgICAgIHN0YXRlMiA9IHN0YXRlWzJdLFxuICAgICAgc3RhdGUzID0gc3RhdGVbM10sXG4gICAgICBzdGF0ZTQgPSBzdGF0ZVs0XSxcbiAgICAgIHN0YXRlNSA9IHN0YXRlWzVdLFxuICAgICAgc3RhdGU2ID0gc3RhdGVbNl0sXG4gICAgICBzdGF0ZTcgPSBzdGF0ZVs3XTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgQkxPQ0tfU0laRTsgaSsrKSB7XG4gICAgICBpZiAoaSA8IDE2KSB7XG4gICAgICAgIHRoaXMudGVtcFtpXSA9XG4gICAgICAgICAgKChidWZmZXJbaSAqIDRdICYgMHhmZikgPDwgMjQpIHxcbiAgICAgICAgICAoKGJ1ZmZlcltpICogNCArIDFdICYgMHhmZikgPDwgMTYpIHxcbiAgICAgICAgICAoKGJ1ZmZlcltpICogNCArIDJdICYgMHhmZikgPDwgOCkgfFxuICAgICAgICAgIChidWZmZXJbaSAqIDQgKyAzXSAmIDB4ZmYpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHUgPSB0aGlzLnRlbXBbaSAtIDJdO1xuICAgICAgICBjb25zdCB0MSA9XG4gICAgICAgICAgKCh1ID4+PiAxNykgfCAodSA8PCAxNSkpIF4gKCh1ID4+PiAxOSkgfCAodSA8PCAxMykpIF4gKHUgPj4+IDEwKTtcblxuICAgICAgICB1ID0gdGhpcy50ZW1wW2kgLSAxNV07XG4gICAgICAgIGNvbnN0IHQyID1cbiAgICAgICAgICAoKHUgPj4+IDcpIHwgKHUgPDwgMjUpKSBeICgodSA+Pj4gMTgpIHwgKHUgPDwgMTQpKSBeICh1ID4+PiAzKTtcblxuICAgICAgICB0aGlzLnRlbXBbaV0gPVxuICAgICAgICAgICgodDEgKyB0aGlzLnRlbXBbaSAtIDddKSB8IDApICsgKCh0MiArIHRoaXMudGVtcFtpIC0gMTZdKSB8IDApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0MSA9XG4gICAgICAgICgoKCgoKHN0YXRlNCA+Pj4gNikgfCAoc3RhdGU0IDw8IDI2KSkgXlxuICAgICAgICAgICgoc3RhdGU0ID4+PiAxMSkgfCAoc3RhdGU0IDw8IDIxKSkgXlxuICAgICAgICAgICgoc3RhdGU0ID4+PiAyNSkgfCAoc3RhdGU0IDw8IDcpKSkgK1xuICAgICAgICAgICgoc3RhdGU0ICYgc3RhdGU1KSBeICh+c3RhdGU0ICYgc3RhdGU2KSkpIHxcbiAgICAgICAgICAwKSArXG4gICAgICAgICAgKChzdGF0ZTcgKyAoKEtFWVtpXSArIHRoaXMudGVtcFtpXSkgfCAwKSkgfCAwKSkgfFxuICAgICAgICAwO1xuXG4gICAgICBjb25zdCB0MiA9XG4gICAgICAgICgoKChzdGF0ZTAgPj4+IDIpIHwgKHN0YXRlMCA8PCAzMCkpIF5cbiAgICAgICAgICAoKHN0YXRlMCA+Pj4gMTMpIHwgKHN0YXRlMCA8PCAxOSkpIF5cbiAgICAgICAgICAoKHN0YXRlMCA+Pj4gMjIpIHwgKHN0YXRlMCA8PCAxMCkpKSArXG4gICAgICAgICAgKChzdGF0ZTAgJiBzdGF0ZTEpIF4gKHN0YXRlMCAmIHN0YXRlMikgXiAoc3RhdGUxICYgc3RhdGUyKSkpIHxcbiAgICAgICAgMDtcblxuICAgICAgc3RhdGU3ID0gc3RhdGU2O1xuICAgICAgc3RhdGU2ID0gc3RhdGU1O1xuICAgICAgc3RhdGU1ID0gc3RhdGU0O1xuICAgICAgc3RhdGU0ID0gKHN0YXRlMyArIHQxKSB8IDA7XG4gICAgICBzdGF0ZTMgPSBzdGF0ZTI7XG4gICAgICBzdGF0ZTIgPSBzdGF0ZTE7XG4gICAgICBzdGF0ZTEgPSBzdGF0ZTA7XG4gICAgICBzdGF0ZTAgPSAodDEgKyB0MikgfCAwO1xuICAgIH1cblxuICAgIHN0YXRlWzBdICs9IHN0YXRlMDtcbiAgICBzdGF0ZVsxXSArPSBzdGF0ZTE7XG4gICAgc3RhdGVbMl0gKz0gc3RhdGUyO1xuICAgIHN0YXRlWzNdICs9IHN0YXRlMztcbiAgICBzdGF0ZVs0XSArPSBzdGF0ZTQ7XG4gICAgc3RhdGVbNV0gKz0gc3RhdGU1O1xuICAgIHN0YXRlWzZdICs9IHN0YXRlNjtcbiAgICBzdGF0ZVs3XSArPSBzdGF0ZTc7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MAX_HASHABLE_LENGTH = exports.INIT = exports.KEY = exports.DIGEST_LENGTH = exports.BLOCK_SIZE = void 0;\n/**\n * @internal\n */\nexports.BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexports.DIGEST_LENGTH = 32;\n/**\n * @internal\n */\nexports.KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n/**\n * @internal\n */\nexports.INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n/**\n * @internal\n */\nexports.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFXLEVBQUUsQ0FBQztBQUVyQzs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFXLEVBQUUsQ0FBQztBQUV4Qzs7R0FFRztBQUNVLFFBQUEsR0FBRyxHQUFHLElBQUksV0FBVyxDQUFDO0lBQ2pDLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNVLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0NBQ1gsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRyxTQUFBLENBQUMsRUFBSSxFQUFFLENBQUEsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgQkxPQ0tfU0laRTogbnVtYmVyID0gNjQ7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBESUdFU1RfTEVOR1RIOiBudW1iZXIgPSAzMjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IEtFWSA9IG5ldyBVaW50MzJBcnJheShbXG4gIDB4NDI4YTJmOTgsXG4gIDB4NzEzNzQ0OTEsXG4gIDB4YjVjMGZiY2YsXG4gIDB4ZTliNWRiYTUsXG4gIDB4Mzk1NmMyNWIsXG4gIDB4NTlmMTExZjEsXG4gIDB4OTIzZjgyYTQsXG4gIDB4YWIxYzVlZDUsXG4gIDB4ZDgwN2FhOTgsXG4gIDB4MTI4MzViMDEsXG4gIDB4MjQzMTg1YmUsXG4gIDB4NTUwYzdkYzMsXG4gIDB4NzJiZTVkNzQsXG4gIDB4ODBkZWIxZmUsXG4gIDB4OWJkYzA2YTcsXG4gIDB4YzE5YmYxNzQsXG4gIDB4ZTQ5YjY5YzEsXG4gIDB4ZWZiZTQ3ODYsXG4gIDB4MGZjMTlkYzYsXG4gIDB4MjQwY2ExY2MsXG4gIDB4MmRlOTJjNmYsXG4gIDB4NGE3NDg0YWEsXG4gIDB4NWNiMGE5ZGMsXG4gIDB4NzZmOTg4ZGEsXG4gIDB4OTgzZTUxNTIsXG4gIDB4YTgzMWM2NmQsXG4gIDB4YjAwMzI3YzgsXG4gIDB4YmY1OTdmYzcsXG4gIDB4YzZlMDBiZjMsXG4gIDB4ZDVhNzkxNDcsXG4gIDB4MDZjYTYzNTEsXG4gIDB4MTQyOTI5NjcsXG4gIDB4MjdiNzBhODUsXG4gIDB4MmUxYjIxMzgsXG4gIDB4NGQyYzZkZmMsXG4gIDB4NTMzODBkMTMsXG4gIDB4NjUwYTczNTQsXG4gIDB4NzY2YTBhYmIsXG4gIDB4ODFjMmM5MmUsXG4gIDB4OTI3MjJjODUsXG4gIDB4YTJiZmU4YTEsXG4gIDB4YTgxYTY2NGIsXG4gIDB4YzI0YjhiNzAsXG4gIDB4Yzc2YzUxYTMsXG4gIDB4ZDE5MmU4MTksXG4gIDB4ZDY5OTA2MjQsXG4gIDB4ZjQwZTM1ODUsXG4gIDB4MTA2YWEwNzAsXG4gIDB4MTlhNGMxMTYsXG4gIDB4MWUzNzZjMDgsXG4gIDB4Mjc0ODc3NGMsXG4gIDB4MzRiMGJjYjUsXG4gIDB4MzkxYzBjYjMsXG4gIDB4NGVkOGFhNGEsXG4gIDB4NWI5Y2NhNGYsXG4gIDB4NjgyZTZmZjMsXG4gIDB4NzQ4ZjgyZWUsXG4gIDB4NzhhNTYzNmYsXG4gIDB4ODRjODc4MTQsXG4gIDB4OGNjNzAyMDgsXG4gIDB4OTBiZWZmZmEsXG4gIDB4YTQ1MDZjZWIsXG4gIDB4YmVmOWEzZjcsXG4gIDB4YzY3MTc4ZjJcbl0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgSU5JVCA9IFtcbiAgMHg2YTA5ZTY2NyxcbiAgMHhiYjY3YWU4NSxcbiAgMHgzYzZlZjM3MixcbiAgMHhhNTRmZjUzYSxcbiAgMHg1MTBlNTI3ZixcbiAgMHg5YjA1Njg4YyxcbiAgMHgxZjgzZDlhYixcbiAgMHg1YmUwY2QxOVxuXTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9IQVNIQUJMRV9MRU5HVEggPSAyICoqIDUzIC0gMTtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n(0, tslib_1.__exportStar)(require(\"./jsSha256\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vanNTaGEyNTZcIjtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar constants_1 = require(\"./constants\");\nvar RawSha256_1 = require(\"./RawSha256\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.hash = new RawSha256_1.RawSha256();\n if (secret) {\n this.outer = new RawSha256_1.RawSha256();\n var inner = bufferFromSecret(secret);\n var outer = new Uint8Array(constants_1.BLOCK_SIZE);\n outer.set(inner);\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n this.hash.update(inner);\n this.outer.update(outer);\n // overwrite the copied key in memory\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n Sha256.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash) || this.error) {\n return;\n }\n try {\n this.hash.update((0, util_1.convertToBuffer)(toHash));\n }\n catch (e) {\n this.error = e;\n }\n };\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n Sha256.prototype.digestSync = function () {\n if (this.error) {\n throw this.error;\n }\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n return this.outer.digest();\n }\n return this.hash.digest();\n };\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n Sha256.prototype.digest = function () {\n return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {\n return (0, tslib_1.__generator)(this, function (_a) {\n return [2 /*return*/, this.digestSync()];\n });\n });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction bufferFromSecret(secret) {\n var input = (0, util_1.convertToBuffer)(secret);\n if (input.byteLength > constants_1.BLOCK_SIZE) {\n var bufferHash = new RawSha256_1.RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(constants_1.BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNTaGEyNTYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvanNTaGEyNTYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlDQUF5QztBQUN6Qyx5Q0FBd0M7QUFFeEMseUNBQWdFO0FBRWhFO0lBS0UsZ0JBQVksTUFBbUI7UUFKZCxTQUFJLEdBQUcsSUFBSSxxQkFBUyxFQUFFLENBQUM7UUFLdEMsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO1lBQzdCLElBQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLElBQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLHNCQUFVLENBQUMsQ0FBQztZQUN6QyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxzQkFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNuQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUNqQixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFekIscUNBQXFDO1lBQ3JDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN6QyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2Q7U0FDRjtJQUNILENBQUM7SUFFRCx1QkFBTSxHQUFOLFVBQU8sTUFBa0I7UUFDdkIsSUFBSSxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQyxPQUFPO1NBQ1I7UUFFRCxJQUFJO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBQSxzQkFBZSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDM0M7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMkJBQVUsR0FBVjtRQUNFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNsQjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDO1lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzVCO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0csdUJBQU0sR0FBWjs7O2dCQUNFLHNCQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBQzs7O0tBQzFCO0lBQ0gsYUFBQztBQUFELENBQUMsQUFsRUQsSUFrRUM7QUFsRVksd0JBQU07QUFvRW5CLFNBQVMsZ0JBQWdCLENBQUMsTUFBa0I7SUFDMUMsSUFBSSxLQUFLLEdBQUcsSUFBQSxzQkFBZSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBDLElBQUksS0FBSyxDQUFDLFVBQVUsR0FBRyxzQkFBVSxFQUFFO1FBQ2pDLElBQU0sVUFBVSxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO1FBQ25DLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUM3QjtJQUVELElBQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLHNCQUFVLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCTE9DS19TSVpFIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBSYXdTaGEyNTYgfSBmcm9tIFwiLi9SYXdTaGEyNTZcIjtcbmltcG9ydCB7IEhhc2gsIFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IGlzRW1wdHlEYXRhLCBjb252ZXJ0VG9CdWZmZXIgfSBmcm9tIFwiQGF3cy1jcnlwdG8vdXRpbFwiO1xuXG5leHBvcnQgY2xhc3MgU2hhMjU2IGltcGxlbWVudHMgSGFzaCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFzaCA9IG5ldyBSYXdTaGEyNTYoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvdXRlcj86IFJhd1NoYTI1NjtcbiAgcHJpdmF0ZSBlcnJvcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHNlY3JldD86IFNvdXJjZURhdGEpIHtcbiAgICBpZiAoc2VjcmV0KSB7XG4gICAgICB0aGlzLm91dGVyID0gbmV3IFJhd1NoYTI1NigpO1xuICAgICAgY29uc3QgaW5uZXIgPSBidWZmZXJGcm9tU2VjcmV0KHNlY3JldCk7XG4gICAgICBjb25zdCBvdXRlciA9IG5ldyBVaW50OEFycmF5KEJMT0NLX1NJWkUpO1xuICAgICAgb3V0ZXIuc2V0KGlubmVyKTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBCTE9DS19TSVpFOyBpKyspIHtcbiAgICAgICAgaW5uZXJbaV0gXj0gMHgzNjtcbiAgICAgICAgb3V0ZXJbaV0gXj0gMHg1YztcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYXNoLnVwZGF0ZShpbm5lcik7XG4gICAgICB0aGlzLm91dGVyLnVwZGF0ZShvdXRlcik7XG5cbiAgICAgIC8vIG92ZXJ3cml0ZSB0aGUgY29waWVkIGtleSBpbiBtZW1vcnlcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5uZXIuYnl0ZUxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlubmVyW2ldID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGUodG9IYXNoOiBTb3VyY2VEYXRhKTogdm9pZCB7XG4gICAgaWYgKGlzRW1wdHlEYXRhKHRvSGFzaCkgfHwgdGhpcy5lcnJvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLmhhc2gudXBkYXRlKGNvbnZlcnRUb0J1ZmZlcih0b0hhc2gpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmVycm9yID0gZTtcbiAgICB9XG4gIH1cblxuICAvKiBUaGlzIHN5bmNocm9ub3VzIG1ldGhvZCBrZWVwcyBjb21wYXRpYmlsaXR5XG4gICAqIHdpdGggdGhlIHYyIGF3cy1zZGsuXG4gICAqL1xuICBkaWdlc3RTeW5jKCk6IFVpbnQ4QXJyYXkge1xuICAgIGlmICh0aGlzLmVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLmVycm9yO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm91dGVyKSB7XG4gICAgICBpZiAoIXRoaXMub3V0ZXIuZmluaXNoZWQpIHtcbiAgICAgICAgdGhpcy5vdXRlci51cGRhdGUodGhpcy5oYXNoLmRpZ2VzdCgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMub3V0ZXIuZGlnZXN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaGFzaC5kaWdlc3QoKTtcbiAgfVxuXG4gIC8qIFRoZSB1bmRlcmx5aW5nIGRpZ2VzdCBtZXRob2QgaGVyZSBpcyBzeW5jaHJvbm91cy5cbiAgICogVG8ga2VlcCB0aGUgc2FtZSBpbnRlcmZhY2Ugd2l0aCB0aGUgb3RoZXIgaGFzaCBmdW5jdGlvbnNcbiAgICogdGhlIGRlZmF1bHQgaXMgdG8gZXhwb3NlIHRoaXMgYXMgYW4gYXN5bmMgbWV0aG9kLlxuICAgKiBIb3dldmVyLCBpdCBjYW4gc29tZXRpbWVzIGJlIHVzZWZ1bCB0byBoYXZlIGEgc3luYyBtZXRob2QuXG4gICAqL1xuICBhc3luYyBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuZGlnZXN0U3luYygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJ1ZmZlckZyb21TZWNyZXQoc2VjcmV0OiBTb3VyY2VEYXRhKTogVWludDhBcnJheSB7XG4gIGxldCBpbnB1dCA9IGNvbnZlcnRUb0J1ZmZlcihzZWNyZXQpO1xuXG4gIGlmIChpbnB1dC5ieXRlTGVuZ3RoID4gQkxPQ0tfU0laRSkge1xuICAgIGNvbnN0IGJ1ZmZlckhhc2ggPSBuZXcgUmF3U2hhMjU2KCk7XG4gICAgYnVmZmVySGFzaC51cGRhdGUoaW5wdXQpO1xuICAgIGlucHV0ID0gYnVmZmVySGFzaC5kaWdlc3QoKTtcbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KEJMT0NLX1NJWkUpO1xuICBidWZmZXIuc2V0KGlucHV0KTtcbiAgcmV0dXJuIGJ1ZmZlcjtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar constants_1 = require(\"./constants\");\n/**\n * @internal\n */\nvar RawSha256 = /** @class */ (function () {\n function RawSha256() {\n this.state = Int32Array.from(constants_1.INIT);\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @internal\n */\n this.finished = false;\n }\n RawSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > constants_1.MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === constants_1.BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n RawSha256.prototype.digest = function () {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % constants_1.BLOCK_SIZE >= constants_1.BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(constants_1.BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(constants_1.BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Uint8Array(constants_1.DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return out;\n };\n RawSha256.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n 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];\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n this.temp[i] =\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\n }\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((constants_1.KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n };\n return RawSha256;\n}());\nexports.RawSha256 = RawSha256;\n//# sourceMappingURL=RawSha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * @internal\n */\nexports.BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexports.DIGEST_LENGTH = 32;\n/**\n * @internal\n */\nexports.KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n/**\n * @internal\n */\nexports.INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n/**\n * @internal\n */\nexports.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./jsSha256\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar constants_1 = require(\"./constants\");\nvar RawSha256_1 = require(\"./RawSha256\");\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.hash = new RawSha256_1.RawSha256();\n if (secret) {\n this.outer = new RawSha256_1.RawSha256();\n var inner = bufferFromSecret(secret);\n var outer = new Uint8Array(constants_1.BLOCK_SIZE);\n outer.set(inner);\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n this.hash.update(inner);\n this.outer.update(outer);\n // overwrite the copied key in memory\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n Sha256.prototype.update = function (toHash) {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n try {\n this.hash.update(convertToBuffer(toHash));\n }\n catch (e) {\n this.error = e;\n }\n };\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n Sha256.prototype.digestSync = function () {\n if (this.error) {\n throw this.error;\n }\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n return this.outer.digest();\n }\n return this.hash.digest();\n };\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n Sha256.prototype.digest = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, this.digestSync()];\n });\n });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction bufferFromSecret(secret) {\n var input = convertToBuffer(secret);\n if (input.byteLength > constants_1.BLOCK_SIZE) {\n var bufferHash = new RawSha256_1.RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(constants_1.BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nfunction convertToBuffer(data) {\n if (typeof data === \"string\") {\n return util_utf8_browser_1.fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=jsSha256.js.map","/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nexport var fromUtf8 = function (input) {\n var bytes = [];\n for (var i = 0, len = input.length; i < len; i++) {\n var value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 192, (value & 63) | 128);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n var surrogatePair = 0x10000 + ((value & 1023) << 10) + (input.charCodeAt(++i) & 1023);\n bytes.push((surrogatePair >> 18) | 240, ((surrogatePair >> 12) & 63) | 128, ((surrogatePair >> 6) & 63) | 128, (surrogatePair & 63) | 128);\n }\n else {\n bytes.push((value >> 12) | 224, ((value >> 6) & 63) | 128, (value & 63) | 128);\n }\n }\n return Uint8Array.from(bytes);\n};\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nexport var toUtf8 = function (input) {\n var decoded = \"\";\n for (var i = 0, len = input.length; i < len; i++) {\n var byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (192 <= byte && byte < 224) {\n var nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 31) << 6) | (nextByte & 63));\n }\n else if (240 <= byte && byte < 365) {\n var surrogatePair = [byte, input[++i], input[++i], input[++i]];\n var encoded = \"%\" + surrogatePair.map(function (byteValue) { return byteValue.toString(16); }).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 15) << 12) | ((input[++i] & 63) << 6) | (input[++i] & 63));\n }\n }\n return decoded;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZUpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1cmVKcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxRQUFRLEdBQUcsVUFBQyxLQUFhO0lBQ3BDLElBQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRTtZQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBVSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTSxFQUFFO1lBQy9HLElBQU0sYUFBYSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQVksQ0FBQyxDQUFDO1lBQ3hHLEtBQUssQ0FBQyxJQUFJLENBQ1IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBVSxFQUNsQyxDQUFDLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFDL0MsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQzlDLENBQUMsYUFBYSxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDeEMsQ0FBQztTQUNIO2FBQU07WUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLENBQUMsQ0FBQztTQUNqSDtLQUNGO0lBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUcsVUFBQyxLQUFpQjtJQUN0QyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVUsRUFBRTtZQUNsRCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQVEsQ0FBQyxDQUFDLENBQUM7U0FDakY7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVcsRUFBRTtZQUNuRCxJQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQU0sT0FBTyxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQUMsU0FBUyxJQUFLLE9BQUEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RixPQUFPLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxDQUNuRixDQUFDO1NBQ0g7S0FDRjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBKUyBzdHJpbmcgZnJvbSBpdHMgbmF0aXZlIFVDUy0yL1VURi0xNiByZXByZXNlbnRhdGlvbiBpbnRvIGFcbiAqIFVpbnQ4QXJyYXkgb2YgdGhlIGJ5dGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBlcXVpdmFsZW50IGNoYXJhY3RlcnMgaW4gVVRGLTguXG4gKlxuICogQ3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC5zdHJpbmdUb1V0ZjhCeXRlQXJyYXlgIGZ1bmN0aW9uIGluIHRoZSBHb29nbGVcbiAqIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZyb21VdGY4ID0gKGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5ID0+IHtcbiAgY29uc3QgYnl0ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGlucHV0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmICh2YWx1ZSA8IDB4ODApIHtcbiAgICAgIGJ5dGVzLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPCAweDgwMCkge1xuICAgICAgYnl0ZXMucHVzaCgodmFsdWUgPj4gNikgfCAwYjExMDAwMDAwLCAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKGkgKyAxIDwgaW5wdXQubGVuZ3RoICYmICh2YWx1ZSAmIDB4ZmMwMCkgPT09IDB4ZDgwMCAmJiAoaW5wdXQuY2hhckNvZGVBdChpICsgMSkgJiAweGZjMDApID09PSAweGRjMDApIHtcbiAgICAgIGNvbnN0IHN1cnJvZ2F0ZVBhaXIgPSAweDEwMDAwICsgKCh2YWx1ZSAmIDBiMTExMTExMTExMSkgPDwgMTApICsgKGlucHV0LmNoYXJDb2RlQXQoKytpKSAmIDBiMTExMTExMTExMSk7XG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICAoc3Vycm9nYXRlUGFpciA+PiAxOCkgfCAwYjExMTEwMDAwLFxuICAgICAgICAoKHN1cnJvZ2F0ZVBhaXIgPj4gMTIpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCxcbiAgICAgICAgKChzdXJyb2dhdGVQYWlyID4+IDYpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCxcbiAgICAgICAgKHN1cnJvZ2F0ZVBhaXIgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBieXRlcy5wdXNoKCh2YWx1ZSA+PiAxMikgfCAwYjExMTAwMDAwLCAoKHZhbHVlID4+IDYpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCwgKHZhbHVlICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShieXRlcyk7XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgdHlwZWQgYXJyYXkgb2YgYnl0ZXMgY29udGFpbmluZyBVVEYtOCBkYXRhIGludG8gYSBuYXRpdmUgSlNcbiAqIHN0cmluZy5cbiAqXG4gKiBQYXJ0bHkgY3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC51dGY4Qnl0ZUFycmF5VG9TdHJpbmdgIGZ1bmN0aW9uIGluIHRoZVxuICogR29vZ2xlIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cyBhbmQgdG8gYmV0dGVyXG4gKiBoYW5kbGUgYXN0cmFsIHBsYW5lIGNvZGUgcG9pbnRzLlxuICovXG5leHBvcnQgY29uc3QgdG9VdGY4ID0gKGlucHV0OiBVaW50OEFycmF5KTogc3RyaW5nID0+IHtcbiAgbGV0IGRlY29kZWQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5wdXQubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gaW5wdXRbaV07XG4gICAgaWYgKGJ5dGUgPCAweDgwKSB7XG4gICAgICBkZWNvZGVkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSk7XG4gICAgfSBlbHNlIGlmICgwYjExMDAwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTExMDAwMDApIHtcbiAgICAgIGNvbnN0IG5leHRCeXRlID0gaW5wdXRbKytpXTtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoKGJ5dGUgJiAwYjExMTExKSA8PCA2KSB8IChuZXh0Qnl0ZSAmIDBiMTExMTExKSk7XG4gICAgfSBlbHNlIGlmICgwYjExMTEwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTAxMTAxMTAxKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID0gW2J5dGUsIGlucHV0WysraV0sIGlucHV0WysraV0sIGlucHV0WysraV1dO1xuICAgICAgY29uc3QgZW5jb2RlZCA9IFwiJVwiICsgc3Vycm9nYXRlUGFpci5tYXAoKGJ5dGVWYWx1ZSkgPT4gYnl0ZVZhbHVlLnRvU3RyaW5nKDE2KSkuam9pbihcIiVcIik7XG4gICAgICBkZWNvZGVkICs9IGRlY29kZVVSSUNvbXBvbmVudChlbmNvZGVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb2RlZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKFxuICAgICAgICAoKGJ5dGUgJiAwYjExMTEpIDw8IDEyKSB8ICgoaW5wdXRbKytpXSAmIDBiMTExMTExKSA8PCA2KSB8IChpbnB1dFsrK2ldICYgMGIxMTExMTEpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZWNvZGVkO1xufTtcbiJdfQ==","export function fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexport function toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hhdHdnRW5jb2RpbmdBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2hhdHdnRW5jb2RpbmdBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUNBLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYTtJQUNwQyxPQUFPLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgZGVjbGFyYXRpb24gb2YgdGhlIGdsb2JhbCBUZXh0RW5jb2RlciBhbmQgVGV4dERlY29kZXIgY29uc3RydWN0b3JzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9lbmNvZGluZy5zcGVjLndoYXR3Zy5vcmcvXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXG5uYW1lc3BhY2UgRW5jb2Rpbmcge1xuICBpbnRlcmZhY2UgVGV4dERlY29kZXJPcHRpb25zIHtcbiAgICBmYXRhbD86IGJvb2xlYW47XG4gICAgaWdub3JlQk9NPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlT3B0aW9ucyB7XG4gICAgc3RyZWFtPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlciB7XG4gICAgcmVhZG9ubHkgZW5jb2Rpbmc6IHN0cmluZztcbiAgICByZWFkb25seSBmYXRhbDogYm9vbGVhbjtcbiAgICByZWFkb25seSBpZ25vcmVCT006IGJvb2xlYW47XG4gICAgZGVjb2RlKGlucHV0PzogQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcsIG9wdGlvbnM/OiBUZXh0RGVjb2RlT3B0aW9ucyk6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGV4dERlY29kZXJDb25zdHJ1Y3RvciB7XG4gICAgbmV3IChsYWJlbD86IHN0cmluZywgb3B0aW9ucz86IFRleHREZWNvZGVyT3B0aW9ucyk6IFRleHREZWNvZGVyO1xuICB9XG5cbiAgaW50ZXJmYWNlIFRleHRFbmNvZGVyIHtcbiAgICByZWFkb25seSBlbmNvZGluZzogXCJ1dGYtOFwiO1xuICAgIGVuY29kZShpbnB1dD86IHN0cmluZyk6IFVpbnQ4QXJyYXk7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRleHRFbmNvZGVyQ29uc3RydWN0b3Ige1xuICAgIG5ldyAoKTogVGV4dEVuY29kZXI7XG4gIH1cbn1cblxuZGVjbGFyZSBjb25zdCBUZXh0RGVjb2RlcjogRW5jb2RpbmcuVGV4dERlY29kZXJDb25zdHJ1Y3RvcjtcblxuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRW5jb2RpbmcuVGV4dEVuY29kZXJDb25zdHJ1Y3RvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IFRleHREZWNvZGVyKFwidXRmLThcIikuZGVjb2RlKGlucHV0KTtcbn1cbiJdfQ==","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport var fromUtf8 = function (input) {\n return typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\n};\nexport var toUtf8 = function (input) {\n return typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsSUFBSSxVQUFVLEVBQUUsTUFBTSxJQUFJLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sSUFBSSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBS25HLE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxVQUFDLEtBQWE7SUFDcEMsT0FBQSxPQUFPLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0FBQWxGLENBQWtGLENBQUM7QUFFckYsTUFBTSxDQUFDLElBQU0sTUFBTSxHQUFHLFVBQUMsS0FBaUI7SUFDdEMsT0FBQSxPQUFPLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0FBQTlFLENBQThFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVXRmOCBhcyBqc0Zyb21VdGY4LCB0b1V0ZjggYXMganNUb1V0ZjggfSBmcm9tIFwiLi9wdXJlSnNcIjtcbmltcG9ydCB7IGZyb21VdGY4IGFzIHRleHRFbmNvZGVyRnJvbVV0ZjgsIHRvVXRmOCBhcyB0ZXh0RW5jb2RlclRvVXRmOCB9IGZyb20gXCIuL3doYXR3Z0VuY29kaW5nQXBpXCI7XG5cbmRlY2xhcmUgY29uc3QgVGV4dERlY29kZXI6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBmcm9tVXRmOCA9IChpbnB1dDogc3RyaW5nKTogVWludDhBcnJheSA9PlxuICB0eXBlb2YgVGV4dEVuY29kZXIgPT09IFwiZnVuY3Rpb25cIiA/IHRleHRFbmNvZGVyRnJvbVV0ZjgoaW5wdXQpIDoganNGcm9tVXRmOChpbnB1dCk7XG5cbmV4cG9ydCBjb25zdCB0b1V0ZjggPSAoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcgPT5cbiAgdHlwZW9mIFRleHREZWNvZGVyID09PSBcImZ1bmN0aW9uXCIgPyB0ZXh0RW5jb2RlclRvVXRmOChpbnB1dCkgOiBqc1RvVXRmOChpbnB1dCk7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./supportsWebCrypto\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3VwcG9ydHNXZWJDcnlwdG9cIjtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.supportsZeroByteGCM = exports.supportsSubtleCrypto = exports.supportsSecureRandom = exports.supportsWebCrypto = void 0;\nvar tslib_1 = require(\"tslib\");\nvar subtleCryptoMethods = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\nfunction supportsWebCrypto(window) {\n if (supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\") {\n var subtle = window.crypto.subtle;\n return supportsSubtleCrypto(subtle);\n }\n return false;\n}\nexports.supportsWebCrypto = supportsWebCrypto;\nfunction supportsSecureRandom(window) {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n var getRandomValues = window.crypto.getRandomValues;\n return typeof getRandomValues === \"function\";\n }\n return false;\n}\nexports.supportsSecureRandom = supportsSecureRandom;\nfunction supportsSubtleCrypto(subtle) {\n return (subtle &&\n subtleCryptoMethods.every(function (methodName) { return typeof subtle[methodName] === \"function\"; }));\n}\nexports.supportsSubtleCrypto = supportsSubtleCrypto;\nfunction supportsZeroByteGCM(subtle) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var key, zeroByteAuthTag, _a;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!supportsSubtleCrypto(subtle))\n return [2 /*return*/, false];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 4, , 5]);\n return [4 /*yield*/, subtle.generateKey({ name: \"AES-GCM\", length: 128 }, false, [\"encrypt\"])];\n case 2:\n key = _b.sent();\n return [4 /*yield*/, subtle.encrypt({\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n }, key, new Uint8Array(0))];\n case 3:\n zeroByteAuthTag = _b.sent();\n return [2 /*return*/, zeroByteAuthTag.byteLength === 16];\n case 4:\n _a = _b.sent();\n return [2 /*return*/, false];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\nexports.supportsZeroByteGCM = supportsZeroByteGCM;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydHNXZWJDcnlwdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3VwcG9ydHNXZWJDcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVVBLElBQU0sbUJBQW1CLEdBQThCO0lBQ3JELFNBQVM7SUFDVCxRQUFRO0lBQ1IsU0FBUztJQUNULFdBQVc7SUFDWCxhQUFhO0lBQ2IsV0FBVztJQUNYLE1BQU07SUFDTixRQUFRO0NBQ1QsQ0FBQztBQUVGLFNBQWdCLGlCQUFpQixDQUFDLE1BQWM7SUFDOUMsSUFDRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQ3hDO1FBQ1EsSUFBQSxNQUFNLEdBQUssTUFBTSxDQUFDLE1BQU0sT0FBbEIsQ0FBbUI7UUFFakMsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVhELDhDQVdDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsTUFBYztJQUNqRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzNELElBQUEsZUFBZSxHQUFLLE1BQU0sQ0FBQyxNQUFNLGdCQUFsQixDQUFtQjtRQUUxQyxPQUFPLE9BQU8sZUFBZSxLQUFLLFVBQVUsQ0FBQztLQUM5QztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVJELG9EQVFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsTUFBb0I7SUFDdkQsT0FBTyxDQUNMLE1BQU07UUFDTixtQkFBbUIsQ0FBQyxLQUFLLENBQ3ZCLFVBQUEsVUFBVSxJQUFJLE9BQUEsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxFQUF4QyxDQUF3QyxDQUN2RCxDQUNGLENBQUM7QUFDSixDQUFDO0FBUEQsb0RBT0M7QUFFRCxTQUFzQixtQkFBbUIsQ0FBQyxNQUFvQjs7Ozs7O29CQUM1RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO3dCQUFFLHNCQUFPLEtBQUssRUFBQzs7OztvQkFFbEMscUJBQU0sTUFBTSxDQUFDLFdBQVcsQ0FDbEMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFDaEMsS0FBSyxFQUNMLENBQUMsU0FBUyxDQUFDLENBQ1osRUFBQTs7b0JBSkssR0FBRyxHQUFHLFNBSVg7b0JBQ3VCLHFCQUFNLE1BQU0sQ0FBQyxPQUFPLENBQzFDOzRCQUNFLElBQUksRUFBRSxTQUFTOzRCQUNmLEVBQUUsRUFBRSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQzdCLGNBQWMsRUFBRSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFNBQVMsRUFBRSxHQUFHO3lCQUNmLEVBQ0QsR0FBRyxFQUNILElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUNsQixFQUFBOztvQkFUSyxlQUFlLEdBQUcsU0FTdkI7b0JBQ0Qsc0JBQU8sZUFBZSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUM7OztvQkFFekMsc0JBQU8sS0FBSyxFQUFDOzs7OztDQUVoQjtBQXRCRCxrREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFN1YnRsZUNyeXB0b01ldGhvZCA9XG4gIHwgXCJkZWNyeXB0XCJcbiAgfCBcImRpZ2VzdFwiXG4gIHwgXCJlbmNyeXB0XCJcbiAgfCBcImV4cG9ydEtleVwiXG4gIHwgXCJnZW5lcmF0ZUtleVwiXG4gIHwgXCJpbXBvcnRLZXlcIlxuICB8IFwic2lnblwiXG4gIHwgXCJ2ZXJpZnlcIjtcblxuY29uc3Qgc3VidGxlQ3J5cHRvTWV0aG9kczogQXJyYXk8U3VidGxlQ3J5cHRvTWV0aG9kPiA9IFtcbiAgXCJkZWNyeXB0XCIsXG4gIFwiZGlnZXN0XCIsXG4gIFwiZW5jcnlwdFwiLFxuICBcImV4cG9ydEtleVwiLFxuICBcImdlbmVyYXRlS2V5XCIsXG4gIFwiaW1wb3J0S2V5XCIsXG4gIFwic2lnblwiLFxuICBcInZlcmlmeVwiXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gc3VwcG9ydHNXZWJDcnlwdG8od2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgaWYgKFxuICAgIHN1cHBvcnRzU2VjdXJlUmFuZG9tKHdpbmRvdykgJiZcbiAgICB0eXBlb2Ygd2luZG93LmNyeXB0by5zdWJ0bGUgPT09IFwib2JqZWN0XCJcbiAgKSB7XG4gICAgY29uc3QgeyBzdWJ0bGUgfSA9IHdpbmRvdy5jcnlwdG87XG5cbiAgICByZXR1cm4gc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlKTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzU2VjdXJlUmFuZG9tKHdpbmRvdzogV2luZG93KTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiB3aW5kb3cuY3J5cHRvID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgeyBnZXRSYW5kb21WYWx1ZXMgfSA9IHdpbmRvdy5jcnlwdG87XG5cbiAgICByZXR1cm4gdHlwZW9mIGdldFJhbmRvbVZhbHVlcyA9PT0gXCJmdW5jdGlvblwiO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlOiBTdWJ0bGVDcnlwdG8pIHtcbiAgcmV0dXJuIChcbiAgICBzdWJ0bGUgJiZcbiAgICBzdWJ0bGVDcnlwdG9NZXRob2RzLmV2ZXJ5KFxuICAgICAgbWV0aG9kTmFtZSA9PiB0eXBlb2Ygc3VidGxlW21ldGhvZE5hbWVdID09PSBcImZ1bmN0aW9uXCJcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdXBwb3J0c1plcm9CeXRlR0NNKHN1YnRsZTogU3VidGxlQ3J5cHRvKSB7XG4gIGlmICghc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlKSkgcmV0dXJuIGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IGtleSA9IGF3YWl0IHN1YnRsZS5nZW5lcmF0ZUtleShcbiAgICAgIHsgbmFtZTogXCJBRVMtR0NNXCIsIGxlbmd0aDogMTI4IH0sXG4gICAgICBmYWxzZSxcbiAgICAgIFtcImVuY3J5cHRcIl1cbiAgICApO1xuICAgIGNvbnN0IHplcm9CeXRlQXV0aFRhZyA9IGF3YWl0IHN1YnRsZS5lbmNyeXB0KFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgaXY6IG5ldyBVaW50OEFycmF5KEFycmF5KDEyKSksXG4gICAgICAgIGFkZGl0aW9uYWxEYXRhOiBuZXcgVWludDhBcnJheShBcnJheSgxNikpLFxuICAgICAgICB0YWdMZW5ndGg6IDEyOFxuICAgICAgfSxcbiAgICAgIGtleSxcbiAgICAgIG5ldyBVaW50OEFycmF5KDApXG4gICAgKTtcbiAgICByZXR1cm4gemVyb0J5dGVBdXRoVGFnLmJ5dGVMZW5ndGggPT09IDE2O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertToBuffer = void 0;\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : util_utf8_browser_1.fromUtf8;\nfunction convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\nexports.convertToBuffer = convertToBuffer;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvQnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnZlcnRUb0J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQzs7O0FBR3RDLGdFQUF5RTtBQUV6RSxpQkFBaUI7QUFDakIsSUFBTSxRQUFRLEdBQ1osT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJO0lBQzFDLENBQUMsQ0FBQyxVQUFDLEtBQWEsSUFBSyxPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUExQixDQUEwQjtJQUMvQyxDQUFDLENBQUMsNEJBQWUsQ0FBQztBQUV0QixTQUFnQixlQUFlLENBQUMsSUFBZ0I7SUFDOUMsOEJBQThCO0lBQzlCLElBQUksSUFBSSxZQUFZLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUU1QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUVELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixPQUFPLElBQUksVUFBVSxDQUNuQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQy9DLENBQUM7S0FDSDtJQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQWpCRCwwQ0FpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgU291cmNlRGF0YSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZnJvbVV0ZjggYXMgZnJvbVV0ZjhCcm93c2VyIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtdXRmOC1icm93c2VyXCI7XG5cbi8vIFF1aWNrIHBvbHlmaWxsXG5jb25zdCBmcm9tVXRmOCA9XG4gIHR5cGVvZiBCdWZmZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgQnVmZmVyLmZyb21cbiAgICA/IChpbnB1dDogc3RyaW5nKSA9PiBCdWZmZXIuZnJvbShpbnB1dCwgXCJ1dGY4XCIpXG4gICAgOiBmcm9tVXRmOEJyb3dzZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9CdWZmZXIoZGF0YTogU291cmNlRGF0YSk6IFVpbnQ4QXJyYXkge1xuICAvLyBBbHJlYWR5IGEgVWludDgsIGRvIG5vdGhpbmdcbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSByZXR1cm4gZGF0YTtcblxuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZnJvbVV0ZjgoZGF0YSk7XG4gIH1cblxuICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFxuICAgICAgZGF0YS5idWZmZXIsXG4gICAgICBkYXRhLmJ5dGVPZmZzZXQsXG4gICAgICBkYXRhLmJ5dGVMZW5ndGggLyBVaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgVWludDhBcnJheShkYXRhKTtcbn1cbiJdfQ==","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\nvar convertToBuffer_1 = require(\"./convertToBuffer\");\nObject.defineProperty(exports, \"convertToBuffer\", { enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } });\nvar isEmptyData_1 = require(\"./isEmptyData\");\nObject.defineProperty(exports, \"isEmptyData\", { enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } });\nvar numToUint8_1 = require(\"./numToUint8\");\nObject.defineProperty(exports, \"numToUint8\", { enumerable: true, get: function () { return numToUint8_1.numToUint8; } });\nvar uint32ArrayFrom_1 = require(\"./uint32ArrayFrom\");\nObject.defineProperty(exports, \"uint32ArrayFrom\", { enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUV0QyxxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkNBQTBDO0FBQWpDLHdHQUFBLFVBQVUsT0FBQTtBQUNuQixxREFBa0Q7QUFBMUMsa0hBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20gSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmV4cG9ydCB7IGNvbnZlcnRUb0J1ZmZlciB9IGZyb20gXCIuL2NvbnZlcnRUb0J1ZmZlclwiO1xuZXhwb3J0IHsgaXNFbXB0eURhdGEgfSBmcm9tIFwiLi9pc0VtcHR5RGF0YVwiO1xuZXhwb3J0IHsgbnVtVG9VaW50OCB9IGZyb20gXCIuL251bVRvVWludDhcIjtcbmV4cG9ydCB7dWludDMyQXJyYXlGcm9tfSBmcm9tICcuL3VpbnQzMkFycmF5RnJvbSc7XG4iXX0=","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNFbXB0eURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaXNFbXB0eURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUl0QyxTQUFnQixXQUFXLENBQUMsSUFBZ0I7SUFDMUMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztLQUMxQjtJQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQU5ELGtDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20gSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHlEYXRhKGRhdGE6IFNvdXJjZURhdGEpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGRhdGEubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcmV0dXJuIGRhdGEuYnl0ZUxlbmd0aCA9PT0gMDtcbn1cbiJdfQ==","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numToUint8 = void 0;\nfunction numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\nexports.numToUint8 = numToUint8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtVG9VaW50OC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9udW1Ub1VpbnQ4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvRUFBb0U7QUFDcEUsc0NBQXNDOzs7QUFFdEMsU0FBZ0IsVUFBVSxDQUFDLEdBQVc7SUFDcEMsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUNwQixDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFO1FBQ3hCLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDeEIsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN2QixHQUFHLEdBQUcsVUFBVTtLQUNqQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBUEQsZ0NBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuZXhwb3J0IGZ1bmN0aW9uIG51bVRvVWludDgobnVtOiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtcbiAgICAobnVtICYgMHhmZjAwMDAwMCkgPj4gMjQsXG4gICAgKG51bSAmIDB4MDBmZjAwMDApID4+IDE2LFxuICAgIChudW0gJiAweDAwMDBmZjAwKSA+PiA4LFxuICAgIG51bSAmIDB4MDAwMDAwZmYsXG4gIF0pO1xufVxuIl19","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = void 0;\n// IE 11 does not support Array.from, so we do it manually\nfunction uint32ArrayFrom(a_lookUpTable) {\n if (!Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\nexports.uint32ArrayFrom = uint32ArrayFrom;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWludDMyQXJyYXlGcm9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3VpbnQzMkFycmF5RnJvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQzs7O0FBRXRDLDBEQUEwRDtBQUMxRCxTQUFnQixlQUFlLENBQUMsYUFBNEI7SUFDMUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDZixJQUFNLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsT0FBTyxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNyQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQy9DO1FBQ0QsT0FBTyxZQUFZLENBQUE7S0FDcEI7SUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQVZELDBDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20gSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8vIElFIDExIGRvZXMgbm90IHN1cHBvcnQgQXJyYXkuZnJvbSwgc28gd2UgZG8gaXQgbWFudWFsbHlcbmV4cG9ydCBmdW5jdGlvbiB1aW50MzJBcnJheUZyb20oYV9sb29rVXBUYWJsZTogQXJyYXk8bnVtYmVyPik6IFVpbnQzMkFycmF5IHtcbiAgaWYgKCFBcnJheS5mcm9tKSB7XG4gICAgY29uc3QgcmV0dXJuX2FycmF5ID0gbmV3IFVpbnQzMkFycmF5KGFfbG9va1VwVGFibGUubGVuZ3RoKVxuICAgIGxldCBhX2luZGV4ID0gMFxuICAgIHdoaWxlIChhX2luZGV4IDwgYV9sb29rVXBUYWJsZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybl9hcnJheVthX2luZGV4XSA9IGFfbG9va1VwVGFibGVbYV9pbmRleF1cbiAgICB9XG4gICAgcmV0dXJuIHJldHVybl9hcnJheVxuICB9XG4gIHJldHVybiBVaW50MzJBcnJheS5mcm9tKGFfbG9va1VwVGFibGUpXG59XG4iXX0=","import { __assign, __awaiter, __generator } from \"tslib\";\nexport var resolveEndpointsConfig = function (input) {\n var _a;\n return (__assign(__assign({}, input), { tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true, endpoint: input.endpoint ? normalizeEndpoint(input) : function () { return getEndPointFromRegion(input); }, isCustomEndpoint: input.endpoint ? true : false }));\n};\nvar normalizeEndpoint = function (input) {\n var endpoint = input.endpoint, urlParser = input.urlParser;\n if (typeof endpoint === \"string\") {\n var promisified_1 = Promise.resolve(urlParser(endpoint));\n return function () { return promisified_1; };\n }\n else if (typeof endpoint === \"object\") {\n var promisified_2 = Promise.resolve(endpoint);\n return function () { return promisified_2; };\n }\n return endpoint;\n};\nvar getEndPointFromRegion = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, tls, region, dnsHostRegex, hostname;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = input.tls, tls = _a === void 0 ? true : _a;\n return [4 /*yield*/, input.region()];\n case 1:\n region = _c.sent();\n dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n return [4 /*yield*/, input.regionInfoProvider(region)];\n case 2:\n hostname = ((_b = (_c.sent())) !== null && _b !== void 0 ? _b : {}).hostname;\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return [2 /*return*/, input.urlParser((tls ? \"https:\" : \"http:\") + \"//\" + hostname)];\n }\n });\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5kcG9pbnRzQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VuZHBvaW50c0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBeUJBLE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHLFVBQ3BDLEtBQW9EOztJQUNwQixPQUFBLHVCQUM3QixLQUFLLEtBQ1IsR0FBRyxRQUFFLEtBQUssQ0FBQyxHQUFHLG1DQUFJLElBQUksRUFDdEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFNLE9BQUEscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQTVCLENBQTRCLEVBQ3hGLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUMvQyxDQUFBO0NBQUEsQ0FBQztBQUVILElBQU0saUJBQWlCLEdBQUcsVUFBQyxLQUFnRDtJQUNqRSxJQUFBLFFBQVEsR0FBZ0IsS0FBSyxTQUFyQixFQUFFLFNBQVMsR0FBSyxLQUFLLFVBQVYsQ0FBVztJQUN0QyxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUNoQyxJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7U0FBTSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUN2QyxJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLFFBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixJQUFNLHFCQUFxQixHQUFHLFVBQU8sS0FBZ0Q7Ozs7OztnQkFDM0UsS0FBZSxLQUFLLElBQVYsRUFBVixHQUFHLG1CQUFHLElBQUksS0FBQSxDQUFXO2dCQUNkLHFCQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBQTs7Z0JBQTdCLE1BQU0sR0FBRyxTQUFvQjtnQkFFN0IsWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7Z0JBQzVGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7aUJBQ3BEO2dCQUVxQixxQkFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUE7O2dCQUFwRCxRQUFRLFVBQUssQ0FBQyxTQUFzQyxDQUFDLG1DQUFJLEVBQUUsVUFBbkQ7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO2lCQUMvRDtnQkFFRCxzQkFBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sV0FBSyxRQUFVLENBQUMsRUFBQzs7O0tBQ3BFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCwgUHJvdmlkZXIsIFJlZ2lvbkluZm9Qcm92aWRlciwgVXJsUGFyc2VyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5kcG9pbnRzSW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIGZ1bGx5IHF1YWxpZmllZCBlbmRwb2ludCBvZiB0aGUgd2Vic2VydmljZS4gVGhpcyBpcyBvbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgYSBjdXN0b20gZW5kcG9pbnQgKGZvciBleGFtcGxlLCB3aGVuIHVzaW5nIGEgbG9jYWwgdmVyc2lvbiBvZiBTMykuXG4gICAqL1xuICBlbmRwb2ludD86IHN0cmluZyB8IEVuZHBvaW50IHwgUHJvdmlkZXI8RW5kcG9pbnQ+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIFRMUyBpcyBlbmFibGVkIGZvciByZXF1ZXN0cy5cbiAgICovXG4gIHRscz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICByZWdpb25JbmZvUHJvdmlkZXI6IFJlZ2lvbkluZm9Qcm92aWRlcjtcbiAgdXJsUGFyc2VyOiBVcmxQYXJzZXI7XG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludHNSZXNvbHZlZENvbmZpZyBleHRlbmRzIFJlcXVpcmVkPEVuZHBvaW50c0lucHV0Q29uZmlnPiB7XG4gIGVuZHBvaW50OiBQcm92aWRlcjxFbmRwb2ludD47XG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlRW5kcG9pbnRzQ29uZmlnID0gPFQ+KFxuICBpbnB1dDogVCAmIEVuZHBvaW50c0lucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgRW5kcG9pbnRzUmVzb2x2ZWRDb25maWcgPT4gKHtcbiAgLi4uaW5wdXQsXG4gIHRsczogaW5wdXQudGxzID8/IHRydWUsXG4gIGVuZHBvaW50OiBpbnB1dC5lbmRwb2ludCA/IG5vcm1hbGl6ZUVuZHBvaW50KGlucHV0KSA6ICgpID0+IGdldEVuZFBvaW50RnJvbVJlZ2lvbihpbnB1dCksXG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGlucHV0LmVuZHBvaW50ID8gdHJ1ZSA6IGZhbHNlLFxufSk7XG5cbmNvbnN0IG5vcm1hbGl6ZUVuZHBvaW50ID0gKGlucHV0OiBFbmRwb2ludHNJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZCk6IFByb3ZpZGVyPEVuZHBvaW50PiA9PiB7XG4gIGNvbnN0IHsgZW5kcG9pbnQsIHVybFBhcnNlciB9ID0gaW5wdXQ7XG4gIGlmICh0eXBlb2YgZW5kcG9pbnQgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCBwcm9taXNpZmllZCA9IFByb21pc2UucmVzb2x2ZSh1cmxQYXJzZXIoZW5kcG9pbnQpKTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuZHBvaW50ID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUoZW5kcG9pbnQpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfVxuICByZXR1cm4gZW5kcG9pbnQhO1xufTtcblxuY29uc3QgZ2V0RW5kUG9pbnRGcm9tUmVnaW9uID0gYXN5bmMgKGlucHV0OiBFbmRwb2ludHNJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZCkgPT4ge1xuICBjb25zdCB7IHRscyA9IHRydWUgfSA9IGlucHV0O1xuICBjb25zdCByZWdpb24gPSBhd2FpdCBpbnB1dC5yZWdpb24oKTtcblxuICBjb25zdCBkbnNIb3N0UmVnZXggPSBuZXcgUmVnRXhwKC9eKFthLXpBLVowLTldfFthLXpBLVowLTldW2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pJC8pO1xuICBpZiAoIWRuc0hvc3RSZWdleC50ZXN0KHJlZ2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHJlZ2lvbiBpbiBjbGllbnQgY29uZmlnXCIpO1xuICB9XG5cbiAgY29uc3QgeyBob3N0bmFtZSB9ID0gKGF3YWl0IGlucHV0LnJlZ2lvbkluZm9Qcm92aWRlcihyZWdpb24pKSA/PyB7fTtcbiAgaWYgKCFob3N0bmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCByZXNvbHZlIGhvc3RuYW1lIGZyb20gY2xpZW50IGNvbmZpZ1wiKTtcbiAgfVxuXG4gIHJldHVybiBpbnB1dC51cmxQYXJzZXIoYCR7dGxzID8gXCJodHRwczpcIiA6IFwiaHR0cDpcIn0vLyR7aG9zdG5hbWV9YCk7XG59O1xuIl19","import { __assign } from \"tslib\";\nexport var REGION_ENV_NAME = \"AWS_REGION\";\nexport var REGION_INI_NAME = \"region\";\nexport var NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) { return env[REGION_ENV_NAME]; },\n configFileSelector: function (profile) { return profile[REGION_INI_NAME]; },\n default: function () {\n throw new Error(\"Region is missing\");\n },\n};\nexport var NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\nexport var resolveRegionConfig = function (input) {\n if (!input.region) {\n throw new Error(\"Region is missing\");\n }\n return __assign(__assign({}, input), { region: normalizeRegion(input.region) });\n};\nvar normalizeRegion = function (region) {\n if (typeof region === \"string\") {\n var promisified_1 = Promise.resolve(region);\n return function () { return promisified_1; };\n }\n return region;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaW9uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1JlZ2lvbkNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLFlBQVksQ0FBQztBQUM1QyxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxJQUFNLDBCQUEwQixHQUFrQztJQUN2RSwyQkFBMkIsRUFBRSxVQUFDLEdBQUcsSUFBSyxPQUFBLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBcEIsQ0FBb0I7SUFDMUQsa0JBQWtCLEVBQUUsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQXhCLENBQXdCO0lBQ3pELE9BQU8sRUFBRTtRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLCtCQUErQixHQUF1QjtJQUNqRSxhQUFhLEVBQUUsYUFBYTtDQUM3QixDQUFDO0FBZUYsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsVUFBSSxLQUFpRDtJQUN0RixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEM7SUFDRCw2QkFDSyxLQUFLLEtBQ1IsTUFBTSxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTyxDQUFDLElBQ3RDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsSUFBTSxlQUFlLEdBQUcsVUFBQyxNQUFpQztJQUN4RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLE1BQTBCLENBQUM7QUFDcEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVkQ29uZmlnU2VsZWN0b3JzLCBMb2NhbENvbmZpZ09wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvbm9kZS1jb25maWctcHJvdmlkZXJcIjtcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBSRUdJT05fRU5WX05BTUUgPSBcIkFXU19SRUdJT05cIjtcbmV4cG9ydCBjb25zdCBSRUdJT05fSU5JX05BTUUgPSBcInJlZ2lvblwiO1xuXG5leHBvcnQgY29uc3QgTk9ERV9SRUdJT05fQ09ORklHX09QVElPTlM6IExvYWRlZENvbmZpZ1NlbGVjdG9yczxzdHJpbmc+ID0ge1xuICBlbnZpcm9ubWVudFZhcmlhYmxlU2VsZWN0b3I6IChlbnYpID0+IGVudltSRUdJT05fRU5WX05BTUVdLFxuICBjb25maWdGaWxlU2VsZWN0b3I6IChwcm9maWxlKSA9PiBwcm9maWxlW1JFR0lPTl9JTklfTkFNRV0sXG4gIGRlZmF1bHQ6ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWdpb24gaXMgbWlzc2luZ1wiKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBOT0RFX1JFR0lPTl9DT05GSUdfRklMRV9PUFRJT05TOiBMb2NhbENvbmZpZ09wdGlvbnMgPSB7XG4gIHByZWZlcnJlZEZpbGU6IFwiY3JlZGVudGlhbHNcIixcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uSW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gdG8gd2hpY2ggdGhpcyBjbGllbnQgd2lsbCBzZW5kIHJlcXVlc3RzXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+O1xufVxuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uUmVzb2x2ZWRDb25maWcge1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlUmVnaW9uQ29uZmlnID0gPFQ+KGlucHV0OiBUICYgUmVnaW9uSW5wdXRDb25maWcgJiBQcmV2aW91c2x5UmVzb2x2ZWQpOiBUICYgUmVnaW9uUmVzb2x2ZWRDb25maWcgPT4ge1xuICBpZiAoIWlucHV0LnJlZ2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBpcyBtaXNzaW5nXCIpO1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgcmVnaW9uOiBub3JtYWxpemVSZWdpb24oaW5wdXQucmVnaW9uISksXG4gIH07XG59O1xuXG5jb25zdCBub3JtYWxpemVSZWdpb24gPSAocmVnaW9uOiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+KTogUHJvdmlkZXI8c3RyaW5nPiA9PiB7XG4gIGlmICh0eXBlb2YgcmVnaW9uID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUocmVnaW9uKTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIHJlZ2lvbiBhcyBQcm92aWRlcjxzdHJpbmc+O1xufTtcbiJdfQ==","export function requestTimeout(timeoutInMs) {\n if (timeoutInMs === void 0) { timeoutInMs = 0; }\n return new Promise(function (resolve, reject) {\n if (timeoutInMs) {\n setTimeout(function () {\n var timeoutError = new Error(\"Request did not complete within \" + timeoutInMs + \" ms\");\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10aW1lb3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcXVlc3QtdGltZW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsY0FBYyxDQUFDLFdBQWU7SUFBZiw0QkFBQSxFQUFBLGVBQWU7SUFDNUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1FBQ2pDLElBQUksV0FBVyxFQUFFO1lBQ2YsVUFBVSxDQUFDO2dCQUNULElBQU0sWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLHFDQUFtQyxXQUFXLFFBQUssQ0FBQyxDQUFDO2dCQUNwRixZQUFZLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiByZXF1ZXN0VGltZW91dCh0aW1lb3V0SW5NcyA9IDApOiBQcm9taXNlPG5ldmVyPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKHRpbWVvdXRJbk1zKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdGltZW91dEVycm9yID0gbmV3IEVycm9yKGBSZXF1ZXN0IGRpZCBub3QgY29tcGxldGUgd2l0aGluICR7dGltZW91dEluTXN9IG1zYCk7XG4gICAgICAgIHRpbWVvdXRFcnJvci5uYW1lID0gXCJUaW1lb3V0RXJyb3JcIjtcbiAgICAgICAgcmVqZWN0KHRpbWVvdXRFcnJvcik7XG4gICAgICB9LCB0aW1lb3V0SW5Ncyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==","import { __values } from \"tslib\";\nimport { HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { buildQueryString } from \"@aws-sdk/querystring-builder\";\nimport { requestTimeout } from \"./request-timeout\";\nvar FetchHttpHandler = /** @class */ (function () {\n function FetchHttpHandler(_a) {\n var _b = _a === void 0 ? {} : _a, requestTimeout = _b.requestTimeout;\n this.requestTimeout = requestTimeout;\n }\n FetchHttpHandler.prototype.destroy = function () {\n // Do nothing. TLS and HTTP/2 connection pooling is handled by the browser.\n };\n FetchHttpHandler.prototype.handle = function (request, _a) {\n var _b = _a === void 0 ? {} : _a, abortSignal = _b.abortSignal;\n var requestTimeoutInMs = this.requestTimeout;\n // if the request was already aborted, prevent doing extra work\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n var abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n var path = request.path;\n if (request.query) {\n var queryString = buildQueryString(request.query);\n if (queryString) {\n path += \"?\" + queryString;\n }\n }\n var port = request.port, method = request.method;\n var url = request.protocol + \"//\" + request.hostname + (port ? \":\" + port : \"\") + path;\n // Request constructor doesn't allow GET/HEAD request with body\n // ref: https://github.com/whatwg/fetch/issues/551\n var body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n var requestOptions = {\n body: body,\n headers: new Headers(request.headers),\n method: method,\n };\n // some browsers support abort signal\n if (typeof AbortController !== \"undefined\") {\n requestOptions[\"signal\"] = abortSignal;\n }\n var fetchRequest = new Request(url, requestOptions);\n var raceOfPromises = [\n fetch(fetchRequest).then(function (response) {\n var e_1, _a;\n var fetchHeaders = response.headers;\n var transformedHeaders = {};\n try {\n for (var _b = __values(fetchHeaders.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var pair = _c.value;\n transformedHeaders[pair[0]] = pair[1];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var hasReadableStream = response.body !== undefined;\n // Return the response with buffered body\n if (!hasReadableStream) {\n return response.blob().then(function (body) { return ({\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: body,\n }),\n }); });\n }\n // Return the response with streaming body\n return {\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise(function (resolve, reject) {\n abortSignal.onabort = function () {\n var abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }));\n }\n return Promise.race(raceOfPromises);\n };\n return FetchHttpHandler;\n}());\nexport { FetchHttpHandler };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtaHR0cC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZldGNoLWh0dHAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE0QixZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFlbkQ7SUFHRSwwQkFBWSxFQUFnRDtZQUFoRCxxQkFBOEMsRUFBRSxLQUFBLEVBQTlDLGNBQWMsb0JBQUE7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVELGtDQUFPLEdBQVA7UUFDRSwyRUFBMkU7SUFDN0UsQ0FBQztJQUVELGlDQUFNLEdBQU4sVUFBTyxPQUFvQixFQUFFLEVBQXdDO1lBQXhDLHFCQUFzQyxFQUFFLEtBQUEsRUFBdEMsV0FBVyxpQkFBQTtRQUN4QyxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFL0MsK0RBQStEO1FBQy9ELElBQUksV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLE9BQU8sRUFBRTtZQUN4QixJQUFNLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1lBQy9CLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2pCLElBQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxJQUFJLFdBQVcsRUFBRTtnQkFDZixJQUFJLElB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Q0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBM0ZELElBMkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgYnVpbGRRdWVyeVN0cmluZyB9IGZyb20gXCJAYXdzLXNkay9xdWVyeXN0cmluZy1idWlsZGVyXCI7XG5pbXBvcnQgeyBIZWFkZXJCYWcsIEh0dHBIYW5kbGVyT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyByZXF1ZXN0VGltZW91dCB9IGZyb20gXCIuL3JlcXVlc3QtdGltZW91dFwiO1xuXG5kZWNsYXJlIGxldCBBYm9ydENvbnRyb2xsZXI6IGFueTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBodHRwIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGEgYnJvd3NlciBodHRwIGNsaWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZXRjaEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhIHJlcXVlc3QgY2FuIHRha2UgYmVmb3JlIGJlaW5nIGF1dG9tYXRpY2FsbHlcbiAgICogdGVybWluYXRlZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRmV0Y2hIdHRwSGFuZGxlciBpbXBsZW1lbnRzIEh0dHBIYW5kbGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcih7IHJlcXVlc3RUaW1lb3V0IH06IEZldGNoSHR0cEhhbmRsZXJPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLnJlcXVlc3RUaW1lb3V0ID0gcmVxdWVzdFRpbWVvdXQ7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIERvIG5vdGhpbmcuIFRMUyBhbmQgSFRUUC8yIGNvbm5lY3Rpb24gcG9vbGluZyBpcyBoYW5kbGVkIGJ5IHRoZSBicm93c2VyLlxuICB9XG5cbiAgaGFuZGxlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LCB7IGFib3J0U2lnbmFsIH06IEh0dHBIYW5kbGVyT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx7IHJlc3BvbnNlOiBIdHRwUmVzcG9uc2UgfT4ge1xuICAgIGNvbnN0IHJlcXVlc3RUaW1lb3V0SW5NcyA9IHRoaXMucmVxdWVzdFRpbWVvdXQ7XG5cbiAgICAvLyBpZiB0aGUgcmVxdWVzdCB3YXMgYWxyZWFkeSBhYm9ydGVkLCBwcmV2ZW50IGRvaW5nIGV4dHJhIHdvcmtcbiAgICBpZiAoYWJvcnRTaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgIGNvbnN0IGFib3J0RXJyb3IgPSBuZXcgRXJyb3IoXCJSZXF1ZXN0IGFib3J0ZWRcIik7XG4gICAgICBhYm9ydEVycm9yLm5hbWUgPSBcIkFib3J0RXJyb3JcIjtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChhYm9ydEVycm9yKTtcbiAgICB9XG5cbiAgICBsZXQgcGF0aCA9IHJlcXVlc3QucGF0aDtcbiAgICBpZiAocmVxdWVzdC5xdWVyeSkge1xuICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBidWlsZFF1ZXJ5U3RyaW5nKHJlcXVlc3QucXVlcnkpO1xuICAgICAgaWYgKHF1ZXJ5U3RyaW5nKSB7XG4gICAgICAgIHBhdGggKz0gYD8ke3F1ZXJ5U3RyaW5nfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBwb3J0LCBtZXRob2QgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3QgdXJsID0gYCR7cmVxdWVzdC5wcm90b2NvbH0vLyR7cmVxdWVzdC5ob3N0bmFtZX0ke3BvcnQgPyBgOiR7cG9ydH1gIDogXCJcIn0ke3BhdGh9YDtcbiAgICAvLyBSZXF1ZXN0IGNvbnN0cnVjdG9yIGRvZXNuJ3QgYWxsb3cgR0VUL0hFQUQgcmVxdWVzdCB3aXRoIGJvZHlcbiAgICAvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gvaXNzdWVzLzU1MVxuICAgIGNvbnN0IGJvZHkgPSBtZXRob2QgPT09IFwiR0VUXCIgfHwgbWV0aG9kID09PSBcIkhFQURcIiA/IHVuZGVmaW5lZCA6IHJlcXVlc3QuYm9keTtcbiAgICBjb25zdCByZXF1ZXN0T3B0aW9uczogUmVxdWVzdEluaXQgPSB7XG4gICAgICBib2R5LFxuICAgICAgaGVhZGVyczogbmV3IEhlYWRlcnMocmVxdWVzdC5oZWFkZXJzKSxcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxuICAgIH07XG5cbiAgICAvLyBzb21lIGJyb3dzZXJzIHN1cHBvcnQgYWJvcnQgc2lnbmFsXG4gICAgaWYgKHR5cGVvZiBBYm9ydENvbnRyb2xsZXIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIChyZXF1ZXN0T3B0aW9ucyBhcyBhbnkpW1wic2lnbmFsXCJdID0gYWJvcnRTaWduYWw7XG4gICAgfVxuXG4gICAgY29uc3QgZmV0Y2hSZXF1ZXN0ID0gbmV3IFJlcXVlc3QodXJsLCByZXF1ZXN0T3B0aW9ucyk7XG4gICAgY29uc3QgcmFjZU9mUHJvbWlzZXMgPSBbXG4gICAgICBmZXRjaChmZXRjaFJlcXVlc3QpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGZldGNoSGVhZGVyczogYW55ID0gcmVzcG9uc2UuaGVhZGVycztcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRIZWFkZXJzOiBIZWFkZXJCYWcgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBhaXIgb2YgPEFycmF5PHN0cmluZ1tdPj5mZXRjaEhlYWRlcnMuZW50cmllcygpKSB7XG4gICAgICAgICAgdHJhbnNmb3JtZWRIZWFkZXJzW3BhaXJbMF1dID0gcGFpclsxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc1JlYWRhYmxlU3RyZWFtID0gcmVzcG9uc2UuYm9keSAhPT0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2Ugd2l0aCBidWZmZXJlZCBib2R5XG4gICAgICAgIGlmICghaGFzUmVhZGFibGVTdHJlYW0pIHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYmxvYigpLnRoZW4oKGJvZHkpID0+ICh7XG4gICAgICAgICAgICByZXNwb25zZTogbmV3IEh0dHBSZXNwb25zZSh7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHRyYW5zZm9ybWVkSGVhZGVycyxcbiAgICAgICAgICAgICAgc3RhdHVzQ29kZTogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2Ugd2l0aCBzdHJlYW1pbmcgYm9keVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3BvbnNlOiBuZXcgSHR0cFJlc3BvbnNlKHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHRyYW5zZm9ybWVkSGVhZGVycyxcbiAgICAgICAgICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICAgIGJvZHk6IHJlc3BvbnNlLmJvZHksXG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIHJlcXVlc3RUaW1lb3V0KHJlcXVlc3RUaW1lb3V0SW5NcyksXG4gICAgXTtcbiAgICBpZiAoYWJvcnRTaWduYWwpIHtcbiAgICAgIHJhY2VPZlByb21pc2VzLnB1c2goXG4gICAgICAgIG5ldyBQcm9taXNlPG5ldmVyPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgYWJvcnRTaWduYWwub25hYm9ydCA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFib3J0RXJyb3IgPSBuZXcgRXJyb3IoXCJSZXF1ZXN0IGFib3J0ZWRcIik7XG4gICAgICAgICAgICBhYm9ydEVycm9yLm5hbWUgPSBcIkFib3J0RXJyb3JcIjtcbiAgICAgICAgICAgIHJlamVjdChhYm9ydEVycm9yKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmFjZShyYWNlT2ZQcm9taXNlcyk7XG4gIH1cbn1cbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { fromBase64 } from \"@aws-sdk/util-base64-browser\";\n//reference: https://snack.expo.io/r1JCSWRGU\nexport var streamCollector = function (stream) {\n if (typeof Blob === \"function\" && stream instanceof Blob) {\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nfunction collectBlob(blob) {\n return __awaiter(this, void 0, void 0, function () {\n var base64, arrayBuffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readToBase64(blob)];\n case 1:\n base64 = _a.sent();\n arrayBuffer = fromBase64(base64);\n return [2 /*return*/, new Uint8Array(arrayBuffer)];\n }\n });\n });\n}\nfunction collectStream(stream) {\n return __awaiter(this, void 0, void 0, function () {\n var res, reader, isDone, _a, done, value, prior;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n res = new Uint8Array(0);\n reader = stream.getReader();\n isDone = false;\n _b.label = 1;\n case 1:\n if (!!isDone) return [3 /*break*/, 3];\n return [4 /*yield*/, reader.read()];\n case 2:\n _a = _b.sent(), done = _a.done, value = _a.value;\n if (value) {\n prior = res;\n res = new Uint8Array(prior.length + value.length);\n res.set(prior);\n res.set(value, prior.length);\n }\n isDone = done;\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/, res];\n }\n });\n });\n}\nfunction readToBase64(blob) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onloadend = function () {\n var _a;\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n // response from readAsDataURL is always prepended with \"data:*/*;base64,\"\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n var result = ((_a = reader.result) !== null && _a !== void 0 ? _a : \"\");\n // Response can include only 'data:' for empty blob, return empty string in this case.\n // Otherwise, return the string after ','\n var commaIndex = result.indexOf(\",\");\n var dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = function () { return reject(new Error(\"Read aborted\")); };\n reader.onerror = function () { return reject(reader.error); };\n // reader.readAsArrayBuffer is not always available\n reader.readAsDataURL(blob);\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLWNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW0tY29sbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUQsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBb0IsVUFBQyxNQUE2QjtJQUM1RSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsSUFBSSxNQUFNLFlBQVksSUFBSSxFQUFFO1FBQ3hELE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzVCO0lBRUQsT0FBTyxhQUFhLENBQUMsTUFBd0IsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQUVGLFNBQWUsV0FBVyxDQUFDLElBQVU7Ozs7O3dCQUNwQixxQkFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUE7O29CQUFqQyxNQUFNLEdBQUcsU0FBd0I7b0JBQ2pDLFdBQVcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3ZDLHNCQUFPLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFDOzs7O0NBQ3BDO0FBRUQsU0FBZSxhQUFhLENBQUMsTUFBc0I7Ozs7OztvQkFDN0MsR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN0QixNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUM5QixNQUFNLEdBQUcsS0FBSyxDQUFDOzs7eUJBQ1osQ0FBQyxNQUFNO29CQUNZLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBQTs7b0JBQXJDLEtBQWtCLFNBQW1CLEVBQW5DLElBQUksVUFBQSxFQUFFLEtBQUssV0FBQTtvQkFDbkIsSUFBSSxLQUFLLEVBQUU7d0JBQ0gsS0FBSyxHQUFHLEdBQUcsQ0FBQzt3QkFDbEIsR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNsRCxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNmLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDOUI7b0JBQ0QsTUFBTSxHQUFHLElBQUksQ0FBQzs7d0JBRWhCLHNCQUFPLEdBQUcsRUFBQzs7OztDQUNaO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBVTtJQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07UUFDakMsSUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsU0FBUyxHQUFHOztZQUNqQix1RkFBdUY7WUFDdkYsMEVBQTBFO1lBQzFFLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQzthQUN0RDtZQUNELElBQU0sTUFBTSxHQUFHLE9BQUMsTUFBTSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFXLENBQUM7WUFDL0Msc0ZBQXNGO1lBQ3RGLHlDQUF5QztZQUN6QyxJQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLElBQU0sVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNwRSxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsY0FBTSxPQUFBLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFqQyxDQUFpQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxPQUFPLEdBQUcsY0FBTSxPQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQXBCLENBQW9CLENBQUM7UUFDNUMsbURBQW1EO1FBQ25ELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RyZWFtQ29sbGVjdG9yIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmcm9tQmFzZTY0IH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtYmFzZTY0LWJyb3dzZXJcIjtcblxuLy9yZWZlcmVuY2U6IGh0dHBzOi8vc25hY2suZXhwby5pby9yMUpDU1dSR1VcbmV4cG9ydCBjb25zdCBzdHJlYW1Db2xsZWN0b3I6IFN0cmVhbUNvbGxlY3RvciA9IChzdHJlYW06IEJsb2IgfCBSZWFkYWJsZVN0cmVhbSk6IFByb21pc2U8VWludDhBcnJheT4gPT4ge1xuICBpZiAodHlwZW9mIEJsb2IgPT09IFwiZnVuY3Rpb25cIiAmJiBzdHJlYW0gaW5zdGFuY2VvZiBCbG9iKSB7XG4gICAgcmV0dXJuIGNvbGxlY3RCbG9iKHN0cmVhbSk7XG4gIH1cblxuICByZXR1cm4gY29sbGVjdFN0cmVhbShzdHJlYW0gYXMgUmVhZGFibGVTdHJlYW0pO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY29sbGVjdEJsb2IoYmxvYjogQmxvYik6IFByb21pc2U8VWludDhBcnJheT4ge1xuICBjb25zdCBiYXNlNjQgPSBhd2FpdCByZWFkVG9CYXNlNjQoYmxvYik7XG4gIGNvbnN0IGFycmF5QnVmZmVyID0gZnJvbUJhc2U2NChiYXNlNjQpO1xuICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb2xsZWN0U3RyZWFtKHN0cmVhbTogUmVhZGFibGVTdHJlYW0pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgbGV0IHJlcyA9IG5ldyBVaW50OEFycmF5KDApO1xuICBjb25zdCByZWFkZXIgPSBzdHJlYW0uZ2V0UmVhZGVyKCk7XG4gIGxldCBpc0RvbmUgPSBmYWxzZTtcbiAgd2hpbGUgKCFpc0RvbmUpIHtcbiAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgcHJpb3IgPSByZXM7XG4gICAgICByZXMgPSBuZXcgVWludDhBcnJheShwcmlvci5sZW5ndGggKyB2YWx1ZS5sZW5ndGgpO1xuICAgICAgcmVzLnNldChwcmlvcik7XG4gICAgICByZXMuc2V0KHZhbHVlLCBwcmlvci5sZW5ndGgpO1xuICAgIH1cbiAgICBpc0RvbmUgPSBkb25lO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5cbmZ1bmN0aW9uIHJlYWRUb0Jhc2U2NChibG9iOiBCbG9iKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICAvLyByZWZlcmVuY2U6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9GaWxlUmVhZGVyL3JlYWRBc0RhdGFVUkxcbiAgICAgIC8vIHJlc3BvbnNlIGZyb20gcmVhZEFzRGF0YVVSTCBpcyBhbHdheXMgcHJlcGVuZGVkIHdpdGggXCJkYXRhOiovKjtiYXNlNjQsXCJcbiAgICAgIGlmIChyZWFkZXIucmVhZHlTdGF0ZSAhPT0gMikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcIlJlYWRlciBhYm9ydGVkIHRvbyBlYXJseVwiKSk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQgPSAocmVhZGVyLnJlc3VsdCA/PyBcIlwiKSBhcyBzdHJpbmc7XG4gICAgICAvLyBSZXNwb25zZSBjYW4gaW5jbHVkZSBvbmx5ICdkYXRhOicgZm9yIGVtcHR5IGJsb2IsIHJldHVybiBlbXB0eSBzdHJpbmcgaW4gdGhpcyBjYXNlLlxuICAgICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHN0cmluZyBhZnRlciAnLCdcbiAgICAgIGNvbnN0IGNvbW1hSW5kZXggPSByZXN1bHQuaW5kZXhPZihcIixcIik7XG4gICAgICBjb25zdCBkYXRhT2Zmc2V0ID0gY29tbWFJbmRleCA+IC0xID8gY29tbWFJbmRleCArIDEgOiByZXN1bHQubGVuZ3RoO1xuICAgICAgcmVzb2x2ZShyZXN1bHQuc3Vic3RyaW5nKGRhdGFPZmZzZXQpKTtcbiAgICB9O1xuICAgIHJlYWRlci5vbmFib3J0ID0gKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihcIlJlYWQgYWJvcnRlZFwiKSk7XG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVhZGVyLmVycm9yKTtcbiAgICAvLyByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIgaXMgbm90IGFsd2F5cyBhdmFpbGFibGVcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcbiAgfSk7XG59XG4iXX0=","export var invalidProvider = function (message) { return function () { return Promise.reject(message); }; };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludmFsaWRQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQXVDLFVBQUMsT0FBZSxJQUFLLE9BQUEsY0FBTSxPQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQXZCLENBQXVCLEVBQTdCLENBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuZXhwb3J0IGNvbnN0IGludmFsaWRQcm92aWRlcjogKG1lc3NhZ2U6IHN0cmluZykgPT4gUHJvdmlkZXI8YW55PiA9IChtZXNzYWdlOiBzdHJpbmcpID0+ICgpID0+IFByb21pc2UucmVqZWN0KG1lc3NhZ2UpO1xuIl19","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nvar CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n var _this = this;\n return function (next) { return function (args) { return __awaiter(_this, void 0, void 0, function () {\n var request, body, headers, length;\n var _a;\n return __generator(this, function (_b) {\n request = args.request;\n if (HttpRequest.isInstance(request)) {\n body = request.body, headers = request.headers;\n if (body &&\n Object.keys(headers)\n .map(function (str) { return str.toLowerCase(); })\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n length = bodyLengthChecker(body);\n if (length !== undefined) {\n request.headers = __assign(__assign({}, request.headers), (_a = {}, _a[CONTENT_LENGTH_HEADER] = String(length), _a));\n }\n }\n }\n return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n });\n }); }; };\n}\nexport var contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport var getContentLengthPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVlyRCxJQUFNLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0FBRS9DLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxpQkFBdUM7SUFBL0UsaUJBNEJDO0lBM0JDLE9BQU8sVUFBZ0MsSUFBK0IsSUFBZ0MsT0FBQSxVQUNwRyxJQUFnQzs7OztZQUUxQixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksR0FBYyxPQUFPLEtBQXJCLEVBQUUsT0FBTyxHQUFLLE9BQU8sUUFBWixDQUFhO2dCQUNsQyxJQUNFLElBQUk7b0JBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7eUJBQ2pCLEdBQUcsQ0FBQyxVQUFDLEdBQUcsSUFBSyxPQUFBLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQzt5QkFDL0IsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3hDO29CQUNNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDdkMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO3dCQUN4QixPQUFPLENBQUMsT0FBTyx5QkFDVixPQUFPLENBQUMsT0FBTyxnQkFDakIscUJBQXFCLElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUN4QyxDQUFDO3FCQUNIO2lCQUNGO2FBQ0Y7WUFFRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOztTQUNKLEVBMUJxRyxDQTBCckcsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSw4QkFBOEIsR0FBd0I7SUFDakUsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUM5QyxJQUFJLEVBQUUseUJBQXlCO0lBQy9CLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHLFVBQUMsT0FBb0QsSUFBMEIsT0FBQSxDQUFDO0lBQ3BILFlBQVksRUFBRSxVQUFDLFdBQVc7UUFDeEIsV0FBVyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7Q0FDRixDQUFDLEVBSm1ILENBSW5ILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBCb2R5TGVuZ3RoQ2FsY3VsYXRvcixcbiAgQnVpbGRIYW5kbGVyLFxuICBCdWlsZEhhbmRsZXJBcmd1bWVudHMsXG4gIEJ1aWxkSGFuZGxlck9wdGlvbnMsXG4gIEJ1aWxkSGFuZGxlck91dHB1dCxcbiAgQnVpbGRNaWRkbGV3YXJlLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuY29uc3QgQ09OVEVOVF9MRU5HVEhfSEVBREVSID0gXCJjb250ZW50LWxlbmd0aFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudExlbmd0aE1pZGRsZXdhcmUoYm9keUxlbmd0aENoZWNrZXI6IEJvZHlMZW5ndGhDYWxjdWxhdG9yKTogQnVpbGRNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KG5leHQ6IEJ1aWxkSGFuZGxlcjxhbnksIE91dHB1dD4pOiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChcbiAgICBhcmdzOiBCdWlsZEhhbmRsZXJBcmd1bWVudHM8YW55PlxuICApOiBQcm9taXNlPEJ1aWxkSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgY29uc3QgcmVxdWVzdCA9IGFyZ3MucmVxdWVzdDtcbiAgICBpZiAoSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgICAgY29uc3QgeyBib2R5LCBoZWFkZXJzIH0gPSByZXF1ZXN0O1xuICAgICAgaWYgKFxuICAgICAgICBib2R5ICYmXG4gICAgICAgIE9iamVjdC5rZXlzKGhlYWRlcnMpXG4gICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAuaW5kZXhPZihDT05URU5UX0xFTkdUSF9IRUFERVIpID09PSAtMVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGJvZHlMZW5ndGhDaGVja2VyKGJvZHkpO1xuICAgICAgICBpZiAobGVuZ3RoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMgPSB7XG4gICAgICAgICAgICAuLi5yZXF1ZXN0LmhlYWRlcnMsXG4gICAgICAgICAgICBbQ09OVEVOVF9MRU5HVEhfSEVBREVSXTogU3RyaW5nKGxlbmd0aCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXh0KHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICByZXF1ZXN0LFxuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgY29udGVudExlbmd0aE1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHRhZ3M6IFtcIlNFVF9DT05URU5UX0xFTkdUSFwiLCBcIkNPTlRFTlRfTEVOR1RIXCJdLFxuICBuYW1lOiBcImNvbnRlbnRMZW5ndGhNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbnRlbnRMZW5ndGhQbHVnaW4gPSAob3B0aW9uczogeyBib2R5TGVuZ3RoQ2hlY2tlcjogQm9keUxlbmd0aENhbGN1bGF0b3IgfSk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoY29udGVudExlbmd0aE1pZGRsZXdhcmUob3B0aW9ucy5ib2R5TGVuZ3RoQ2hlY2tlciksIGNvbnRlbnRMZW5ndGhNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nexport function resolveHostHeaderConfig(input) {\n return input;\n}\nexport var hostHeaderMiddleware = function (options) { return function (next) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request, _a, handlerProtocol;\n return __generator(this, function (_b) {\n if (!HttpRequest.isInstance(args.request))\n return [2 /*return*/, next(args)];\n request = args.request;\n _a = (options.requestHandler.metadata || {}).handlerProtocol, handlerProtocol = _a === void 0 ? \"\" : _a;\n //For H2 request, remove 'host' header and use ':authority' header instead\n //reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n //non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.\n }\n else if (!request.headers[\"host\"]) {\n request.headers[\"host\"] = request.hostname;\n }\n return [2 /*return*/, next(args)];\n });\n}); }; }; };\nexport var hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nexport var getHostHeaderPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVVyRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQXFEO0lBRXJELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFHLFVBQ2xDLE9BQWlDLElBQ0UsT0FBQSxVQUFDLElBQUksSUFBSyxPQUFBLFVBQU8sSUFBSTs7O1FBQ3hELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFBRSxzQkFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7UUFDckQsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFVO1FBQ2pCLEtBQXlCLENBQUEsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFBLGdCQUExQyxFQUFwQixlQUFlLG1CQUFHLEVBQUUsS0FBQSxDQUEyQztRQUN2RSwwRUFBMEU7UUFDMUUsMkdBQTJHO1FBQzNHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQywyRkFBMkY7U0FDNUY7YUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDNUM7UUFDRCxzQkFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7O0tBQ25CLEVBZDhDLENBYzlDLEVBZG9DLENBY3BDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSwyQkFBMkIsR0FBMkM7SUFDakYsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QixJQUFJLEVBQUUsT0FBTztJQUNiLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ2QsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsVUFBQyxPQUFpQyxJQUEwQixPQUFBLENBQUM7SUFDOUYsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGLENBQUMsRUFKNkYsQ0FJN0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IEFic29sdXRlTG9jYXRpb24sIEJ1aWxkSGFuZGxlck9wdGlvbnMsIEJ1aWxkTWlkZGxld2FyZSwgUGx1Z2dhYmxlLCBSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJJbnB1dENvbmZpZyB7fVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxhbnksIGFueT47XG59XG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyB7XG4gIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxhbnksIGFueT47XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUhvc3RIZWFkZXJDb25maWc8VD4oXG4gIGlucHV0OiBUICYgUHJldmlvdXNseVJlc29sdmVkICYgSG9zdEhlYWRlcklucHV0Q29uZmlnXG4pOiBUICYgSG9zdEhlYWRlclJlc29sdmVkQ29uZmlnIHtcbiAgcmV0dXJuIGlucHV0O1xufVxuXG5leHBvcnQgY29uc3QgaG9zdEhlYWRlck1pZGRsZXdhcmUgPSA8SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCBleHRlbmRzIG9iamVjdD4oXG4gIG9wdGlvbnM6IEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZ1xuKTogQnVpbGRNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+ID0+IChuZXh0KSA9PiBhc3luYyAoYXJncykgPT4ge1xuICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UoYXJncy5yZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgY29uc3QgeyBoYW5kbGVyUHJvdG9jb2wgPSBcIlwiIH0gPSBvcHRpb25zLnJlcXVlc3RIYW5kbGVyLm1ldGFkYXRhIHx8IHt9O1xuICAvL0ZvciBIMiByZXF1ZXN0LCByZW1vdmUgJ2hvc3QnIGhlYWRlciBhbmQgdXNlICc6YXV0aG9yaXR5JyBoZWFkZXIgaW5zdGVhZFxuICAvL3JlZmVyZW5jZTogaHR0cHM6Ly9ub2RlanMub3JnL2Rpc3QvbGF0ZXN0LXYxMy54L2RvY3MvYXBpL2Vycm9ycy5odG1sI0VSUl9IVFRQMl9JTlZBTElEX0NPTk5FQ1RJT05fSEVBREVSU1xuICBpZiAoaGFuZGxlclByb3RvY29sLmluZGV4T2YoXCJoMlwiKSA+PSAwICYmICFyZXF1ZXN0LmhlYWRlcnNbXCI6YXV0aG9yaXR5XCJdKSB7XG4gICAgZGVsZXRlIHJlcXVlc3QuaGVhZGVyc1tcImhvc3RcIl07XG4gICAgcmVxdWVzdC5oZWFkZXJzW1wiOmF1dGhvcml0eVwiXSA9IFwiXCI7XG4gICAgLy9ub24tSDIgcmVxdWVzdCBhbmQgJ2hvc3QnIGhlYWRlciBpcyBub3Qgc2V0LCBzZXQgdGhlICdob3N0JyBoZWFkZXIgdG8gcmVxdWVzdCdzIGhvc3RuYW1lLlxuICB9IGVsc2UgaWYgKCFyZXF1ZXN0LmhlYWRlcnNbXCJob3N0XCJdKSB7XG4gICAgcmVxdWVzdC5oZWFkZXJzW1wiaG9zdFwiXSA9IHJlcXVlc3QuaG9zdG5hbWU7XG4gIH1cbiAgcmV0dXJuIG5leHQoYXJncyk7XG59O1xuXG5leHBvcnQgY29uc3QgaG9zdEhlYWRlck1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJob3N0SGVhZGVyTWlkZGxld2FyZVwiLFxuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHByaW9yaXR5OiBcImxvd1wiLFxuICB0YWdzOiBbXCJIT1NUXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0SGVhZGVyUGx1Z2luID0gKG9wdGlvbnM6IEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoaG9zdEhlYWRlck1pZGRsZXdhcmUob3B0aW9ucyksIGhvc3RIZWFkZXJNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","import { __awaiter, __generator, __rest } from \"tslib\";\nexport var loggerMiddleware = function () { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var clientName, commandName, inputFilterSensitiveLog, logger, outputFilterSensitiveLog, response, _a, $metadata, outputWithoutMetadata;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n clientName = context.clientName, commandName = context.commandName, inputFilterSensitiveLog = context.inputFilterSensitiveLog, logger = context.logger, outputFilterSensitiveLog = context.outputFilterSensitiveLog;\n return [4 /*yield*/, next(args)];\n case 1:\n response = _b.sent();\n if (!logger) {\n return [2 /*return*/, response];\n }\n if (typeof logger.info === \"function\") {\n _a = response.output, $metadata = _a.$metadata, outputWithoutMetadata = __rest(_a, [\"$metadata\"]);\n logger.info({\n clientName: clientName,\n commandName: commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n }\n return [2 /*return*/, response];\n }\n });\n}); }; }; };\nexport var loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport var getLoggerPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXJNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFZQSxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxjQUFNLE9BQUEsVUFDcEMsSUFBb0MsRUFDcEMsT0FBZ0MsSUFDRyxPQUFBLFVBQ25DLElBQXFDOzs7OztnQkFFN0IsVUFBVSxHQUE2RSxPQUFPLFdBQXBGLEVBQUUsV0FBVyxHQUFnRSxPQUFPLFlBQXZFLEVBQUUsdUJBQXVCLEdBQXVDLE9BQU8sd0JBQTlDLEVBQUUsTUFBTSxHQUErQixPQUFPLE9BQXRDLEVBQUUsd0JBQXdCLEdBQUssT0FBTyx5QkFBWixDQUFhO2dCQUV0RixxQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUE7O2dCQUEzQixRQUFRLEdBQUcsU0FBZ0I7Z0JBRWpDLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsc0JBQU8sUUFBUSxFQUFDO2lCQUNqQjtnQkFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7b0JBQy9CLEtBQTBDLFFBQVEsQ0FBQyxNQUFNLEVBQXZELFNBQVMsZUFBQSxFQUFLLHFCQUFxQixjQUFyQyxhQUF1QyxDQUFGLENBQXFCO29CQUNoRSxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUNWLFVBQVUsWUFBQTt3QkFDVixXQUFXLGFBQUE7d0JBQ1gsS0FBSyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7d0JBQzFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQzt3QkFDdkQsUUFBUSxFQUFFLFNBQVM7cUJBQ3BCLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxzQkFBTyxRQUFRLEVBQUM7OztLQUNqQixFQXZCb0MsQ0F1QnBDLEVBMUJxQyxDQTBCckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLHVCQUF1QixHQUFnRDtJQUNsRixJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUNoQixJQUFJLEVBQUUsWUFBWTtJQUNsQixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRiw2REFBNkQ7QUFDN0QsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLFVBQUMsT0FBWSxJQUEwQixPQUFBLENBQUM7SUFDckUsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0YsQ0FBQyxFQUpvRSxDQUlwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEFic29sdXRlTG9jYXRpb24sXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBJbml0aWFsaXplSGFuZGxlcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyxcbiAgSW5pdGlhbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBQbHVnZ2FibGUsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgbG9nZ2VyTWlkZGxld2FyZSA9ICgpID0+IDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlciA9IE1ldGFkYXRhQmVhcmVyPihcbiAgbmV4dDogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+LFxuICBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dFxuKTogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChcbiAgYXJnczogSW5pdGlhbGl6ZUhhbmRsZXJBcmd1bWVudHM8YW55PlxuKTogUHJvbWlzZTxJbml0aWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gIGNvbnN0IHsgY2xpZW50TmFtZSwgY29tbWFuZE5hbWUsIGlucHV0RmlsdGVyU2Vuc2l0aXZlTG9nLCBsb2dnZXIsIG91dHB1dEZpbHRlclNlbnNpdGl2ZUxvZyB9ID0gY29udGV4dDtcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG5leHQoYXJncyk7XG5cbiAgaWYgKCFsb2dnZXIpIHtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIGxvZ2dlci5pbmZvID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCB7ICRtZXRhZGF0YSwgLi4ub3V0cHV0V2l0aG91dE1ldGFkYXRhIH0gPSByZXNwb25zZS5vdXRwdXQ7XG4gICAgbG9nZ2VyLmluZm8oe1xuICAgICAgY2xpZW50TmFtZSxcbiAgICAgIGNvbW1hbmROYW1lLFxuICAgICAgaW5wdXQ6IGlucHV0RmlsdGVyU2Vuc2l0aXZlTG9nKGFyZ3MuaW5wdXQpLFxuICAgICAgb3V0cHV0OiBvdXRwdXRGaWx0ZXJTZW5zaXRpdmVMb2cob3V0cHV0V2l0aG91dE1ldGFkYXRhKSxcbiAgICAgIG1ldGFkYXRhOiAkbWV0YWRhdGEsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2U7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nZ2VyTWlkZGxld2FyZU9wdGlvbnM6IEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyAmIEFic29sdXRlTG9jYXRpb24gPSB7XG4gIG5hbWU6IFwibG9nZ2VyTWlkZGxld2FyZVwiLFxuICB0YWdzOiBbXCJMT0dHRVJcIl0sXG4gIHN0ZXA6IFwiaW5pdGlhbGl6ZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCBjb25zdCBnZXRMb2dnZXJQbHVnaW4gPSAob3B0aW9uczogYW55KTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChsb2dnZXJNaWRkbGV3YXJlKCksIGxvZ2dlck1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19","import { __awaiter, __generator, __read, __spread } from \"tslib\";\nexport var retryMiddleware = function (options) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n if ((_a = options === null || options === void 0 ? void 0 : options.retryStrategy) === null || _a === void 0 ? void 0 : _a.mode)\n context.userAgent = __spread((context.userAgent || []), [[\"cfg/retry-mode\", options.retryStrategy.mode]]);\n return [2 /*return*/, options.retryStrategy.retry(next, args)];\n });\n}); }; }; };\nexport var retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport var getRetryPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnlNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JldHJ5TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBYUEsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLFVBQUMsT0FBNEIsSUFBSyxPQUFBLFVBQy9ELElBQWtDLEVBQ2xDLE9BQWdDLElBQ0MsT0FBQSxVQUNqQyxJQUFtQzs7O1FBRW5DLFVBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGFBQWEsMENBQUUsSUFBSTtZQUM5QixPQUFPLENBQUMsU0FBUyxZQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsR0FBRSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQztRQUNyRyxzQkFBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUM7O0tBQ2hELEVBTmtDLENBTWxDLEVBVGdFLENBU2hFLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBcUQ7SUFDdEYsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDZixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxVQUFDLE9BQTRCLElBQTBCLE9BQUEsQ0FBQztJQUNwRixZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGLENBQUMsRUFKbUYsQ0FJbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFic29sdXRlTG9jYXRpb24sXG4gIEZpbmFsaXplSGFuZGxlcixcbiAgRmluYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBGaW5hbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIEZpbmFsaXplUmVxdWVzdEhhbmRsZXJPcHRpb25zLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmltcG9ydCB7IFJldHJ5UmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuXG5leHBvcnQgY29uc3QgcmV0cnlNaWRkbGV3YXJlID0gKG9wdGlvbnM6IFJldHJ5UmVzb2x2ZWRDb25maWcpID0+IDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlciA9IE1ldGFkYXRhQmVhcmVyPihcbiAgbmV4dDogRmluYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IEZpbmFsaXplSGFuZGxlcjxhbnksIE91dHB1dD4gPT4gYXN5bmMgKFxuICBhcmdzOiBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHM8YW55PlxuKTogUHJvbWlzZTxGaW5hbGl6ZUhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICBpZiAob3B0aW9ucz8ucmV0cnlTdHJhdGVneT8ubW9kZSlcbiAgICBjb250ZXh0LnVzZXJBZ2VudCA9IFsuLi4oY29udGV4dC51c2VyQWdlbnQgfHwgW10pLCBbXCJjZmcvcmV0cnktbW9kZVwiLCBvcHRpb25zLnJldHJ5U3RyYXRlZ3kubW9kZV1dO1xuICByZXR1cm4gb3B0aW9ucy5yZXRyeVN0cmF0ZWd5LnJldHJ5KG5leHQsIGFyZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJldHJ5TWlkZGxld2FyZU9wdGlvbnM6IEZpbmFsaXplUmVxdWVzdEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJyZXRyeU1pZGRsZXdhcmVcIixcbiAgdGFnczogW1wiUkVUUllcIl0sXG4gIHN0ZXA6IFwiZmluYWxpemVSZXF1ZXN0XCIsXG4gIHByaW9yaXR5OiBcImhpZ2hcIixcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmV0cnlQbHVnaW4gPSAob3B0aW9uczogUmV0cnlSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQocmV0cnlNaWRkbGV3YXJlKG9wdGlvbnMpLCByZXRyeU1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19","/**\n * Errors encountered when the client clock and server clock cannot agree on the\n * current time.\n *\n * These errors are retryable, assuming the SDK has enabled clock skew\n * correction.\n */\nexport var CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\n/**\n * Errors that indicate the SDK is being throttled.\n *\n * These errors are always retryable.\n */\nexport var THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\n/**\n * Error codes that indicate transient issues\n */\nexport var TRANSIENT_ERROR_CODES = [\"AbortError\", \"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\n/**\n * Error codes that indicate transient issues\n */\nexport var TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBRztJQUNwQyxhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtDQUN4QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHO0lBQ3BDLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qix3Q0FBd0M7SUFDeEMsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsVUFBVTtJQUNWLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQixnQ0FBZ0M7Q0FDakMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFFakg7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSw0QkFBNEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFcnJvcnMgZW5jb3VudGVyZWQgd2hlbiB0aGUgY2xpZW50IGNsb2NrIGFuZCBzZXJ2ZXIgY2xvY2sgY2Fubm90IGFncmVlIG9uIHRoZVxuICogY3VycmVudCB0aW1lLlxuICpcbiAqIFRoZXNlIGVycm9ycyBhcmUgcmV0cnlhYmxlLCBhc3N1bWluZyB0aGUgU0RLIGhhcyBlbmFibGVkIGNsb2NrIHNrZXdcbiAqIGNvcnJlY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBDTE9DS19TS0VXX0VSUk9SX0NPREVTID0gW1xuICBcIkF1dGhGYWlsdXJlXCIsXG4gIFwiSW52YWxpZFNpZ25hdHVyZUV4Y2VwdGlvblwiLFxuICBcIlJlcXVlc3RFeHBpcmVkXCIsXG4gIFwiUmVxdWVzdEluVGhlRnV0dXJlXCIsXG4gIFwiUmVxdWVzdFRpbWVUb29Ta2V3ZWRcIixcbiAgXCJTaWduYXR1cmVEb2VzTm90TWF0Y2hcIixcbl07XG5cbi8qKlxuICogRXJyb3JzIHRoYXQgaW5kaWNhdGUgdGhlIFNESyBpcyBiZWluZyB0aHJvdHRsZWQuXG4gKlxuICogVGhlc2UgZXJyb3JzIGFyZSBhbHdheXMgcmV0cnlhYmxlLlxuICovXG5leHBvcnQgY29uc3QgVEhST1RUTElOR19FUlJPUl9DT0RFUyA9IFtcbiAgXCJCYW5kd2lkdGhMaW1pdEV4Y2VlZGVkXCIsXG4gIFwiRUMyVGhyb3R0bGVkRXhjZXB0aW9uXCIsXG4gIFwiTGltaXRFeGNlZWRlZEV4Y2VwdGlvblwiLFxuICBcIlByaW9yUmVxdWVzdE5vdENvbXBsZXRlXCIsXG4gIFwiUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJSZXF1ZXN0TGltaXRFeGNlZWRlZFwiLFxuICBcIlJlcXVlc3RUaHJvdHRsZWRcIixcbiAgXCJSZXF1ZXN0VGhyb3R0bGVkRXhjZXB0aW9uXCIsXG4gIFwiU2xvd0Rvd25cIixcbiAgXCJUaHJvdHRsZWRFeGNlcHRpb25cIixcbiAgXCJUaHJvdHRsaW5nXCIsXG4gIFwiVGhyb3R0bGluZ0V4Y2VwdGlvblwiLFxuICBcIlRvb01hbnlSZXF1ZXN0c0V4Y2VwdGlvblwiLFxuICBcIlRyYW5zYWN0aW9uSW5Qcm9ncmVzc0V4Y2VwdGlvblwiLCAvLyBEeW5hbW9EQlxuXTtcblxuLyoqXG4gKiBFcnJvciBjb2RlcyB0aGF0IGluZGljYXRlIHRyYW5zaWVudCBpc3N1ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IFRSQU5TSUVOVF9FUlJPUl9DT0RFUyA9IFtcIkFib3J0RXJyb3JcIiwgXCJUaW1lb3V0RXJyb3JcIiwgXCJSZXF1ZXN0VGltZW91dFwiLCBcIlJlcXVlc3RUaW1lb3V0RXhjZXB0aW9uXCJdO1xuXG4vKipcbiAqIEVycm9yIGNvZGVzIHRoYXQgaW5kaWNhdGUgdHJhbnNpZW50IGlzc3Vlc1xuICovXG5leHBvcnQgY29uc3QgVFJBTlNJRU5UX0VSUk9SX1NUQVRVU19DT0RFUyA9IFs1MDAsIDUwMiwgNTAzLCA1MDRdO1xuIl19","import { CLOCK_SKEW_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport var isRetryableByTrait = function (error) { return error.$retryable !== undefined; };\nexport var isClockSkewError = function (error) { return CLOCK_SKEW_ERROR_CODES.includes(error.name); };\nexport var isThrottlingError = function (error) {\n var _a, _b;\n return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n ((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true;\n};\nexport var isTransientError = function (error) {\n var _a;\n return TRANSIENT_ERROR_CODES.includes(error.name) ||\n TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLDRCQUE0QixHQUM3QixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxVQUFDLEtBQWUsSUFBSyxPQUFBLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUE5QixDQUE4QixDQUFDO0FBRXRGLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLFVBQUMsS0FBZSxJQUFLLE9BQUEsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBM0MsQ0FBMkMsQ0FBQztBQUVqRyxNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLEtBQWU7O0lBQy9DLE9BQUEsT0FBQSxLQUFLLENBQUMsU0FBUywwQ0FBRSxjQUFjLE1BQUssR0FBRztRQUN2QyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMzQyxPQUFBLEtBQUssQ0FBQyxVQUFVLDBDQUFFLFVBQVUsS0FBSSxJQUFJLENBQUE7Q0FBQSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLFVBQUMsS0FBZTs7SUFDOUMsT0FBQSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMxQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsT0FBQSxLQUFLLENBQUMsU0FBUywwQ0FBRSxjQUFjLEtBQUksQ0FBQyxDQUFDLENBQUE7Q0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2RrRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvc21pdGh5LWNsaWVudFwiO1xuXG5pbXBvcnQge1xuICBDTE9DS19TS0VXX0VSUk9SX0NPREVTLFxuICBUSFJPVFRMSU5HX0VSUk9SX0NPREVTLFxuICBUUkFOU0lFTlRfRVJST1JfQ09ERVMsXG4gIFRSQU5TSUVOVF9FUlJPUl9TVEFUVVNfQ09ERVMsXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgY29uc3QgaXNSZXRyeWFibGVCeVRyYWl0ID0gKGVycm9yOiBTZGtFcnJvcikgPT4gZXJyb3IuJHJldHJ5YWJsZSAhPT0gdW5kZWZpbmVkO1xuXG5leHBvcnQgY29uc3QgaXNDbG9ja1NrZXdFcnJvciA9IChlcnJvcjogU2RrRXJyb3IpID0+IENMT0NLX1NLRVdfRVJST1JfQ09ERVMuaW5jbHVkZXMoZXJyb3IubmFtZSk7XG5cbmV4cG9ydCBjb25zdCBpc1Rocm90dGxpbmdFcnJvciA9IChlcnJvcjogU2RrRXJyb3IpID0+XG4gIGVycm9yLiRtZXRhZGF0YT8uaHR0cFN0YXR1c0NvZGUgPT09IDQyOSB8fFxuICBUSFJPVFRMSU5HX0VSUk9SX0NPREVTLmluY2x1ZGVzKGVycm9yLm5hbWUpIHx8XG4gIGVycm9yLiRyZXRyeWFibGU/LnRocm90dGxpbmcgPT0gdHJ1ZTtcblxuZXhwb3J0IGNvbnN0IGlzVHJhbnNpZW50RXJyb3IgPSAoZXJyb3I6IFNka0Vycm9yKSA9PlxuICBUUkFOU0lFTlRfRVJST1JfQ09ERVMuaW5jbHVkZXMoZXJyb3IubmFtZSkgfHxcbiAgVFJBTlNJRU5UX0VSUk9SX1NUQVRVU19DT0RFUy5pbmNsdWRlcyhlcnJvci4kbWV0YWRhdGE/Lmh0dHBTdGF0dXNDb2RlIHx8IDApO1xuIl19","/**\n * The base number of milliseconds to use in calculating a suitable cool-down\n * time when a retryable error is encountered.\n */\nexport var DEFAULT_RETRY_DELAY_BASE = 100;\n/**\n * The maximum amount of time (in milliseconds) that will be used as a delay\n * between retry attempts.\n */\nexport var MAXIMUM_RETRY_DELAY = 20 * 1000;\n/**\n * The retry delay base (in milliseconds) to use when a throttling error is\n * encountered.\n */\nexport var THROTTLING_RETRY_DELAY_BASE = 500;\n/**\n * Initial number of retry tokens in Retry Quota\n */\nexport var INITIAL_RETRY_TOKENS = 500;\n/**\n * The total amount of retry tokens to be decremented from retry token balance.\n */\nexport var RETRY_COST = 5;\n/**\n * The total amount of retry tokens to be decremented from retry token balance\n * when a throttling error is encountered.\n */\nexport var TIMEOUT_RETRY_COST = 10;\n/**\n * The total amount of retry token to be incremented from retry token balance\n * if an SDK operation invocation succeeds without requiring a retry request.\n */\nexport var NO_RETRY_INCREMENT = 1;\n/**\n * Header name for SDK invocation ID\n */\nexport var INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\n/**\n * Header name for request retry information.\n */\nexport var REQUEST_HEADER = \"amz-sdk-request\";\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBRTVCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUVyQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFFcEM7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQztBQUU1RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGJhc2UgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB1c2UgaW4gY2FsY3VsYXRpbmcgYSBzdWl0YWJsZSBjb29sLWRvd25cbiAqIHRpbWUgd2hlbiBhIHJldHJ5YWJsZSBlcnJvciBpcyBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVUUllfREVMQVlfQkFTRSA9IDEwMDtcblxuLyoqXG4gKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSAoaW4gbWlsbGlzZWNvbmRzKSB0aGF0IHdpbGwgYmUgdXNlZCBhcyBhIGRlbGF5XG4gKiBiZXR3ZWVuIHJldHJ5IGF0dGVtcHRzLlxuICovXG5leHBvcnQgY29uc3QgTUFYSU1VTV9SRVRSWV9ERUxBWSA9IDIwICogMTAwMDtcblxuLyoqXG4gKiBUaGUgcmV0cnkgZGVsYXkgYmFzZSAoaW4gbWlsbGlzZWNvbmRzKSB0byB1c2Ugd2hlbiBhIHRocm90dGxpbmcgZXJyb3IgaXNcbiAqIGVuY291bnRlcmVkLlxuICovXG5leHBvcnQgY29uc3QgVEhST1RUTElOR19SRVRSWV9ERUxBWV9CQVNFID0gNTAwO1xuXG4vKipcbiAqIEluaXRpYWwgbnVtYmVyIG9mIHJldHJ5IHRva2VucyBpbiBSZXRyeSBRdW90YVxuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9SRVRSWV9UT0tFTlMgPSA1MDA7XG5cbi8qKlxuICogVGhlIHRvdGFsIGFtb3VudCBvZiByZXRyeSB0b2tlbnMgdG8gYmUgZGVjcmVtZW50ZWQgZnJvbSByZXRyeSB0b2tlbiBiYWxhbmNlLlxuICovXG5leHBvcnQgY29uc3QgUkVUUllfQ09TVCA9IDU7XG5cbi8qKlxuICogVGhlIHRvdGFsIGFtb3VudCBvZiByZXRyeSB0b2tlbnMgdG8gYmUgZGVjcmVtZW50ZWQgZnJvbSByZXRyeSB0b2tlbiBiYWxhbmNlXG4gKiB3aGVuIGEgdGhyb3R0bGluZyBlcnJvciBpcyBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRJTUVPVVRfUkVUUllfQ09TVCA9IDEwO1xuXG4vKipcbiAqIFRoZSB0b3RhbCBhbW91bnQgb2YgcmV0cnkgdG9rZW4gdG8gYmUgaW5jcmVtZW50ZWQgZnJvbSByZXRyeSB0b2tlbiBiYWxhbmNlXG4gKiBpZiBhbiBTREsgb3BlcmF0aW9uIGludm9jYXRpb24gc3VjY2VlZHMgd2l0aG91dCByZXF1aXJpbmcgYSByZXRyeSByZXF1ZXN0LlxuICovXG5leHBvcnQgY29uc3QgTk9fUkVUUllfSU5DUkVNRU5UID0gMTtcblxuLyoqXG4gKiBIZWFkZXIgbmFtZSBmb3IgU0RLIGludm9jYXRpb24gSURcbiAqL1xuZXhwb3J0IGNvbnN0IElOVk9DQVRJT05fSURfSEVBREVSID0gXCJhbXotc2RrLWludm9jYXRpb24taWRcIjtcblxuLyoqXG4gKiBIZWFkZXIgbmFtZSBmb3IgcmVxdWVzdCByZXRyeSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFUVVFU1RfSEVBREVSID0gXCJhbXotc2RrLXJlcXVlc3RcIjtcbiJdfQ==","import { NO_RETRY_INCREMENT, RETRY_COST, TIMEOUT_RETRY_COST } from \"./constants\";\nexport var getDefaultRetryQuota = function (initialRetryTokens) {\n var MAX_CAPACITY = initialRetryTokens;\n var availableCapacity = initialRetryTokens;\n var getCapacityAmount = function (error) { return (error.name === \"TimeoutError\" ? TIMEOUT_RETRY_COST : RETRY_COST); };\n var hasRetryTokens = function (error) { return getCapacityAmount(error) <= availableCapacity; };\n var retrieveRetryTokens = function (error) {\n if (!hasRetryTokens(error)) {\n // retryStrategy should stop retrying, and return last error\n throw new Error(\"No retry token available\");\n }\n var capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n var releaseRetryTokens = function (capacityReleaseAmount) {\n availableCapacity += capacityReleaseAmount !== null && capacityReleaseAmount !== void 0 ? capacityReleaseAmount : NO_RETRY_INCREMENT;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens: hasRetryTokens,\n retrieveRetryTokens: retrieveRetryTokens,\n releaseRetryTokens: releaseRetryTokens,\n });\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFJldHJ5UXVvdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVmYXVsdFJldHJ5UXVvdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdqRixNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxVQUFDLGtCQUEwQjtJQUM3RCxJQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztJQUN4QyxJQUFJLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0lBRTNDLElBQU0saUJBQWlCLEdBQUcsVUFBQyxLQUFlLElBQUssT0FBQSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQWpFLENBQWlFLENBQUM7SUFFakgsSUFBTSxjQUFjLEdBQUcsVUFBQyxLQUFlLElBQUssT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsRUFBN0MsQ0FBNkMsQ0FBQztJQUUxRixJQUFNLG1CQUFtQixHQUFHLFVBQUMsS0FBZTtRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLDREQUE0RDtZQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxpQkFBaUIsSUFBSSxjQUFjLENBQUM7UUFDcEMsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0lBRUYsSUFBTSxrQkFBa0IsR0FBRyxVQUFDLHFCQUE4QjtRQUN4RCxpQkFBaUIsSUFBSSxxQkFBcUIsYUFBckIscUJBQXFCLGNBQXJCLHFCQUFxQixHQUFJLGtCQUFrQixDQUFDO1FBQ2pFLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ25CLGNBQWMsZ0JBQUE7UUFDZCxtQkFBbUIscUJBQUE7UUFDbkIsa0JBQWtCLG9CQUFBO0tBQ25CLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNka0Vycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3NtaXRoeS1jbGllbnRcIjtcblxuaW1wb3J0IHsgTk9fUkVUUllfSU5DUkVNRU5ULCBSRVRSWV9DT1NULCBUSU1FT1VUX1JFVFJZX0NPU1QgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFJldHJ5UXVvdGEgfSBmcm9tIFwiLi9kZWZhdWx0U3RyYXRlZ3lcIjtcblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRSZXRyeVF1b3RhID0gKGluaXRpYWxSZXRyeVRva2VuczogbnVtYmVyKTogUmV0cnlRdW90YSA9PiB7XG4gIGNvbnN0IE1BWF9DQVBBQ0lUWSA9IGluaXRpYWxSZXRyeVRva2VucztcbiAgbGV0IGF2YWlsYWJsZUNhcGFjaXR5ID0gaW5pdGlhbFJldHJ5VG9rZW5zO1xuXG4gIGNvbnN0IGdldENhcGFjaXR5QW1vdW50ID0gKGVycm9yOiBTZGtFcnJvcikgPT4gKGVycm9yLm5hbWUgPT09IFwiVGltZW91dEVycm9yXCIgPyBUSU1FT1VUX1JFVFJZX0NPU1QgOiBSRVRSWV9DT1NUKTtcblxuICBjb25zdCBoYXNSZXRyeVRva2VucyA9IChlcnJvcjogU2RrRXJyb3IpID0+IGdldENhcGFjaXR5QW1vdW50KGVycm9yKSA8PSBhdmFpbGFibGVDYXBhY2l0eTtcblxuICBjb25zdCByZXRyaWV2ZVJldHJ5VG9rZW5zID0gKGVycm9yOiBTZGtFcnJvcikgPT4ge1xuICAgIGlmICghaGFzUmV0cnlUb2tlbnMoZXJyb3IpKSB7XG4gICAgICAvLyByZXRyeVN0cmF0ZWd5IHNob3VsZCBzdG9wIHJldHJ5aW5nLCBhbmQgcmV0dXJuIGxhc3QgZXJyb3JcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHJldHJ5IHRva2VuIGF2YWlsYWJsZVwiKTtcbiAgICB9XG4gICAgY29uc3QgY2FwYWNpdHlBbW91bnQgPSBnZXRDYXBhY2l0eUFtb3VudChlcnJvcik7XG4gICAgYXZhaWxhYmxlQ2FwYWNpdHkgLT0gY2FwYWNpdHlBbW91bnQ7XG4gICAgcmV0dXJuIGNhcGFjaXR5QW1vdW50O1xuICB9O1xuXG4gIGNvbnN0IHJlbGVhc2VSZXRyeVRva2VucyA9IChjYXBhY2l0eVJlbGVhc2VBbW91bnQ/OiBudW1iZXIpID0+IHtcbiAgICBhdmFpbGFibGVDYXBhY2l0eSArPSBjYXBhY2l0eVJlbGVhc2VBbW91bnQgPz8gTk9fUkVUUllfSU5DUkVNRU5UO1xuICAgIGF2YWlsYWJsZUNhcGFjaXR5ID0gTWF0aC5taW4oYXZhaWxhYmxlQ2FwYWNpdHksIE1BWF9DQVBBQ0lUWSk7XG4gIH07XG5cbiAgcmV0dXJuIE9iamVjdC5mcmVlemUoe1xuICAgIGhhc1JldHJ5VG9rZW5zLFxuICAgIHJldHJpZXZlUmV0cnlUb2tlbnMsXG4gICAgcmVsZWFzZVJldHJ5VG9rZW5zLFxuICB9KTtcbn07XG4iXX0=","import { MAXIMUM_RETRY_DELAY } from \"./constants\";\n/**\n * Calculate a capped, fully-jittered exponential backoff time.\n */\nexport var defaultDelayDecider = function (delayBase, attempts) {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * Math.pow(2, attempts) * delayBase));\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXlEZWNpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlbGF5RGVjaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxVQUFDLFNBQWlCLEVBQUUsUUFBZ0I7SUFDckUsT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFNBQUEsQ0FBQyxFQUFJLFFBQVEsQ0FBQSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBQXBGLENBQW9GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNQVhJTVVNX1JFVFJZX0RFTEFZIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQ2FsY3VsYXRlIGEgY2FwcGVkLCBmdWxseS1qaXR0ZXJlZCBleHBvbmVudGlhbCBiYWNrb2ZmIHRpbWUuXG4gKi9cbmV4cG9ydCBjb25zdCBkZWZhdWx0RGVsYXlEZWNpZGVyID0gKGRlbGF5QmFzZTogbnVtYmVyLCBhdHRlbXB0czogbnVtYmVyKSA9PlxuICBNYXRoLmZsb29yKE1hdGgubWluKE1BWElNVU1fUkVUUllfREVMQVksIE1hdGgucmFuZG9tKCkgKiAyICoqIGF0dGVtcHRzICogZGVsYXlCYXNlKSk7XG4iXX0=","import { isClockSkewError, isRetryableByTrait, isThrottlingError, isTransientError, } from \"@aws-sdk/service-error-classification\";\nexport var defaultRetryDecider = function (error) {\n if (!error) {\n return false;\n }\n return isRetryableByTrait(error) || isClockSkewError(error) || isThrottlingError(error) || isTransientError(error);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnlEZWNpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JldHJ5RGVjaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLE1BQU0sdUNBQXVDLENBQUM7QUFHL0MsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsVUFBQyxLQUFlO0lBQ2pELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNySCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpc0Nsb2NrU2tld0Vycm9yLFxuICBpc1JldHJ5YWJsZUJ5VHJhaXQsXG4gIGlzVGhyb3R0bGluZ0Vycm9yLFxuICBpc1RyYW5zaWVudEVycm9yLFxufSBmcm9tIFwiQGF3cy1zZGsvc2VydmljZS1lcnJvci1jbGFzc2lmaWNhdGlvblwiO1xuaW1wb3J0IHsgU2RrRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvc21pdGh5LWNsaWVudFwiO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFJldHJ5RGVjaWRlciA9IChlcnJvcjogU2RrRXJyb3IpID0+IHtcbiAgaWYgKCFlcnJvcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBpc1JldHJ5YWJsZUJ5VHJhaXQoZXJyb3IpIHx8IGlzQ2xvY2tTa2V3RXJyb3IoZXJyb3IpIHx8IGlzVGhyb3R0bGluZ0Vycm9yKGVycm9yKSB8fCBpc1RyYW5zaWVudEVycm9yKGVycm9yKTtcbn07XG4iXX0=","import { __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { isThrottlingError } from \"@aws-sdk/service-error-classification\";\nimport { v4 } from \"uuid\";\nimport { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, INVOCATION_ID_HEADER, REQUEST_HEADER, THROTTLING_RETRY_DELAY_BASE, } from \"./constants\";\nimport { getDefaultRetryQuota } from \"./defaultRetryQuota\";\nimport { defaultDelayDecider } from \"./delayDecider\";\nimport { defaultRetryDecider } from \"./retryDecider\";\n/**\n * The default value for how many HTTP requests an SDK should make for a\n * single SDK operation invocation before giving up\n */\nexport var DEFAULT_MAX_ATTEMPTS = 3;\n/**\n * The default retry algorithm to use.\n */\nexport var DEFAULT_RETRY_MODE = \"standard\";\nvar StandardRetryStrategy = /** @class */ (function () {\n function StandardRetryStrategy(maxAttemptsProvider, options) {\n var _a, _b, _c;\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = DEFAULT_RETRY_MODE;\n this.retryDecider = (_a = options === null || options === void 0 ? void 0 : options.retryDecider) !== null && _a !== void 0 ? _a : defaultRetryDecider;\n this.delayDecider = (_b = options === null || options === void 0 ? void 0 : options.delayDecider) !== null && _b !== void 0 ? _b : defaultDelayDecider;\n this.retryQuota = (_c = options === null || options === void 0 ? void 0 : options.retryQuota) !== null && _c !== void 0 ? _c : getDefaultRetryQuota(INITIAL_RETRY_TOKENS);\n }\n StandardRetryStrategy.prototype.shouldRetry = function (error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n };\n StandardRetryStrategy.prototype.getMaxAttempts = function () {\n return __awaiter(this, void 0, void 0, function () {\n var maxAttempts, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.maxAttemptsProvider()];\n case 1:\n maxAttempts = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_1 = _a.sent();\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/, maxAttempts];\n }\n });\n });\n };\n StandardRetryStrategy.prototype.retry = function (next, args) {\n return __awaiter(this, void 0, void 0, function () {\n var retryTokenAmount, attempts, totalDelay, maxAttempts, request, _loop_1, this_1, state_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n attempts = 0;\n totalDelay = 0;\n return [4 /*yield*/, this.getMaxAttempts()];\n case 1:\n maxAttempts = _a.sent();\n request = args.request;\n if (HttpRequest.isInstance(request)) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n _loop_1 = function () {\n var _a, response, output, err_1, delay_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 5]);\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = \"attempt=\" + (attempts + 1) + \"; max=\" + maxAttempts;\n }\n return [4 /*yield*/, next(args)];\n case 1:\n _a = _b.sent(), response = _a.response, output = _a.output;\n this_1.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return [2 /*return*/, { value: { response: response, output: output } }];\n case 2:\n err_1 = _b.sent();\n attempts++;\n if (!this_1.shouldRetry(err_1, attempts, maxAttempts)) return [3 /*break*/, 4];\n retryTokenAmount = this_1.retryQuota.retrieveRetryTokens(err_1);\n delay_1 = this_1.delayDecider(isThrottlingError(err_1) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts);\n totalDelay += delay_1;\n return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, delay_1); })];\n case 3:\n _b.sent();\n return [2 /*return*/, \"continue\"];\n case 4:\n if (!err_1.$metadata) {\n err_1.$metadata = {};\n }\n err_1.$metadata.attempts = attempts;\n err_1.$metadata.totalRetryDelay = totalDelay;\n throw err_1;\n case 5: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n _a.label = 2;\n case 2:\n if (!true) return [3 /*break*/, 4];\n return [5 /*yield**/, _loop_1()];\n case 3:\n state_1 = _a.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n return [3 /*break*/, 2];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n return StandardRetryStrategy;\n}());\nexport { StandardRetryStrategy };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlZmF1bHRTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCwyQkFBMkIsR0FDNUIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0FBb0Q3QztJQU1FLCtCQUE2QixtQkFBcUMsRUFBRSxPQUFzQzs7UUFBN0Usd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFrQjtRQUZsRCxTQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFHeEMsSUFBSSxDQUFDLFlBQVksU0FBRyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsWUFBWSxtQ0FBSSxtQkFBbUIsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxTQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxZQUFZLG1DQUFJLG1CQUFtQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxVQUFVLFNBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFVBQVUsbUNBQUksb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU8sMkNBQVcsR0FBbkIsVUFBb0IsS0FBZSxFQUFFLFFBQWdCLEVBQUUsV0FBbUI7UUFDeEUsT0FBTyxRQUFRLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVhLDhDQUFjLEdBQTVCOzs7Ozs7O3dCQUdrQixxQkFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBQTs7d0JBQTlDLFdBQVcsR0FBRyxTQUFnQyxDQUFDOzs7O3dCQUUvQyxXQUFXLEdBQUcsb0JBQW9CLENBQUM7OzRCQUVyQyxzQkFBTyxXQUFXLEVBQUM7Ozs7S0FDcEI7SUFFSyxxQ0FBSyxHQUFYLFVBQ0UsSUFBbUMsRUFDbkMsSUFBcUM7Ozs7Ozt3QkFHakMsUUFBUSxHQUFHLENBQUMsQ0FBQzt3QkFDYixVQUFVLEdBQUcsQ0FBQyxDQUFDO3dCQUVDLHFCQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBQTs7d0JBQXpDLFdBQVcsR0FBRyxTQUEyQjt3QkFFdkMsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFVO3dCQUN6QixJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7NEJBQ25DLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQzt5QkFDOUM7Ozs7Ozs7d0NBSUcsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFOzRDQUNuQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLGNBQVcsUUFBUSxHQUFHLENBQUMsZUFBUyxXQUFhLENBQUM7eUNBQ2pGO3dDQUM0QixxQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUE7O3dDQUF2QyxLQUF1QixTQUFnQixFQUFyQyxRQUFRLGNBQUEsRUFBRSxNQUFNLFlBQUE7d0NBRXhCLE9BQUssVUFBVSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUM7d0NBQ3JELE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUM7d0NBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQzt1RUFFdkMsRUFBRSxRQUFRLFVBQUEsRUFBRSxNQUFNLFFBQUEsRUFBRTs7O3dDQUUzQixRQUFRLEVBQUUsQ0FBQzs2Q0FDUCxPQUFLLFdBQVcsQ0FBQyxLQUFlLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxFQUF4RCx3QkFBd0Q7d0NBQzFELGdCQUFnQixHQUFHLE9BQUssVUFBVSxDQUFDLG1CQUFtQixDQUFDLEtBQUcsQ0FBQyxDQUFDO3dDQUN0RCxVQUFRLE9BQUssWUFBWSxDQUM3QixpQkFBaUIsQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixFQUMvRSxRQUFRLENBQ1QsQ0FBQzt3Q0FDRixVQUFVLElBQUksT0FBSyxDQUFDO3dDQUVwQixxQkFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBSyxDQUFDLEVBQTFCLENBQTBCLENBQUMsRUFBQTs7d0NBQTFELFNBQTBELENBQUM7Ozt3Q0FJN0QsSUFBSSxDQUFDLEtBQUcsQ0FBQyxTQUFTLEVBQUU7NENBQ2xCLEtBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO3lDQUNwQjt3Q0FFRCxLQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7d0NBQ2xDLEtBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQzt3Q0FDM0MsTUFBTSxLQUFHLENBQUM7Ozs7Ozs7OzZCQWhDUCxJQUFJOzs7Ozs7Ozs7OztLQW1DWjtJQUNILDRCQUFDO0FBQUQsQ0FBQyxBQTdFRCxJQTZFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IGlzVGhyb3R0bGluZ0Vycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3NlcnZpY2UtZXJyb3ItY2xhc3NpZmljYXRpb25cIjtcbmltcG9ydCB7IFNka0Vycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3NtaXRoeS1jbGllbnRcIjtcbmltcG9ydCB7IEZpbmFsaXplSGFuZGxlciwgRmluYWxpemVIYW5kbGVyQXJndW1lbnRzLCBNZXRhZGF0YUJlYXJlciwgUHJvdmlkZXIsIFJldHJ5U3RyYXRlZ3kgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IHY0IH0gZnJvbSBcInV1aWRcIjtcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9SRVRSWV9ERUxBWV9CQVNFLFxuICBJTklUSUFMX1JFVFJZX1RPS0VOUyxcbiAgSU5WT0NBVElPTl9JRF9IRUFERVIsXG4gIFJFUVVFU1RfSEVBREVSLFxuICBUSFJPVFRMSU5HX1JFVFJZX0RFTEFZX0JBU0UsXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdFJldHJ5UXVvdGEgfSBmcm9tIFwiLi9kZWZhdWx0UmV0cnlRdW90YVwiO1xuaW1wb3J0IHsgZGVmYXVsdERlbGF5RGVjaWRlciB9IGZyb20gXCIuL2RlbGF5RGVjaWRlclwiO1xuaW1wb3J0IHsgZGVmYXVsdFJldHJ5RGVjaWRlciB9IGZyb20gXCIuL3JldHJ5RGVjaWRlclwiO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBob3cgbWFueSBIVFRQIHJlcXVlc3RzIGFuIFNESyBzaG91bGQgbWFrZSBmb3IgYVxuICogc2luZ2xlIFNESyBvcGVyYXRpb24gaW52b2NhdGlvbiBiZWZvcmUgZ2l2aW5nIHVwXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BWF9BVFRFTVBUUyA9IDM7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgcmV0cnkgYWxnb3JpdGhtIHRvIHVzZS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVUUllfTU9ERSA9IFwic3RhbmRhcmRcIjtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXJyb3IgaXMgcmV0cnlhYmxlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcmV0cmllc1xuICogYWxyZWFkeSBhdHRlbXB0ZWQsIHRoZSBIVFRQIHN0YXR1cyBjb2RlLCBhbmQgdGhlIGVycm9yIHJlY2VpdmVkIChpZiBhbnkpLlxuICpcbiAqIEBwYXJhbSBlcnJvciAgICAgICAgIFRoZSBlcnJvciBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeURlY2lkZXIge1xuICAoZXJyb3I6IFNka0Vycm9yKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHJldHJ5aW5nIGFuIGFjdGlvbi5cbiAqXG4gKiBAcGFyYW0gZGVsYXlCYXNlIFRoZSBiYXNlIGRlbGF5IChpbiBtaWxsaXNlY29uZHMpLlxuICogQHBhcmFtIGF0dGVtcHRzICBUaGUgbnVtYmVyIG9mIHRpbWVzIHRoZSBhY3Rpb24gaGFzIGFscmVhZHkgYmVlbiB0cmllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxheURlY2lkZXIge1xuICAoZGVsYXlCYXNlOiBudW1iZXIsIGF0dGVtcHRzOiBudW1iZXIpOiBudW1iZXI7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHRoYXQgc3BlY2lmaWVzIHRoZSByZXRyeSBxdW90YSBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeVF1b3RhIHtcbiAgLyoqXG4gICAqIHJldHVybnMgdHJ1ZSBpZiByZXRyeSB0b2tlbnMgYXJlIGF2YWlsYWJsZSBmcm9tIHRoZSByZXRyeSBxdW90YSBidWNrZXQuXG4gICAqL1xuICBoYXNSZXRyeVRva2VuczogKGVycm9yOiBTZGtFcnJvcikgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogcmV0dXJucyB0b2tlbiBhbW91bnQgZnJvbSB0aGUgcmV0cnkgcXVvdGEgYnVja2V0LlxuICAgKiB0aHJvd3MgZXJyb3IgaXMgcmV0cnkgdG9rZW5zIGFyZSBub3QgYXZhaWxhYmxlLlxuICAgKi9cbiAgcmV0cmlldmVSZXRyeVRva2VuczogKGVycm9yOiBTZGtFcnJvcikgPT4gbnVtYmVyO1xuXG4gIC8qKlxuICAgKiByZWxlYXNlcyB0b2tlbnMgYmFjayB0byB0aGUgcmV0cnkgcXVvdGEuXG4gICAqL1xuICByZWxlYXNlUmV0cnlUb2tlbnM6IChyZWxlYXNlQ2FwYWNpdHlBbW91bnQ/OiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogU3RyYXRlZ3kgb3B0aW9ucyB0byBiZSBwYXNzZWQgdG8gU3RhbmRhcmRSZXRyeVN0cmF0ZWd5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRSZXRyeVN0cmF0ZWd5T3B0aW9ucyB7XG4gIHJldHJ5RGVjaWRlcj86IFJldHJ5RGVjaWRlcjtcbiAgZGVsYXlEZWNpZGVyPzogRGVsYXlEZWNpZGVyO1xuICByZXRyeVF1b3RhPzogUmV0cnlRdW90YTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkUmV0cnlTdHJhdGVneSBpbXBsZW1lbnRzIFJldHJ5U3RyYXRlZ3kge1xuICBwcml2YXRlIHJldHJ5RGVjaWRlcjogUmV0cnlEZWNpZGVyO1xuICBwcml2YXRlIGRlbGF5RGVjaWRlcjogRGVsYXlEZWNpZGVyO1xuICBwcml2YXRlIHJldHJ5UXVvdGE6IFJldHJ5UXVvdGE7XG4gIHB1YmxpYyByZWFkb25seSBtb2RlID0gREVGQVVMVF9SRVRSWV9NT0RFO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWF4QXR0ZW1wdHNQcm92aWRlcjogUHJvdmlkZXI8bnVtYmVyPiwgb3B0aW9ucz86IFN0YW5kYXJkUmV0cnlTdHJhdGVneU9wdGlvbnMpIHtcbiAgICB0aGlzLnJldHJ5RGVjaWRlciA9IG9wdGlvbnM/LnJldHJ5RGVjaWRlciA/PyBkZWZhdWx0UmV0cnlEZWNpZGVyO1xuICAgIHRoaXMuZGVsYXlEZWNpZGVyID0gb3B0aW9ucz8uZGVsYXlEZWNpZGVyID8/IGRlZmF1bHREZWxheURlY2lkZXI7XG4gICAgdGhpcy5yZXRyeVF1b3RhID0gb3B0aW9ucz8ucmV0cnlRdW90YSA/PyBnZXREZWZhdWx0UmV0cnlRdW90YShJTklUSUFMX1JFVFJZX1RPS0VOUyk7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZFJldHJ5KGVycm9yOiBTZGtFcnJvciwgYXR0ZW1wdHM6IG51bWJlciwgbWF4QXR0ZW1wdHM6IG51bWJlcikge1xuICAgIHJldHVybiBhdHRlbXB0cyA8IG1heEF0dGVtcHRzICYmIHRoaXMucmV0cnlEZWNpZGVyKGVycm9yKSAmJiB0aGlzLnJldHJ5UXVvdGEuaGFzUmV0cnlUb2tlbnMoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRNYXhBdHRlbXB0cygpIHtcbiAgICBsZXQgbWF4QXR0ZW1wdHM6IG51bWJlcjtcbiAgICB0cnkge1xuICAgICAgbWF4QXR0ZW1wdHMgPSBhd2FpdCB0aGlzLm1heEF0dGVtcHRzUHJvdmlkZXIoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbWF4QXR0ZW1wdHMgPSBERUZBVUxUX01BWF9BVFRFTVBUUztcbiAgICB9XG4gICAgcmV0dXJuIG1heEF0dGVtcHRzO1xuICB9XG5cbiAgYXN5bmMgcmV0cnk8SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KFxuICAgIG5leHQ6IEZpbmFsaXplSGFuZGxlcjxJbnB1dCwgT3VwdXQ+LFxuICAgIGFyZ3M6IEZpbmFsaXplSGFuZGxlckFyZ3VtZW50czxJbnB1dD5cbiAgKSB7XG4gICAgbGV0IHJldHJ5VG9rZW5BbW91bnQ7XG4gICAgbGV0IGF0dGVtcHRzID0gMDtcbiAgICBsZXQgdG90YWxEZWxheSA9IDA7XG5cbiAgICBjb25zdCBtYXhBdHRlbXB0cyA9IGF3YWl0IHRoaXMuZ2V0TWF4QXR0ZW1wdHMoKTtcblxuICAgIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgICBpZiAoSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW0lOVk9DQVRJT05fSURfSEVBREVSXSA9IHY0KCk7XG4gICAgfVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChIdHRwUmVxdWVzdC5pc0luc3RhbmNlKHJlcXVlc3QpKSB7XG4gICAgICAgICAgcmVxdWVzdC5oZWFkZXJzW1JFUVVFU1RfSEVBREVSXSA9IGBhdHRlbXB0PSR7YXR0ZW1wdHMgKyAxfTsgbWF4PSR7bWF4QXR0ZW1wdHN9YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHJlc3BvbnNlLCBvdXRwdXQgfSA9IGF3YWl0IG5leHQoYXJncyk7XG5cbiAgICAgICAgdGhpcy5yZXRyeVF1b3RhLnJlbGVhc2VSZXRyeVRva2VucyhyZXRyeVRva2VuQW1vdW50KTtcbiAgICAgICAgb3V0cHV0LiRtZXRhZGF0YS5hdHRlbXB0cyA9IGF0dGVtcHRzICsgMTtcbiAgICAgICAgb3V0cHV0LiRtZXRhZGF0YS50b3RhbFJldHJ5RGVsYXkgPSB0b3RhbERlbGF5O1xuXG4gICAgICAgIHJldHVybiB7IHJlc3BvbnNlLCBvdXRwdXQgfTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBhdHRlbXB0cysrO1xuICAgICAgICBpZiAodGhpcy5zaG91bGRSZXRyeShlcnIgYXMgU2RrRXJyb3IsIGF0dGVtcHRzLCBtYXhBdHRlbXB0cykpIHtcbiAgICAgICAgICByZXRyeVRva2VuQW1vdW50ID0gdGhpcy5yZXRyeVF1b3RhLnJldHJpZXZlUmV0cnlUb2tlbnMoZXJyKTtcbiAgICAgICAgICBjb25zdCBkZWxheSA9IHRoaXMuZGVsYXlEZWNpZGVyKFxuICAgICAgICAgICAgaXNUaHJvdHRsaW5nRXJyb3IoZXJyKSA/IFRIUk9UVExJTkdfUkVUUllfREVMQVlfQkFTRSA6IERFRkFVTFRfUkVUUllfREVMQVlfQkFTRSxcbiAgICAgICAgICAgIGF0dGVtcHRzXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0b3RhbERlbGF5ICs9IGRlbGF5O1xuXG4gICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXJyLiRtZXRhZGF0YSkge1xuICAgICAgICAgIGVyci4kbWV0YWRhdGEgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVyci4kbWV0YWRhdGEuYXR0ZW1wdHMgPSBhdHRlbXB0cztcbiAgICAgICAgZXJyLiRtZXRhZGF0YS50b3RhbFJldHJ5RGVsYXkgPSB0b3RhbERlbGF5O1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=","import { __assign } from \"tslib\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, StandardRetryStrategy } from \"./defaultStrategy\";\nexport var ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport var CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport var NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) {\n var value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n var maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(\"Environment variable \" + ENV_MAX_ATTEMPTS + \" mast be a number, got \\\"\" + value + \"\\\"\");\n }\n return maxAttempt;\n },\n configFileSelector: function (profile) {\n var value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n var maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(\"Shared config file entry \" + CONFIG_MAX_ATTEMPTS + \" mast be a number, got \\\"\" + value + \"\\\"\");\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport var resolveRetryConfig = function (input) {\n var maxAttempts = normalizeMaxAttempts(input.maxAttempts);\n return __assign(__assign({}, input), { maxAttempts: maxAttempts, retryStrategy: input.retryStrategy || new StandardRetryStrategy(maxAttempts) });\n};\nvar normalizeMaxAttempts = function (maxAttempts) {\n if (maxAttempts === void 0) { maxAttempts = DEFAULT_MAX_ATTEMPTS; }\n if (typeof maxAttempts === \"number\") {\n var promisified_1 = Promise.resolve(maxAttempts);\n return function () { return promisified_1; };\n }\n return maxAttempts;\n};\nexport var ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport var CONFIG_RETRY_MODE = \"retry_mode\";\nexport var NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) { return env[ENV_RETRY_MODE]; },\n configFileSelector: function (profile) { return profile[CONFIG_RETRY_MODE]; },\n default: DEFAULT_RETRY_MODE,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBHLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBQ25ELE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FBQztBQUVsRCxNQUFNLENBQUMsSUFBTSwrQkFBK0IsR0FBa0M7SUFDNUUsMkJBQTJCLEVBQUUsVUFBQyxHQUFHO1FBQy9CLElBQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0IsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUF3QixnQkFBZ0IsaUNBQTJCLEtBQUssT0FBRyxDQUFDLENBQUM7U0FDOUY7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0Qsa0JBQWtCLEVBQUUsVUFBQyxPQUFPO1FBQzFCLElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0IsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE0QixtQkFBbUIsaUNBQTJCLEtBQUssT0FBRyxDQUFDLENBQUM7U0FDckc7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsT0FBTyxFQUFFLG9CQUFvQjtDQUM5QixDQUFDO0FBbUJGLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLFVBQUksS0FBZ0Q7SUFDcEYsSUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVELDZCQUNLLEtBQUssS0FDUixXQUFXLGFBQUEsRUFDWCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxJQUM1RTtBQUNKLENBQUMsQ0FBQztBQUVGLElBQU0sb0JBQW9CLEdBQUcsVUFBQyxXQUE2RDtJQUE3RCw0QkFBQSxFQUFBLGtDQUE2RDtJQUN6RixJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUNuQyxJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0MsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxJQUFNLDhCQUE4QixHQUFrQztJQUMzRSwyQkFBMkIsRUFBRSxVQUFDLEdBQUcsSUFBSyxPQUFBLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBbkIsQ0FBbUI7SUFDekQsa0JBQWtCLEVBQUUsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBMUIsQ0FBMEI7SUFDM0QsT0FBTyxFQUFFLGtCQUFrQjtDQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVkQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSBcIkBhd3Mtc2RrL25vZGUtY29uZmlnLXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBQcm92aWRlciwgUmV0cnlTdHJhdGVneSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBERUZBVUxUX01BWF9BVFRFTVBUUywgREVGQVVMVF9SRVRSWV9NT0RFLCBTdGFuZGFyZFJldHJ5U3RyYXRlZ3kgfSBmcm9tIFwiLi9kZWZhdWx0U3RyYXRlZ3lcIjtcblxuZXhwb3J0IGNvbnN0IEVOVl9NQVhfQVRURU1QVFMgPSBcIkFXU19NQVhfQVRURU1QVFNcIjtcbmV4cG9ydCBjb25zdCBDT05GSUdfTUFYX0FUVEVNUFRTID0gXCJtYXhfYXR0ZW1wdHNcIjtcblxuZXhwb3J0IGNvbnN0IE5PREVfTUFYX0FUVEVNUFRfQ09ORklHX09QVElPTlM6IExvYWRlZENvbmZpZ1NlbGVjdG9yczxudW1iZXI+ID0ge1xuICBlbnZpcm9ubWVudFZhcmlhYmxlU2VsZWN0b3I6IChlbnYpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGVudltFTlZfTUFYX0FUVEVNUFRTXTtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG1heEF0dGVtcHQgPSBwYXJzZUludCh2YWx1ZSk7XG4gICAgaWYgKE51bWJlci5pc05hTihtYXhBdHRlbXB0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFbnZpcm9ubWVudCB2YXJpYWJsZSAke0VOVl9NQVhfQVRURU1QVFN9IG1hc3QgYmUgYSBudW1iZXIsIGdvdCBcIiR7dmFsdWV9XCJgKTtcbiAgICB9XG4gICAgcmV0dXJuIG1heEF0dGVtcHQ7XG4gIH0sXG4gIGNvbmZpZ0ZpbGVTZWxlY3RvcjogKHByb2ZpbGUpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHByb2ZpbGVbQ09ORklHX01BWF9BVFRFTVBUU107XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBtYXhBdHRlbXB0ID0gcGFyc2VJbnQodmFsdWUpO1xuICAgIGlmIChOdW1iZXIuaXNOYU4obWF4QXR0ZW1wdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2hhcmVkIGNvbmZpZyBmaWxlIGVudHJ5ICR7Q09ORklHX01BWF9BVFRFTVBUU30gbWFzdCBiZSBhIG51bWJlciwgZ290IFwiJHt2YWx1ZX1cImApO1xuICAgIH1cbiAgICByZXR1cm4gbWF4QXR0ZW1wdDtcbiAgfSxcbiAgZGVmYXVsdDogREVGQVVMVF9NQVhfQVRURU1QVFMsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5SW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHJlcXVlc3RzIHRoYXQgZW5jb3VudGVyIHJldHJ5YWJsZSBmYWlsdXJlcyBzaG91bGQgYmUgYXR0ZW1wdGVkLlxuICAgKi9cbiAgbWF4QXR0ZW1wdHM/OiBudW1iZXIgfCBQcm92aWRlcjxudW1iZXI+O1xuICAvKipcbiAgICogVGhlIHN0cmF0ZWd5IHRvIHJldHJ5IHRoZSByZXF1ZXN0LiBVc2luZyBidWlsdC1pbiBleHBvbmVudGlhbCBiYWNrb2ZmIHN0cmF0ZWd5IGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZXRyeVN0cmF0ZWd5PzogUmV0cnlTdHJhdGVneTtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7fVxuZXhwb3J0IGludGVyZmFjZSBSZXRyeVJlc29sdmVkQ29uZmlnIHtcbiAgbWF4QXR0ZW1wdHM6IFByb3ZpZGVyPG51bWJlcj47XG4gIHJldHJ5U3RyYXRlZ3k6IFJldHJ5U3RyYXRlZ3k7XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlUmV0cnlDb25maWcgPSA8VD4oaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBSZXRyeUlucHV0Q29uZmlnKTogVCAmIFJldHJ5UmVzb2x2ZWRDb25maWcgPT4ge1xuICBjb25zdCBtYXhBdHRlbXB0cyA9IG5vcm1hbGl6ZU1heEF0dGVtcHRzKGlucHV0Lm1heEF0dGVtcHRzKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBtYXhBdHRlbXB0cyxcbiAgICByZXRyeVN0cmF0ZWd5OiBpbnB1dC5yZXRyeVN0cmF0ZWd5IHx8IG5ldyBTdGFuZGFyZFJldHJ5U3RyYXRlZ3kobWF4QXR0ZW1wdHMpLFxuICB9O1xufTtcblxuY29uc3Qgbm9ybWFsaXplTWF4QXR0ZW1wdHMgPSAobWF4QXR0ZW1wdHM6IG51bWJlciB8IFByb3ZpZGVyPG51bWJlcj4gPSBERUZBVUxUX01BWF9BVFRFTVBUUyk6IFByb3ZpZGVyPG51bWJlcj4gPT4ge1xuICBpZiAodHlwZW9mIG1heEF0dGVtcHRzID09PSBcIm51bWJlclwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUobWF4QXR0ZW1wdHMpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfVxuICByZXR1cm4gbWF4QXR0ZW1wdHM7XG59O1xuXG5leHBvcnQgY29uc3QgRU5WX1JFVFJZX01PREUgPSBcIkFXU19SRVRSWV9NT0RFXCI7XG5leHBvcnQgY29uc3QgQ09ORklHX1JFVFJZX01PREUgPSBcInJldHJ5X21vZGVcIjtcblxuZXhwb3J0IGNvbnN0IE5PREVfUkVUUllfTU9ERV9DT05GSUdfT1BUSU9OUzogTG9hZGVkQ29uZmlnU2VsZWN0b3JzPHN0cmluZz4gPSB7XG4gIGVudmlyb25tZW50VmFyaWFibGVTZWxlY3RvcjogKGVudikgPT4gZW52W0VOVl9SRVRSWV9NT0RFXSxcbiAgY29uZmlnRmlsZVNlbGVjdG9yOiAocHJvZmlsZSkgPT4gcHJvZmlsZVtDT05GSUdfUkVUUllfTU9ERV0sXG4gIGRlZmF1bHQ6IERFRkFVTFRfUkVUUllfTU9ERSxcbn07XG4iXX0=","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","import { __awaiter, __generator } from \"tslib\";\nexport var deserializerMiddleware = function (options, deserializer) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var response, parsed;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, next(args)];\n case 1:\n response = (_a.sent()).response;\n return [4 /*yield*/, deserializer(response, options)];\n case 2:\n parsed = _a.sent();\n return [2 /*return*/, {\n response: response,\n output: parsed,\n }];\n }\n });\n}); }; }; };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemVyTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXNlcmlhbGl6ZXJNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFTQSxNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBRyxVQUNwQyxPQUFxQixFQUNyQixZQUEwRCxJQUNqQixPQUFBLFVBQ3pDLElBQXVDLEVBQ3ZDLE9BQWdDLElBQ00sT0FBQSxVQUN0QyxJQUF3Qzs7OztvQkFFbkIscUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFBOztnQkFBN0IsUUFBUSxHQUFLLENBQUEsU0FBZ0IsQ0FBQSxTQUFyQjtnQkFDRCxxQkFBTSxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFBOztnQkFBOUMsTUFBTSxHQUFHLFNBQXFDO2dCQUNwRCxzQkFBTzt3QkFDTCxRQUFRLFVBQUE7d0JBQ1IsTUFBTSxFQUFFLE1BQWdCO3FCQUN6QixFQUFDOzs7S0FDSCxFQVR1QyxDQVN2QyxFQVowQyxDQVkxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVzZXJpYWxpemVIYW5kbGVyLFxuICBEZXNlcmlhbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIERlc2VyaWFsaXplSGFuZGxlck91dHB1dCxcbiAgRGVzZXJpYWxpemVNaWRkbGV3YXJlLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgUmVzcG9uc2VEZXNlcmlhbGl6ZXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgZGVzZXJpYWxpemVyTWlkZGxld2FyZSA9IDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0LCBSdW50aW1lVXRpbHMgPSBhbnk+KFxuICBvcHRpb25zOiBSdW50aW1lVXRpbHMsXG4gIGRlc2VyaWFsaXplcjogUmVzcG9uc2VEZXNlcmlhbGl6ZXI8YW55LCBhbnksIFJ1bnRpbWVVdGlscz5cbik6IERlc2VyaWFsaXplTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PiA9PiAoXG4gIG5leHQ6IERlc2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IERlc2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiA9PiBhc3luYyAoXG4gIGFyZ3M6IERlc2VyaWFsaXplSGFuZGxlckFyZ3VtZW50czxJbnB1dD5cbik6IFByb21pc2U8RGVzZXJpYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgY29uc3QgeyByZXNwb25zZSB9ID0gYXdhaXQgbmV4dChhcmdzKTtcbiAgY29uc3QgcGFyc2VkID0gYXdhaXQgZGVzZXJpYWxpemVyKHJlc3BvbnNlLCBvcHRpb25zKTtcbiAgcmV0dXJuIHtcbiAgICByZXNwb25zZSxcbiAgICBvdXRwdXQ6IHBhcnNlZCBhcyBPdXRwdXQsXG4gIH07XG59O1xuIl19","import { __assign, __awaiter, __generator } from \"tslib\";\nexport var serializerMiddleware = function (options, serializer) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, serializer(args.input, options)];\n case 1:\n request = _a.sent();\n return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n }\n });\n}); }; }; };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplck1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplck1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVVBLE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFHLFVBQ2xDLE9BQXFCLEVBQ3JCLFVBQWdELElBQ1QsT0FBQSxVQUN2QyxJQUFxQyxFQUNyQyxPQUFnQyxJQUNJLE9BQUEsVUFDcEMsSUFBc0M7Ozs7b0JBRXRCLHFCQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFBOztnQkFBL0MsT0FBTyxHQUFHLFNBQXFDO2dCQUNyRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOzs7S0FDSixFQVJxQyxDQVFyQyxFQVh3QyxDQVd4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW5kcG9pbnRCZWFyZXIsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBSZXF1ZXN0U2VyaWFsaXplcixcbiAgU2VyaWFsaXplSGFuZGxlcixcbiAgU2VyaWFsaXplSGFuZGxlckFyZ3VtZW50cyxcbiAgU2VyaWFsaXplSGFuZGxlck91dHB1dCxcbiAgU2VyaWFsaXplTWlkZGxld2FyZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVyTWlkZGxld2FyZSA9IDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0LCBSdW50aW1lVXRpbHMgZXh0ZW5kcyBFbmRwb2ludEJlYXJlcj4oXG4gIG9wdGlvbnM6IFJ1bnRpbWVVdGlscyxcbiAgc2VyaWFsaXplcjogUmVxdWVzdFNlcmlhbGl6ZXI8YW55LCBSdW50aW1lVXRpbHM+XG4pOiBTZXJpYWxpemVNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+ID0+IChcbiAgbmV4dDogU2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IFNlcmlhbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD4gPT4gYXN5bmMgKFxuICBhcmdzOiBTZXJpYWxpemVIYW5kbGVyQXJndW1lbnRzPElucHV0PlxuKTogUHJvbWlzZTxTZXJpYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHNlcmlhbGl6ZXIoYXJncy5pbnB1dCwgb3B0aW9ucyk7XG4gIHJldHVybiBuZXh0KHtcbiAgICAuLi5hcmdzLFxuICAgIHJlcXVlc3QsXG4gIH0pO1xufTtcbiJdfQ==","import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\nexport var deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport var serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: function (commandStack) {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyZGVQbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyZGVQbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQThCO0lBQ3JFLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsSUFBSSxFQUFFLGFBQWE7SUFDbkIsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQ3RCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDBCQUEwQixHQUE0QjtJQUNqRSxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLElBQUksRUFBRSxXQUFXO0lBQ2pCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztJQUNwQixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRixNQUFNLFVBQVUsY0FBYyxDQUs1QixNQUFvQixFQUNwQixVQUFnRCxFQUNoRCxZQUFpRTtJQUVqRSxPQUFPO1FBQ0wsWUFBWSxFQUFFLFVBQUMsWUFBb0Q7WUFDakUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztZQUM3RixZQUFZLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlc2VyaWFsaXplSGFuZGxlck9wdGlvbnMsXG4gIEVuZHBvaW50QmVhcmVyLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgTWlkZGxld2FyZVN0YWNrLFxuICBQbHVnZ2FibGUsXG4gIFJlcXVlc3RTZXJpYWxpemVyLFxuICBSZXNwb25zZURlc2VyaWFsaXplcixcbiAgU2VyaWFsaXplSGFuZGxlck9wdGlvbnMsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBkZXNlcmlhbGl6ZXJNaWRkbGV3YXJlIH0gZnJvbSBcIi4vZGVzZXJpYWxpemVyTWlkZGxld2FyZVwiO1xuaW1wb3J0IHsgc2VyaWFsaXplck1pZGRsZXdhcmUgfSBmcm9tIFwiLi9zZXJpYWxpemVyTWlkZGxld2FyZVwiO1xuXG5leHBvcnQgY29uc3QgZGVzZXJpYWxpemVyTWlkZGxld2FyZU9wdGlvbjogRGVzZXJpYWxpemVIYW5kbGVyT3B0aW9ucyA9IHtcbiAgbmFtZTogXCJkZXNlcmlhbGl6ZXJNaWRkbGV3YXJlXCIsXG4gIHN0ZXA6IFwiZGVzZXJpYWxpemVcIixcbiAgdGFnczogW1wiREVTRVJJQUxJWkVSXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVyTWlkZGxld2FyZU9wdGlvbjogU2VyaWFsaXplSGFuZGxlck9wdGlvbnMgPSB7XG4gIG5hbWU6IFwic2VyaWFsaXplck1pZGRsZXdhcmVcIixcbiAgc3RlcDogXCJzZXJpYWxpemVcIixcbiAgdGFnczogW1wiU0VSSUFMSVpFUlwiXSxcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VyZGVQbHVnaW48XG4gIElucHV0VHlwZSBleHRlbmRzIG9iamVjdCxcbiAgU2VyRGVDb250ZXh0IGV4dGVuZHMgRW5kcG9pbnRCZWFyZXIsXG4gIE91dHB1dFR5cGUgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlclxuPihcbiAgY29uZmlnOiBTZXJEZUNvbnRleHQsXG4gIHNlcmlhbGl6ZXI6IFJlcXVlc3RTZXJpYWxpemVyPGFueSwgU2VyRGVDb250ZXh0PixcbiAgZGVzZXJpYWxpemVyOiBSZXNwb25zZURlc2VyaWFsaXplcjxPdXRwdXRUeXBlLCBhbnksIFNlckRlQ29udGV4dD5cbik6IFBsdWdnYWJsZTxJbnB1dFR5cGUsIE91dHB1dFR5cGU+IHtcbiAgcmV0dXJuIHtcbiAgICBhcHBseVRvU3RhY2s6IChjb21tYW5kU3RhY2s6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+KSA9PiB7XG4gICAgICBjb21tYW5kU3RhY2suYWRkKGRlc2VyaWFsaXplck1pZGRsZXdhcmUoY29uZmlnLCBkZXNlcmlhbGl6ZXIpLCBkZXNlcmlhbGl6ZXJNaWRkbGV3YXJlT3B0aW9uKTtcbiAgICAgIGNvbW1hbmRTdGFjay5hZGQoc2VyaWFsaXplck1pZGRsZXdhcmUoY29uZmlnLCBzZXJpYWxpemVyKSwgc2VyaWFsaXplck1pZGRsZXdhcmVPcHRpb24pO1xuICAgIH0sXG4gIH07XG59XG4iXX0=","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { SignatureV4 } from \"@aws-sdk/signature-v4\";\nexport function resolveAwsAuthConfig(input) {\n var _this = this;\n var credentials = input.credentials || input.credentialDefaultProvider(input);\n var normalizedCreds = normalizeProvider(credentials);\n var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;\n var signer;\n if (input.signer) {\n //if signer is supplied by user, normalize it to a function returning a promise for signer.\n signer = normalizeProvider(input.signer);\n }\n else {\n //construct a provider inferring signing from region.\n signer = function () {\n return normalizeProvider(input.region)()\n .then(function (region) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, input.regionInfoProvider(region)];\n case 1: return [2 /*return*/, [(_a.sent()) || {}, region]];\n }\n }); }); })\n .then(function (_a) {\n var _b = __read(_a, 2), regionInfo = _b[0], region = _b[1];\n var signingRegion = regionInfo.signingRegion, signingService = regionInfo.signingService;\n //update client's singing region and signing service config if they are resolved.\n //signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region\n input.signingRegion = input.signingRegion || signingRegion || region;\n //signing name resolving order:\n //user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id\n input.signingName = input.signingName || signingService || input.serviceId;\n return new SignatureV4({\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256: sha256,\n uriEscapePath: signingEscapePath,\n });\n });\n };\n }\n return __assign(__assign({}, input), { systemClockOffset: systemClockOffset,\n signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });\n}\nfunction normalizeProvider(input) {\n if (typeof input === \"object\") {\n var promisified_1 = Promise.resolve(input);\n return function () { return promisified_1; };\n }\n return input;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQTRDcEQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEtBQWtEO0lBQTFGLGlCQXVDQztJQXRDQyxJQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxLQUFZLENBQUMsQ0FBQztJQUN2RixJQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxJQUFBLEtBQXVGLEtBQUssa0JBQXBFLEVBQXhCLGlCQUFpQixtQkFBRyxJQUFJLEtBQUEsRUFBRSxLQUE2RCxLQUFLLGtCQUFsQixFQUFoRCxpQkFBaUIsbUJBQUcsS0FBSyxDQUFDLGlCQUFpQixJQUFJLENBQUMsS0FBQSxFQUFFLE1BQU0sR0FBSyxLQUFLLE9BQVYsQ0FBVztJQUNyRyxJQUFJLE1BQStCLENBQUM7SUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2hCLDJGQUEyRjtRQUMzRixNQUFNLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzFDO1NBQU07UUFDTCxxREFBcUQ7UUFDckQsTUFBTSxHQUFHO1lBQ1AsT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7aUJBQzlCLElBQUksQ0FBQyxVQUFPLE1BQU07OzRCQUFPLHFCQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBQTs0QkFBeEMsc0JBQUEsQ0FBQyxDQUFDLFNBQXNDLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUF5QixFQUFBOztxQkFBQSxDQUFDO2lCQUN4RyxJQUFJLENBQUMsVUFBQyxFQUFvQjtvQkFBcEIsS0FBQSxhQUFvQixFQUFuQixVQUFVLFFBQUEsRUFBRSxNQUFNLFFBQUE7Z0JBQ2hCLElBQUEsYUFBYSxHQUFxQixVQUFVLGNBQS9CLEVBQUUsY0FBYyxHQUFLLFVBQVUsZUFBZixDQUFnQjtnQkFDckQsaUZBQWlGO2dCQUNqRixnSEFBZ0g7Z0JBQ2hILEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxhQUFhLElBQUksTUFBTSxDQUFDO2dCQUNyRSwrQkFBK0I7Z0JBQy9CLG1IQUFtSDtnQkFDbkgsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLGNBQWMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUUzRSxPQUFPLElBQUksV0FBVyxDQUFDO29CQUNyQixXQUFXLEVBQUUsZUFBZTtvQkFDNUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhO29CQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQzFCLE1BQU0sUUFBQTtvQkFDTixhQUFhLEVBQUUsaUJBQWlCO2lCQUNqQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7UUFsQkosQ0FrQkksQ0FBQztLQUNSO0lBRUQsNkJBQ0ssS0FBSyxLQUNSLGlCQUFpQixtQkFBQTtRQUNqQixpQkFBaUIsbUJBQUEsRUFDakIsV0FBVyxFQUFFLGVBQWUsRUFDNUIsTUFBTSxRQUFBLElBQ047QUFDSixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBSSxLQUFzQjtJQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLEtBQW9CLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hdHVyZVY0IH0gZnJvbSBcIkBhd3Mtc2RrL3NpZ25hdHVyZS12NFwiO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHMsIEhhc2hDb25zdHJ1Y3RvciwgUHJvdmlkZXIsIFJlZ2lvbkluZm8sIFJlZ2lvbkluZm9Qcm92aWRlciwgUmVxdWVzdFNpZ25lciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0F1dGhJbnB1dENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbHMgdXNlZCB0byBzaWduIHJlcXVlc3RzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcblxuICAvKipcbiAgICogVGhlIHNpZ25lciB0byB1c2Ugd2hlbiBzaWduaW5nIHJlcXVlc3RzLlxuICAgKi9cbiAgc2lnbmVyPzogUmVxdWVzdFNpZ25lciB8IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVzY2FwZSByZXF1ZXN0IHBhdGggd2hlbiBzaWduaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgc2lnbmluZ0VzY2FwZVBhdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBvZmZzZXQgdmFsdWUgaW4gbWlsbGlzZWNvbmRzIHRvIGFwcGx5IHRvIGFsbCBzaWduaW5nIHRpbWVzLlxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb24gd2hlcmUgeW91IHdhbnQgdG8gc2lnbiB5b3VyIHJlcXVlc3QgYWdhaW5zdC4gVGhpc1xuICAgKiBjYW4gYmUgZGlmZmVyZW50IHRvIHRoZSByZWdpb24gaW4gdGhlIGVuZHBvaW50LlxuICAgKi9cbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbn1cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICBjcmVkZW50aWFsRGVmYXVsdFByb3ZpZGVyOiAoaW5wdXQ6IGFueSkgPT4gUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuICByZWdpb246IHN0cmluZyB8IFByb3ZpZGVyPHN0cmluZz47XG4gIHJlZ2lvbkluZm9Qcm92aWRlcjogUmVnaW9uSW5mb1Byb3ZpZGVyO1xuICBzaWduaW5nTmFtZT86IHN0cmluZztcbiAgc2VydmljZUlkOiBzdHJpbmc7XG4gIHNoYTI1NjogSGFzaENvbnN0cnVjdG9yO1xufVxuZXhwb3J0IGludGVyZmFjZSBBd3NBdXRoUmVzb2x2ZWRDb25maWcge1xuICBjcmVkZW50aWFsczogUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuICBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICBzaWduaW5nRXNjYXBlUGF0aDogYm9vbGVhbjtcbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXdzQXV0aENvbmZpZzxUPihpbnB1dDogVCAmIEF3c0F1dGhJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZCk6IFQgJiBBd3NBdXRoUmVzb2x2ZWRDb25maWcge1xuICBjb25zdCBjcmVkZW50aWFscyA9IGlucHV0LmNyZWRlbnRpYWxzIHx8IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gbm9ybWFsaXplUHJvdmlkZXIoY3JlZGVudGlhbHMpO1xuICBjb25zdCB7IHNpZ25pbmdFc2NhcGVQYXRoID0gdHJ1ZSwgc3lzdGVtQ2xvY2tPZmZzZXQgPSBpbnB1dC5zeXN0ZW1DbG9ja09mZnNldCB8fCAwLCBzaGEyNTYgfSA9IGlucHV0O1xuICBsZXQgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgaWYgKGlucHV0LnNpZ25lcikge1xuICAgIC8vaWYgc2lnbmVyIGlzIHN1cHBsaWVkIGJ5IHVzZXIsIG5vcm1hbGl6ZSBpdCB0byBhIGZ1bmN0aW9uIHJldHVybmluZyBhIHByb21pc2UgZm9yIHNpZ25lci5cbiAgICBzaWduZXIgPSBub3JtYWxpemVQcm92aWRlcihpbnB1dC5zaWduZXIpO1xuICB9IGVsc2Uge1xuICAgIC8vY29uc3RydWN0IGEgcHJvdmlkZXIgaW5mZXJyaW5nIHNpZ25pbmcgZnJvbSByZWdpb24uXG4gICAgc2lnbmVyID0gKCkgPT5cbiAgICAgIG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnJlZ2lvbikoKVxuICAgICAgICAudGhlbihhc3luYyAocmVnaW9uKSA9PiBbKGF3YWl0IGlucHV0LnJlZ2lvbkluZm9Qcm92aWRlcihyZWdpb24pKSB8fCB7fSwgcmVnaW9uXSBhcyBbUmVnaW9uSW5mbywgc3RyaW5nXSlcbiAgICAgICAgLnRoZW4oKFtyZWdpb25JbmZvLCByZWdpb25dKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzaWduaW5nUmVnaW9uLCBzaWduaW5nU2VydmljZSB9ID0gcmVnaW9uSW5mbztcbiAgICAgICAgICAvL3VwZGF0ZSBjbGllbnQncyBzaW5naW5nIHJlZ2lvbiBhbmQgc2lnbmluZyBzZXJ2aWNlIGNvbmZpZyBpZiB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgICAgICAvL3NpZ25pbmcgcmVnaW9uIHJlc29sdmluZyBvcmRlcjogdXNlciBzdXBwbGllZCBzaWduaW5nUmVnaW9uIC0+IGVuZHBvaW50cy5qc29uIGluZmVycmVkIHJlZ2lvbiAtPiBjbGllbnQgcmVnaW9uXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ1JlZ2lvbiA9IGlucHV0LnNpZ25pbmdSZWdpb24gfHwgc2lnbmluZ1JlZ2lvbiB8fCByZWdpb247XG4gICAgICAgICAgLy9zaWduaW5nIG5hbWUgcmVzb2x2aW5nIG9yZGVyOlxuICAgICAgICAgIC8vdXNlciBzdXBwbGllZCBzaWduaW5nTmFtZSAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCAoY3JlZGVudGlhbCBzY29wZSAtPiBtb2RlbCBhcm5OYW1lc3BhY2UpIC0+IG1vZGVsIHNlcnZpY2UgaWRcbiAgICAgICAgICBpbnB1dC5zaWduaW5nTmFtZSA9IGlucHV0LnNpZ25pbmdOYW1lIHx8IHNpZ25pbmdTZXJ2aWNlIHx8IGlucHV0LnNlcnZpY2VJZDtcblxuICAgICAgICAgIHJldHVybiBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBzeXN0ZW1DbG9ja09mZnNldCxcbiAgICBzaWduaW5nRXNjYXBlUGF0aCxcbiAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgIHNpZ25lcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplUHJvdmlkZXI8VD4oaW5wdXQ6IFQgfCBQcm92aWRlcjxUPik6IFByb3ZpZGVyPFQ+IHtcbiAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKGlucHV0KTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIGlucHV0IGFzIFByb3ZpZGVyPFQ+O1xufVxuIl19","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nvar isClockSkewed = function (newServerTime, systemClockOffset) {\n return Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - newServerTime) >= 300000;\n};\nvar getSkewCorrectedDate = function (systemClockOffset) { return new Date(Date.now() + systemClockOffset); };\nexport function awsAuthMiddleware(options) {\n return function (next, context) {\n return function (args) {\n return __awaiter(this, void 0, void 0, function () {\n var signer, _a, output, _b, _c, headers, dateHeader, serverTime;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n if (!HttpRequest.isInstance(args.request))\n return [2 /*return*/, next(args)];\n if (!(typeof options.signer === \"function\")) return [3 /*break*/, 2];\n return [4 /*yield*/, options.signer()];\n case 1:\n _a = _e.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = options.signer;\n _e.label = 3;\n case 3:\n signer = _a;\n _b = next;\n _c = [__assign({}, args)];\n _d = {};\n return [4 /*yield*/, signer.sign(args.request, {\n signingDate: new Date(Date.now() + options.systemClockOffset),\n signingRegion: context[\"signing_region\"],\n signingService: context[\"signing_service\"],\n })];\n case 4: return [4 /*yield*/, _b.apply(void 0, [__assign.apply(void 0, _c.concat([(_d.request = _e.sent(), _d)]))])];\n case 5:\n output = _e.sent();\n headers = output.response.headers;\n dateHeader = headers && (headers.date || headers.Date);\n if (dateHeader) {\n serverTime = Date.parse(dateHeader);\n if (isClockSkewed(serverTime, options.systemClockOffset)) {\n options.systemClockOffset = serverTime - Date.now();\n }\n }\n return [2 /*return*/, output];\n }\n });\n });\n };\n };\n}\nexport var awsAuthMiddlewareOptions = {\n name: \"awsAuthMiddleware\",\n tags: [\"SIGNATURE\", \"AWSAUTH\"],\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n override: true,\n};\nexport var getAwsAuthPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFhckQsSUFBTSxhQUFhLEdBQUcsVUFBQyxhQUFxQixFQUFFLGlCQUF5QjtJQUNyRSxPQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxhQUFhLENBQUMsSUFBSSxNQUFNO0FBQXJGLENBQXFGLENBQUM7QUFFeEYsSUFBTSxvQkFBb0IsR0FBRyxVQUFDLGlCQUF5QixJQUFLLE9BQUEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLGlCQUFpQixDQUFDLEVBQXhDLENBQXdDLENBQUM7QUFFckcsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixPQUE4QjtJQUU5QixPQUFPLFVBQUMsSUFBb0MsRUFBRSxPQUFnQztRQUM1RSxPQUFBLFVBQWdCLElBQXFDOzs7Ozs7OzRCQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dDQUFFLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztpQ0FDOUMsQ0FBQSxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFBLEVBQXBDLHdCQUFvQzs0QkFBRyxxQkFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUE7OzRCQUF0QixLQUFBLFNBQXNCLENBQUE7Ozs0QkFBRyxLQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUE7Ozs0QkFBdkYsTUFBTSxLQUFpRjs0QkFDeEUsS0FBQSxJQUFJLENBQUE7K0NBQ3BCLElBQUk7OzRCQUNFLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQ0FDdkMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7b0NBQzdELGFBQWEsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7b0NBQ3hDLGNBQWMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUM7aUNBQzNDLENBQUMsRUFBQTtnQ0FOVyxxQkFBTSxxREFFbkIsVUFBTyxHQUFFLFNBSVAsVUFDRixFQUFBOzs0QkFQSSxNQUFNLEdBQUcsU0FPYjs0QkFFTSxPQUFPLEdBQUssTUFBTSxDQUFDLFFBQWUsUUFBM0IsQ0FBNEI7NEJBQ3JDLFVBQVUsR0FBRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDN0QsSUFBSSxVQUFVLEVBQUU7Z0NBQ1IsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7Z0NBQzFDLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtvQ0FDeEQsT0FBTyxDQUFDLGlCQUFpQixHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7aUNBQ3JEOzZCQUNGOzRCQUVELHNCQUFPLE1BQU0sRUFBQzs7OztTQUNmO0lBdEJELENBc0JDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQThCO0lBQ2pFLElBQUksRUFBRSxtQkFBbUI7SUFDekIsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUM5QixRQUFRLEVBQUUsT0FBTztJQUNqQixZQUFZLEVBQUUsaUJBQWlCO0lBQy9CLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLFVBQUMsT0FBOEIsSUFBMEIsT0FBQSxDQUFDO0lBQ3hGLFlBQVksRUFBRSxVQUFDLFdBQVc7UUFDeEIsV0FBVyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FDRixDQUFDLEVBSnVGLENBSXZGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBGaW5hbGl6ZUhhbmRsZXIsXG4gIEZpbmFsaXplSGFuZGxlckFyZ3VtZW50cyxcbiAgRmluYWxpemVIYW5kbGVyT3V0cHV0LFxuICBGaW5hbGl6ZVJlcXVlc3RNaWRkbGV3YXJlLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgUGx1Z2dhYmxlLFxuICBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQXdzQXV0aFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcblxuY29uc3QgaXNDbG9ja1NrZXdlZCA9IChuZXdTZXJ2ZXJUaW1lOiBudW1iZXIsIHN5c3RlbUNsb2NrT2Zmc2V0OiBudW1iZXIpID0+XG4gIE1hdGguYWJzKGdldFNrZXdDb3JyZWN0ZWREYXRlKHN5c3RlbUNsb2NrT2Zmc2V0KS5nZXRUaW1lKCkgLSBuZXdTZXJ2ZXJUaW1lKSA+PSAzMDAwMDA7XG5cbmNvbnN0IGdldFNrZXdDb3JyZWN0ZWREYXRlID0gKHN5c3RlbUNsb2NrT2Zmc2V0OiBudW1iZXIpID0+IG5ldyBEYXRlKERhdGUubm93KCkgKyBzeXN0ZW1DbG9ja09mZnNldCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBhd3NBdXRoTWlkZGxld2FyZTxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0PihcbiAgb3B0aW9uczogQXdzQXV0aFJlc29sdmVkQ29uZmlnXG4pOiBGaW5hbGl6ZVJlcXVlc3RNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+IHtcbiAgcmV0dXJuIChuZXh0OiBGaW5hbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD4sIGNvbnRleHQ6IEhhbmRsZXJFeGVjdXRpb25Db250ZXh0KTogRmluYWxpemVIYW5kbGVyPElucHV0LCBPdXRwdXQ+ID0+XG4gICAgYXN5bmMgZnVuY3Rpb24gKGFyZ3M6IEZpbmFsaXplSGFuZGxlckFyZ3VtZW50czxJbnB1dD4pOiBQcm9taXNlPEZpbmFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiB7XG4gICAgICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UoYXJncy5yZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgICBjb25zdCBzaWduZXIgPSB0eXBlb2Ygb3B0aW9ucy5zaWduZXIgPT09IFwiZnVuY3Rpb25cIiA/IGF3YWl0IG9wdGlvbnMuc2lnbmVyKCkgOiBvcHRpb25zLnNpZ25lcjtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IG5leHQoe1xuICAgICAgICAuLi5hcmdzLFxuICAgICAgICByZXF1ZXN0OiBhd2FpdCBzaWduZXIuc2lnbihhcmdzLnJlcXVlc3QsIHtcbiAgICAgICAgICBzaWduaW5nRGF0ZTogbmV3IERhdGUoRGF0ZS5ub3coKSArIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQpLFxuICAgICAgICAgIHNpZ25pbmdSZWdpb246IGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSxcbiAgICAgICAgICBzaWduaW5nU2VydmljZTogY29udGV4dFtcInNpZ25pbmdfc2VydmljZVwiXSxcbiAgICAgICAgfSksXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgeyBoZWFkZXJzIH0gPSBvdXRwdXQucmVzcG9uc2UgYXMgYW55O1xuICAgICAgY29uc3QgZGF0ZUhlYWRlciA9IGhlYWRlcnMgJiYgKGhlYWRlcnMuZGF0ZSB8fCBoZWFkZXJzLkRhdGUpO1xuICAgICAgaWYgKGRhdGVIZWFkZXIpIHtcbiAgICAgICAgY29uc3Qgc2VydmVyVGltZSA9IERhdGUucGFyc2UoZGF0ZUhlYWRlcik7XG4gICAgICAgIGlmIChpc0Nsb2NrU2tld2VkKHNlcnZlclRpbWUsIG9wdGlvbnMuc3lzdGVtQ2xvY2tPZmZzZXQpKSB7XG4gICAgICAgICAgb3B0aW9ucy5zeXN0ZW1DbG9ja09mZnNldCA9IHNlcnZlclRpbWUgLSBEYXRlLm5vdygpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGF3c0F1dGhNaWRkbGV3YXJlT3B0aW9uczogUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucyA9IHtcbiAgbmFtZTogXCJhd3NBdXRoTWlkZGxld2FyZVwiLFxuICB0YWdzOiBbXCJTSUdOQVRVUkVcIiwgXCJBV1NBVVRIXCJdLFxuICByZWxhdGlvbjogXCJhZnRlclwiLFxuICB0b01pZGRsZXdhcmU6IFwicmV0cnlNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldEF3c0F1dGhQbHVnaW4gPSAob3B0aW9uczogQXdzQXV0aFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZFJlbGF0aXZlVG8oYXdzQXV0aE1pZGRsZXdhcmUob3B0aW9ucyksIGF3c0F1dGhNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","import { __assign } from \"tslib\";\nexport function resolveUserAgentConfig(input) {\n return __assign(__assign({}, input), { customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWdCQSxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLEtBQW9EO0lBRXBELDZCQUNLLEtBQUssS0FDUixlQUFlLEVBQUUsT0FBTyxLQUFLLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUM5RztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgVXNlckFnZW50IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJBZ2VudElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdXNlciBhZ2VudCBoZWFkZXIgdGhhdCB3b3VsZCBiZSBhcHBlbmRlZCB0byBkZWZhdWx0IG9uZVxuICAgKi9cbiAgY3VzdG9tVXNlckFnZW50Pzogc3RyaW5nIHwgVXNlckFnZW50O1xufVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcjogUHJvdmlkZXI8VXNlckFnZW50PjtcbiAgcnVudGltZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyB7XG4gIGRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcjogUHJvdmlkZXI8VXNlckFnZW50PjtcbiAgY3VzdG9tVXNlckFnZW50PzogVXNlckFnZW50O1xuICBydW50aW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVVzZXJBZ2VudENvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBVc2VyQWdlbnRJbnB1dENvbmZpZ1xuKTogVCAmIFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBjdXN0b21Vc2VyQWdlbnQ6IHR5cGVvZiBpbnB1dC5jdXN0b21Vc2VyQWdlbnQgPT09IFwic3RyaW5nXCIgPyBbW2lucHV0LmN1c3RvbVVzZXJBZ2VudF1dIDogaW5wdXQuY3VzdG9tVXNlckFnZW50LFxuICB9O1xufVxuIl19","export var USER_AGENT = \"user-agent\";\nexport var X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport var SPACE = \" \";\nexport var UA_ESCAPE_REGEX = /[^\\!\\#\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxJQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFFekIsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVTRVJfQUdFTlQgPSBcInVzZXItYWdlbnRcIjtcblxuZXhwb3J0IGNvbnN0IFhfQU1aX1VTRVJfQUdFTlQgPSBcIngtYW16LXVzZXItYWdlbnRcIjtcblxuZXhwb3J0IGNvbnN0IFNQQUNFID0gXCIgXCI7XG5cbmV4cG9ydCBjb25zdCBVQV9FU0NBUEVfUkVHRVggPSAvW15cXCFcXCNcXCRcXCVcXCZcXCdcXCpcXCtcXC1cXC5cXF5cXF9cXGBcXHxcXH5cXGRcXHddL2c7XG4iXX0=","import { __assign, __awaiter, __generator, __read, __spread } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from \"./constants\";\n/**\n * Build user agent header sections from:\n * 1. runtime-specific default user agent provider;\n * 2. custom user agent from `customUserAgent` client config;\n * 3. handler execution context set by internal SDK components;\n * The built user agent will be set to `x-amz-user-agent` header for ALL the\n * runtimes.\n * Please note that any override to the `user-agent` or `x-amz-user-agent` header\n * in the HTTP request is discouraged. Please use `customUserAgent` client\n * config or middleware setting the `userAgent` context to generate desired user\n * agent.\n */\nexport var userAgentMiddleware = function (options) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request, headers, userAgent, defaultUserAgent, customUserAgent, normalUAValue;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n request = args.request;\n if (!HttpRequest.isInstance(request))\n return [2 /*return*/, next(args)];\n headers = request.headers;\n userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];\n return [4 /*yield*/, options.defaultUserAgentProvider()];\n case 1:\n defaultUserAgent = (_c.sent()).map(escapeUserAgent);\n customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];\n // Set value to AWS-specific user agent header\n headers[X_AMZ_USER_AGENT] = __spread(defaultUserAgent, userAgent, customUserAgent).join(SPACE);\n normalUAValue = __spread(defaultUserAgent.filter(function (section) { return section.startsWith(\"aws-sdk-\"); }), customUserAgent).join(SPACE);\n if (options.runtime !== \"browser\" && normalUAValue) {\n headers[USER_AGENT] = headers[USER_AGENT] ? headers[USER_AGENT] + \" \" + normalUAValue : normalUAValue;\n }\n return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n }\n });\n}); }; }; };\n/**\n * Escape the each pair according to https://tools.ietf.org/html/rfc5234 and join the pair with pattern `name/version`.\n * User agent name may include prefix like `md/`, `api/`, `os/` etc., we should not escape the `/` after the prefix.\n * @private\n */\nvar escapeUserAgent = function (_a) {\n var _b = __read(_a, 2), name = _b[0], version = _b[1];\n var prefixSeparatorIndex = name.indexOf(\"/\");\n var prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just \"\"\n var uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter(function (item) { return item && item.length > 0; })\n .map(function (item) { return item === null || item === void 0 ? void 0 : item.replace(UA_ESCAPE_REGEX, \"_\"); })\n .join(\"/\");\n};\nexport var getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nexport var getUserAgentPlugin = function (config) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VzZXItYWdlbnQtbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBY3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLFVBQUMsT0FBZ0MsSUFBSyxPQUFBLFVBQ3ZFLElBQTRCLEVBQzVCLE9BQWdDLElBQ0wsT0FBQSxVQUFPLElBQWdDOzs7Ozs7Z0JBQzFELE9BQU8sR0FBSyxJQUFJLFFBQVQsQ0FBVTtnQkFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO29CQUFFLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDaEQsT0FBTyxHQUFLLE9BQU8sUUFBWixDQUFhO2dCQUN0QixTQUFTLEdBQUcsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsU0FBUywwQ0FBRSxHQUFHLENBQUMsZUFBZSxNQUFLLEVBQUUsQ0FBQztnQkFDdkMscUJBQU0sT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUE7O2dCQUE1RCxnQkFBZ0IsR0FBRyxDQUFDLFNBQXdDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUNsRixlQUFlLEdBQUcsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsZUFBZSwwQ0FBRSxHQUFHLENBQUMsZUFBZSxNQUFLLEVBQUUsQ0FBQztnQkFDN0UsOENBQThDO2dCQUM5QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxTQUFJLGdCQUFnQixFQUFLLFNBQVMsRUFBSyxlQUFlLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUxRixhQUFhLEdBQUcsU0FDakIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQyxFQUNwRSxlQUFlLEVBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLGFBQWEsRUFBRTtvQkFDbEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFJLGFBQWUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO2lCQUN2RztnQkFFRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOzs7S0FDSixFQXRCNEIsQ0FzQjVCLEVBekJ3RSxDQXlCeEUsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxJQUFNLGVBQWUsR0FBRyxVQUFDLEVBQThCO1FBQTlCLEtBQUEsYUFBOEIsRUFBN0IsSUFBSSxRQUFBLEVBQUUsT0FBTyxRQUFBO0lBQ3JDLElBQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO0lBQzFGLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO1FBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDL0I7SUFDRCxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7U0FDN0IsTUFBTSxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUF2QixDQUF1QixDQUFDO1NBQ3pDLEdBQUcsQ0FBQyxVQUFDLElBQUksV0FBSyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBMkM7SUFDbkYsSUFBSSxFQUFFLHdCQUF3QjtJQUM5QixJQUFJLEVBQUUsT0FBTztJQUNiLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQ3RDLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLFVBQUMsTUFBK0IsSUFBMEIsT0FBQSxDQUFDO0lBQzNGLFlBQVksRUFBRSxVQUFDLFdBQVc7UUFDeEIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRixDQUFDLEVBSjBGLENBSTFGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBBYnNvbHV0ZUxvY2F0aW9uLFxuICBCdWlsZEhhbmRsZXIsXG4gIEJ1aWxkSGFuZGxlckFyZ3VtZW50cyxcbiAgQnVpbGRIYW5kbGVyT3B0aW9ucyxcbiAgQnVpbGRIYW5kbGVyT3V0cHV0LFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgVXNlckFnZW50UGFpcixcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmltcG9ydCB7IFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmltcG9ydCB7IFNQQUNFLCBVQV9FU0NBUEVfUkVHRVgsIFVTRVJfQUdFTlQsIFhfQU1aX1VTRVJfQUdFTlQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBCdWlsZCB1c2VyIGFnZW50IGhlYWRlciBzZWN0aW9ucyBmcm9tOlxuICogMS4gcnVudGltZS1zcGVjaWZpYyBkZWZhdWx0IHVzZXIgYWdlbnQgcHJvdmlkZXI7XG4gKiAyLiBjdXN0b20gdXNlciBhZ2VudCBmcm9tIGBjdXN0b21Vc2VyQWdlbnRgIGNsaWVudCBjb25maWc7XG4gKiAzLiBoYW5kbGVyIGV4ZWN1dGlvbiBjb250ZXh0IHNldCBieSBpbnRlcm5hbCBTREsgY29tcG9uZW50cztcbiAqIFRoZSBidWlsdCB1c2VyIGFnZW50IHdpbGwgYmUgc2V0IHRvIGB4LWFtei11c2VyLWFnZW50YCBoZWFkZXIgZm9yIEFMTCB0aGVcbiAqIHJ1bnRpbWVzLlxuICogUGxlYXNlIG5vdGUgdGhhdCBhbnkgb3ZlcnJpZGUgdG8gdGhlIGB1c2VyLWFnZW50YCBvciBgeC1hbXotdXNlci1hZ2VudGAgaGVhZGVyXG4gKiBpbiB0aGUgSFRUUCByZXF1ZXN0IGlzIGRpc2NvdXJhZ2VkLiBQbGVhc2UgdXNlIGBjdXN0b21Vc2VyQWdlbnRgIGNsaWVudFxuICogY29uZmlnIG9yIG1pZGRsZXdhcmUgc2V0dGluZyB0aGUgYHVzZXJBZ2VudGAgY29udGV4dCB0byBnZW5lcmF0ZSBkZXNpcmVkIHVzZXJcbiAqIGFnZW50LlxuICovXG5leHBvcnQgY29uc3QgdXNlckFnZW50TWlkZGxld2FyZSA9IChvcHRpb25zOiBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZykgPT4gPE91dHB1dCBleHRlbmRzIE1ldGFkYXRhQmVhcmVyPihcbiAgbmV4dDogQnVpbGRIYW5kbGVyPGFueSwgYW55PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IEJ1aWxkSGFuZGxlcjxhbnksIGFueT4gPT4gYXN5bmMgKGFyZ3M6IEJ1aWxkSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxCdWlsZEhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICBjb25zdCB7IHJlcXVlc3QgfSA9IGFyZ3M7XG4gIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gIGNvbnN0IHsgaGVhZGVycyB9ID0gcmVxdWVzdDtcbiAgY29uc3QgdXNlckFnZW50ID0gY29udGV4dD8udXNlckFnZW50Py5tYXAoZXNjYXBlVXNlckFnZW50KSB8fCBbXTtcbiAgY29uc3QgZGVmYXVsdFVzZXJBZ2VudCA9IChhd2FpdCBvcHRpb25zLmRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcigpKS5tYXAoZXNjYXBlVXNlckFnZW50KTtcbiAgY29uc3QgY3VzdG9tVXNlckFnZW50ID0gb3B0aW9ucz8uY3VzdG9tVXNlckFnZW50Py5tYXAoZXNjYXBlVXNlckFnZW50KSB8fCBbXTtcbiAgLy8gU2V0IHZhbHVlIHRvIEFXUy1zcGVjaWZpYyB1c2VyIGFnZW50IGhlYWRlclxuICBoZWFkZXJzW1hfQU1aX1VTRVJfQUdFTlRdID0gWy4uLmRlZmF1bHRVc2VyQWdlbnQsIC4uLnVzZXJBZ2VudCwgLi4uY3VzdG9tVXNlckFnZW50XS5qb2luKFNQQUNFKTtcbiAgLy8gR2V0IHZhbHVlIHRvIGJlIHNlbnQgd2l0aCBub24tQVdTLXNwZWNpZmljIHVzZXIgYWdlbnQgaGVhZGVyLlxuICBjb25zdCBub3JtYWxVQVZhbHVlID0gW1xuICAgIC4uLmRlZmF1bHRVc2VyQWdlbnQuZmlsdGVyKChzZWN0aW9uKSA9PiBzZWN0aW9uLnN0YXJ0c1dpdGgoXCJhd3Mtc2RrLVwiKSksXG4gICAgLi4uY3VzdG9tVXNlckFnZW50LFxuICBdLmpvaW4oU1BBQ0UpO1xuICBpZiAob3B0aW9ucy5ydW50aW1lICE9PSBcImJyb3dzZXJcIiAmJiBub3JtYWxVQVZhbHVlKSB7XG4gICAgaGVhZGVyc1tVU0VSX0FHRU5UXSA9IGhlYWRlcnNbVVNFUl9BR0VOVF0gPyBgJHtoZWFkZXJzW1VTRVJfQUdFTlRdfSAke25vcm1hbFVBVmFsdWV9YCA6IG5vcm1hbFVBVmFsdWU7XG4gIH1cblxuICByZXR1cm4gbmV4dCh7XG4gICAgLi4uYXJncyxcbiAgICByZXF1ZXN0LFxuICB9KTtcbn07XG5cbi8qKlxuICogRXNjYXBlIHRoZSBlYWNoIHBhaXIgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM1MjM0IGFuZCBqb2luIHRoZSBwYWlyIHdpdGggcGF0dGVybiBgbmFtZS92ZXJzaW9uYC5cbiAqIFVzZXIgYWdlbnQgbmFtZSBtYXkgaW5jbHVkZSBwcmVmaXggbGlrZSBgbWQvYCwgYGFwaS9gLCBgb3MvYCBldGMuLCB3ZSBzaG91bGQgbm90IGVzY2FwZSB0aGUgYC9gIGFmdGVyIHRoZSBwcmVmaXguXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBlc2NhcGVVc2VyQWdlbnQgPSAoW25hbWUsIHZlcnNpb25dOiBVc2VyQWdlbnRQYWlyKTogc3RyaW5nID0+IHtcbiAgY29uc3QgcHJlZml4U2VwYXJhdG9ySW5kZXggPSBuYW1lLmluZGV4T2YoXCIvXCIpO1xuICBjb25zdCBwcmVmaXggPSBuYW1lLnN1YnN0cmluZygwLCBwcmVmaXhTZXBhcmF0b3JJbmRleCk7IC8vIElmIG5vIHByZWZpeCwgcHJlZml4IGlzIGp1c3QgXCJcIlxuICBsZXQgdWFOYW1lID0gbmFtZS5zdWJzdHJpbmcocHJlZml4U2VwYXJhdG9ySW5kZXggKyAxKTtcbiAgaWYgKHByZWZpeCA9PT0gXCJhcGlcIikge1xuICAgIHVhTmFtZSA9IHVhTmFtZS50b0xvd2VyQ2FzZSgpO1xuICB9XG4gIHJldHVybiBbcHJlZml4LCB1YU5hbWUsIHZlcnNpb25dXG4gICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAmJiBpdGVtLmxlbmd0aCA+IDApXG4gICAgLm1hcCgoaXRlbSkgPT4gaXRlbT8ucmVwbGFjZShVQV9FU0NBUEVfUkVHRVgsIFwiX1wiKSlcbiAgICAuam9pbihcIi9cIik7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlckFnZW50TWlkZGxld2FyZU9wdGlvbnM6IEJ1aWxkSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uID0ge1xuICBuYW1lOiBcImdldFVzZXJBZ2VudE1pZGRsZXdhcmVcIixcbiAgc3RlcDogXCJidWlsZFwiLFxuICBwcmlvcml0eTogXCJsb3dcIixcbiAgdGFnczogW1wiU0VUX1VTRVJfQUdFTlRcIiwgXCJVU0VSX0FHRU5UXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyQWdlbnRQbHVnaW4gPSAoY29uZmlnOiBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQodXNlckFnZW50TWlkZGxld2FyZShjb25maWcpLCBnZXRVc2VyQWdlbnRNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","var HttpResponse = /** @class */ (function () {\n function HttpResponse(options) {\n this.statusCode = options.statusCode;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n HttpResponse.isInstance = function (response) {\n //determine if response is a valid HttpResponse\n if (!response)\n return false;\n var resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n };\n return HttpResponse;\n}());\nexport { HttpResponse };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cFJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2h0dHBSZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtJQUtFLHNCQUFZLE9BQTRCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRU0sdUJBQVUsR0FBakIsVUFBa0IsUUFBaUI7UUFDakMsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDNUIsSUFBTSxJQUFJLEdBQUcsUUFBZSxDQUFDO1FBQzdCLE9BQU8sT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDO0lBQ2pGLENBQUM7SUFDSCxtQkFBQztBQUFELENBQUMsQUFqQkQsSUFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWFkZXJCYWcsIEh0dHBNZXNzYWdlLCBIdHRwUmVzcG9uc2UgYXMgSUh0dHBSZXNwb25zZSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG50eXBlIEh0dHBSZXNwb25zZU9wdGlvbnMgPSBQYXJ0aWFsPEh0dHBNZXNzYWdlPiAmIHtcbiAgc3RhdHVzQ29kZTogbnVtYmVyO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwUmVzcG9uc2UgZXh0ZW5kcyBJSHR0cFJlc3BvbnNlIHt9XG5cbmV4cG9ydCBjbGFzcyBIdHRwUmVzcG9uc2Uge1xuICBwdWJsaWMgc3RhdHVzQ29kZTogbnVtYmVyO1xuICBwdWJsaWMgaGVhZGVyczogSGVhZGVyQmFnO1xuICBwdWJsaWMgYm9keT86IGFueTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIdHRwUmVzcG9uc2VPcHRpb25zKSB7XG4gICAgdGhpcy5zdGF0dXNDb2RlID0gb3B0aW9ucy5zdGF0dXNDb2RlO1xuICAgIHRoaXMuaGVhZGVycyA9IG9wdGlvbnMuaGVhZGVycyB8fCB7fTtcbiAgICB0aGlzLmJvZHkgPSBvcHRpb25zLmJvZHk7XG4gIH1cblxuICBzdGF0aWMgaXNJbnN0YW5jZShyZXNwb25zZTogdW5rbm93bik6IHJlc3BvbnNlIGlzIEh0dHBSZXNwb25zZSB7XG4gICAgLy9kZXRlcm1pbmUgaWYgcmVzcG9uc2UgaXMgYSB2YWxpZCBIdHRwUmVzcG9uc2VcbiAgICBpZiAoIXJlc3BvbnNlKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcmVzcCA9IHJlc3BvbnNlIGFzIGFueTtcbiAgICByZXR1cm4gdHlwZW9mIHJlc3Auc3RhdHVzQ29kZSA9PT0gXCJudW1iZXJcIiAmJiB0eXBlb2YgcmVzcC5oZWFkZXJzID09PSBcIm9iamVjdFwiO1xuICB9XG59XG4iXX0=","import { __assign, __read, __spread } from \"tslib\";\nvar HttpRequest = /** @class */ (function () {\n function HttpRequest(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.substr(-1) !== \":\"\n ? options.protocol + \":\"\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? \"/\" + options.path : options.path) : \"/\";\n }\n HttpRequest.isInstance = function (request) {\n //determine if request is a valid httpRequest\n if (!request)\n return false;\n var req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n };\n HttpRequest.prototype.clone = function () {\n var cloned = new HttpRequest(__assign(__assign({}, this), { headers: __assign({}, this.headers) }));\n if (cloned.query)\n cloned.query = cloneQuery(cloned.query);\n return cloned;\n };\n return HttpRequest;\n}());\nexport { HttpRequest };\nfunction cloneQuery(query) {\n return Object.keys(query).reduce(function (carry, paramName) {\n var _a;\n var param = query[paramName];\n return __assign(__assign({}, carry), (_a = {}, _a[paramName] = Array.isArray(param) ? __spread(param) : param, _a));\n }, {});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cFJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cFJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQU1BO0lBVUUscUJBQVksT0FBMkI7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVE7WUFDOUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRztnQkFDbkMsQ0FBQyxDQUFJLE9BQU8sQ0FBQyxRQUFRLE1BQUc7Z0JBQ3hCLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNwQixDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBSSxPQUFPLENBQUMsSUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN4RyxDQUFDO0lBRU0sc0JBQVUsR0FBakIsVUFBa0IsT0FBZ0I7UUFDaEMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0IsSUFBTSxHQUFHLEdBQVEsT0FBTyxDQUFDO1FBQ3pCLE9BQU8sQ0FDTCxRQUFRLElBQUksR0FBRztZQUNmLFVBQVUsSUFBSSxHQUFHO1lBQ2pCLFVBQVUsSUFBSSxHQUFHO1lBQ2pCLE1BQU0sSUFBSSxHQUFHO1lBQ2IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUTtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNFLElBQU0sTUFBTSxHQUFHLElBQUksV0FBVyx1QkFDekIsSUFBSSxLQUNQLE9BQU8sZUFBTyxJQUFJLENBQUMsT0FBTyxLQUMxQixDQUFDO1FBQ0gsSUFBSSxNQUFNLENBQUMsS0FBSztZQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBL0NELElBK0NDOztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQXdCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxLQUF3QixFQUFFLFNBQWlCOztRQUMzRSxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsNkJBQ0ssS0FBSyxnQkFDUCxTQUFTLElBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQ3REO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuZHBvaW50LCBIZWFkZXJCYWcsIEh0dHBNZXNzYWdlLCBIdHRwUmVxdWVzdCBhcyBJSHR0cFJlcXVlc3QsIFF1ZXJ5UGFyYW1ldGVyQmFnIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbnR5cGUgSHR0cFJlcXVlc3RPcHRpb25zID0gUGFydGlhbDxIdHRwTWVzc2FnZT4gJiBQYXJ0aWFsPEVuZHBvaW50PiAmIHsgbWV0aG9kPzogc3RyaW5nIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFJlcXVlc3QgZXh0ZW5kcyBJSHR0cFJlcXVlc3Qge31cblxuZXhwb3J0IGNsYXNzIEh0dHBSZXF1ZXN0IGltcGxlbWVudHMgSHR0cE1lc3NhZ2UsIEVuZHBvaW50IHtcbiAgcHVibGljIG1ldGhvZDogc3RyaW5nO1xuICBwdWJsaWMgcHJvdG9jb2w6IHN0cmluZztcbiAgcHVibGljIGhvc3RuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBwb3J0PzogbnVtYmVyO1xuICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuICBwdWJsaWMgcXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnO1xuICBwdWJsaWMgaGVhZGVyczogSGVhZGVyQmFnO1xuICBwdWJsaWMgYm9keT86IGFueTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIdHRwUmVxdWVzdE9wdGlvbnMpIHtcbiAgICB0aGlzLm1ldGhvZCA9IG9wdGlvbnMubWV0aG9kIHx8IFwiR0VUXCI7XG4gICAgdGhpcy5ob3N0bmFtZSA9IG9wdGlvbnMuaG9zdG5hbWUgfHwgXCJsb2NhbGhvc3RcIjtcbiAgICB0aGlzLnBvcnQgPSBvcHRpb25zLnBvcnQ7XG4gICAgdGhpcy5xdWVyeSA9IG9wdGlvbnMucXVlcnkgfHwge307XG4gICAgdGhpcy5oZWFkZXJzID0gb3B0aW9ucy5oZWFkZXJzIHx8IHt9O1xuICAgIHRoaXMuYm9keSA9IG9wdGlvbnMuYm9keTtcbiAgICB0aGlzLnByb3RvY29sID0gb3B0aW9ucy5wcm90b2NvbFxuICAgICAgPyBvcHRpb25zLnByb3RvY29sLnN1YnN0cigtMSkgIT09IFwiOlwiXG4gICAgICAgID8gYCR7b3B0aW9ucy5wcm90b2NvbH06YFxuICAgICAgICA6IG9wdGlvbnMucHJvdG9jb2xcbiAgICAgIDogXCJodHRwczpcIjtcbiAgICB0aGlzLnBhdGggPSBvcHRpb25zLnBhdGggPyAob3B0aW9ucy5wYXRoLmNoYXJBdCgwKSAhPT0gXCIvXCIgPyBgLyR7b3B0aW9ucy5wYXRofWAgOiBvcHRpb25zLnBhdGgpIDogXCIvXCI7XG4gIH1cblxuICBzdGF0aWMgaXNJbnN0YW5jZShyZXF1ZXN0OiB1bmtub3duKTogcmVxdWVzdCBpcyBIdHRwUmVxdWVzdCB7XG4gICAgLy9kZXRlcm1pbmUgaWYgcmVxdWVzdCBpcyBhIHZhbGlkIGh0dHBSZXF1ZXN0XG4gICAgaWYgKCFyZXF1ZXN0KSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcmVxOiBhbnkgPSByZXF1ZXN0O1xuICAgIHJldHVybiAoXG4gICAgICBcIm1ldGhvZFwiIGluIHJlcSAmJlxuICAgICAgXCJwcm90b2NvbFwiIGluIHJlcSAmJlxuICAgICAgXCJob3N0bmFtZVwiIGluIHJlcSAmJlxuICAgICAgXCJwYXRoXCIgaW4gcmVxICYmXG4gICAgICB0eXBlb2YgcmVxW1wicXVlcnlcIl0gPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHR5cGVvZiByZXFbXCJoZWFkZXJzXCJdID09PSBcIm9iamVjdFwiXG4gICAgKTtcbiAgfVxuXG4gIGNsb25lKCk6IEh0dHBSZXF1ZXN0IHtcbiAgICBjb25zdCBjbG9uZWQgPSBuZXcgSHR0cFJlcXVlc3Qoe1xuICAgICAgLi4udGhpcyxcbiAgICAgIGhlYWRlcnM6IHsgLi4udGhpcy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gICAgaWYgKGNsb25lZC5xdWVyeSkgY2xvbmVkLnF1ZXJ5ID0gY2xvbmVRdWVyeShjbG9uZWQucXVlcnkpO1xuICAgIHJldHVybiBjbG9uZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVRdWVyeShxdWVyeTogUXVlcnlQYXJhbWV0ZXJCYWcpOiBRdWVyeVBhcmFtZXRlckJhZyB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhxdWVyeSkucmVkdWNlKChjYXJyeTogUXVlcnlQYXJhbWV0ZXJCYWcsIHBhcmFtTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBxdWVyeVtwYXJhbU5hbWVdO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jYXJyeSxcbiAgICAgIFtwYXJhbU5hbWVdOiBBcnJheS5pc0FycmF5KHBhcmFtKSA/IFsuLi5wYXJhbV0gOiBwYXJhbSxcbiAgICB9O1xuICB9LCB7fSk7XG59XG4iXX0=","import { __values } from \"tslib\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\nexport function buildQueryString(query) {\n var e_1, _a;\n var parts = [];\n try {\n for (var _b = __values(Object.keys(query).sort()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (var i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(key + \"=\" + escapeUri(value[i]));\n }\n }\n else {\n var qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += \"=\" + escapeUri(value);\n }\n parts.push(qsEntry);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return parts.join(\"&\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBd0I7O0lBQ3ZELElBQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQzs7UUFDM0IsS0FBZ0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSxnQkFBQSw0QkFBRTtZQUF0QyxJQUFJLEdBQUcsV0FBQTtZQUNWLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QixHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDbEQsS0FBSyxDQUFDLElBQUksQ0FBSSxHQUFHLFNBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRyxDQUFDLENBQUM7aUJBQzdDO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDO2dCQUNsQixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7b0JBQ3RDLE9BQU8sSUFBSSxNQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUcsQ0FBQztpQkFDbkM7Z0JBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNyQjtTQUNGOzs7Ozs7Ozs7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UGFyYW1ldGVyQmFnIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBlc2NhcGVVcmkgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC11cmktZXNjYXBlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFF1ZXJ5U3RyaW5nKHF1ZXJ5OiBRdWVyeVBhcmFtZXRlckJhZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBrZXkgb2YgT2JqZWN0LmtleXMocXVlcnkpLnNvcnQoKSkge1xuICAgIGNvbnN0IHZhbHVlID0gcXVlcnlba2V5XTtcbiAgICBrZXkgPSBlc2NhcGVVcmkoa2V5KTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBpTGVuID0gdmFsdWUubGVuZ3RoOyBpIDwgaUxlbjsgaSsrKSB7XG4gICAgICAgIHBhcnRzLnB1c2goYCR7a2V5fT0ke2VzY2FwZVVyaSh2YWx1ZVtpXSl9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBxc0VudHJ5ID0ga2V5O1xuICAgICAgaWYgKHZhbHVlIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBxc0VudHJ5ICs9IGA9JHtlc2NhcGVVcmkodmFsdWUpfWA7XG4gICAgICB9XG4gICAgICBwYXJ0cy5wdXNoKHFzRW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5qb2luKFwiJlwiKTtcbn1cbiJdfQ==","export var ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport var CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport var AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport var SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport var EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport var SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport var TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport var AUTH_HEADER = \"authorization\";\nexport var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport var DATE_HEADER = \"date\";\nexport var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport var SHA256_HEADER = \"x-amz-content-sha256\";\nexport var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport var HOST_HEADER = \"host\";\nexport var ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexport var PROXY_HEADER_PATTERN = /^proxy-/;\nexport var SEC_HEADER_PATTERN = /^sec-/;\nexport var UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport var ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport var EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport var UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport var MAX_CACHE_SIZE = 50;\nexport var KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxxQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQztBQUN2RCxNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQztBQUN6RCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLElBQU0sMEJBQTBCLEdBQUcscUJBQXFCLENBQUM7QUFDaEUsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxJQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBRXhELE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFDM0MsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDbEMsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ3BFLE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDNUQsTUFBTSxDQUFDLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUVsQyxNQUFNLENBQUMsSUFBTSx5QkFBeUIsR0FBRztJQUN2QyxhQUFhLEVBQUUsSUFBSTtJQUNuQixlQUFlLEVBQUUsSUFBSTtJQUNyQixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxJQUFJO0lBQ1YsWUFBWSxFQUFFLElBQUk7SUFDbEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLEVBQUUsRUFBRSxJQUFJO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsWUFBWSxFQUFFLElBQUk7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztBQUUxQyxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUUxRCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztBQUV2RCxNQUFNLENBQUMsSUFBTSwwQkFBMEIsR0FBRywwQkFBMEIsQ0FBQztBQUVyRSxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUVuRCxNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FBQztBQUVsRCxNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQUxHT1JJVEhNX1FVRVJZX1BBUkFNID0gXCJYLUFtei1BbGdvcml0aG1cIjtcbmV4cG9ydCBjb25zdCBDUkVERU5USUFMX1FVRVJZX1BBUkFNID0gXCJYLUFtei1DcmVkZW50aWFsXCI7XG5leHBvcnQgY29uc3QgQU1aX0RBVEVfUVVFUllfUEFSQU0gPSBcIlgtQW16LURhdGVcIjtcbmV4cG9ydCBjb25zdCBTSUdORURfSEVBREVSU19RVUVSWV9QQVJBTSA9IFwiWC1BbXotU2lnbmVkSGVhZGVyc1wiO1xuZXhwb3J0IGNvbnN0IEVYUElSRVNfUVVFUllfUEFSQU0gPSBcIlgtQW16LUV4cGlyZXNcIjtcbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfUVVFUllfUEFSQU0gPSBcIlgtQW16LVNpZ25hdHVyZVwiO1xuZXhwb3J0IGNvbnN0IFRPS0VOX1FVRVJZX1BBUkFNID0gXCJYLUFtei1TZWN1cml0eS1Ub2tlblwiO1xuXG5leHBvcnQgY29uc3QgQVVUSF9IRUFERVIgPSBcImF1dGhvcml6YXRpb25cIjtcbmV4cG9ydCBjb25zdCBBTVpfREFURV9IRUFERVIgPSBBTVpfREFURV9RVUVSWV9QQVJBTS50b0xvd2VyQ2FzZSgpO1xuZXhwb3J0IGNvbnN0IERBVEVfSEVBREVSID0gXCJkYXRlXCI7XG5leHBvcnQgY29uc3QgR0VORVJBVEVEX0hFQURFUlMgPSBbQVVUSF9IRUFERVIsIEFNWl9EQVRFX0hFQURFUiwgREFURV9IRUFERVJdO1xuZXhwb3J0IGNvbnN0IFNJR05BVFVSRV9IRUFERVIgPSBTSUdOQVRVUkVfUVVFUllfUEFSQU0udG9Mb3dlckNhc2UoKTtcbmV4cG9ydCBjb25zdCBTSEEyNTZfSEVBREVSID0gXCJ4LWFtei1jb250ZW50LXNoYTI1NlwiO1xuZXhwb3J0IGNvbnN0IFRPS0VOX0hFQURFUiA9IFRPS0VOX1FVRVJZX1BBUkFNLnRvTG93ZXJDYXNlKCk7XG5leHBvcnQgY29uc3QgSE9TVF9IRUFERVIgPSBcImhvc3RcIjtcblxuZXhwb3J0IGNvbnN0IEFMV0FZU19VTlNJR05BQkxFX0hFQURFUlMgPSB7XG4gIGF1dGhvcml6YXRpb246IHRydWUsXG4gIFwiY2FjaGUtY29udHJvbFwiOiB0cnVlLFxuICBjb25uZWN0aW9uOiB0cnVlLFxuICBleHBlY3Q6IHRydWUsXG4gIGZyb206IHRydWUsXG4gIFwia2VlcC1hbGl2ZVwiOiB0cnVlLFxuICBcIm1heC1mb3J3YXJkc1wiOiB0cnVlLFxuICBwcmFnbWE6IHRydWUsXG4gIHJlZmVyZXI6IHRydWUsXG4gIHRlOiB0cnVlLFxuICB0cmFpbGVyOiB0cnVlLFxuICBcInRyYW5zZmVyLWVuY29kaW5nXCI6IHRydWUsXG4gIHVwZ3JhZGU6IHRydWUsXG4gIFwidXNlci1hZ2VudFwiOiB0cnVlLFxuICBcIngtYW16bi10cmFjZS1pZFwiOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBST1hZX0hFQURFUl9QQVRURVJOID0gL15wcm94eS0vO1xuXG5leHBvcnQgY29uc3QgU0VDX0hFQURFUl9QQVRURVJOID0gL15zZWMtLztcblxuZXhwb3J0IGNvbnN0IFVOU0lHTkFCTEVfUEFUVEVSTlMgPSBbL15wcm94eS0vaSwgL15zZWMtL2ldO1xuXG5leHBvcnQgY29uc3QgQUxHT1JJVEhNX0lERU5USUZJRVIgPSBcIkFXUzQtSE1BQy1TSEEyNTZcIjtcblxuZXhwb3J0IGNvbnN0IEVWRU5UX0FMR09SSVRITV9JREVOVElGSUVSID0gXCJBV1M0LUhNQUMtU0hBMjU2LVBBWUxPQURcIjtcblxuZXhwb3J0IGNvbnN0IFVOU0lHTkVEX1BBWUxPQUQgPSBcIlVOU0lHTkVELVBBWUxPQURcIjtcblxuZXhwb3J0IGNvbnN0IE1BWF9DQUNIRV9TSVpFID0gNTA7XG5leHBvcnQgY29uc3QgS0VZX1RZUEVfSURFTlRJRklFUiA9IFwiYXdzNF9yZXF1ZXN0XCI7XG5cbmV4cG9ydCBjb25zdCBNQVhfUFJFU0lHTkVEX1RUTCA9IDYwICogNjAgKiAyNCAqIDc7XG4iXX0=","import { __awaiter, __generator, __values } from \"tslib\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nvar signingKeyCache = {};\nvar cacheQueue = [];\n/**\n * Create a string describing the scope of credentials used to sign a request.\n *\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being sent.\n */\nexport function createScope(shortDate, region, service) {\n return shortDate + \"/\" + region + \"/\" + service + \"/\" + KEY_TYPE_IDENTIFIER;\n}\n/**\n * Derive a signing key from its composite parts\n *\n * @param sha256Constructor A constructor function that can instantiate SHA-256\n * hash objects.\n * @param credentials The credentials with which the request will be\n * signed.\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being\n * sent.\n */\nexport var getSigningKey = function (sha256Constructor, credentials, shortDate, region, service) { return __awaiter(void 0, void 0, void 0, function () {\n var credsHash, cacheKey, key, _a, _b, signable, e_1_1;\n var e_1, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId)];\n case 1:\n credsHash = _d.sent();\n cacheKey = shortDate + \":\" + region + \":\" + service + \":\" + toHex(credsHash) + \":\" + credentials.sessionToken;\n if (cacheKey in signingKeyCache) {\n return [2 /*return*/, signingKeyCache[cacheKey]];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n key = \"AWS4\" + credentials.secretAccessKey;\n _d.label = 2;\n case 2:\n _d.trys.push([2, 7, 8, 9]);\n _a = __values([shortDate, region, service, KEY_TYPE_IDENTIFIER]), _b = _a.next();\n _d.label = 3;\n case 3:\n if (!!_b.done) return [3 /*break*/, 6];\n signable = _b.value;\n return [4 /*yield*/, hmac(sha256Constructor, key, signable)];\n case 4:\n key = _d.sent();\n _d.label = 5;\n case 5:\n _b = _a.next();\n return [3 /*break*/, 3];\n case 6: return [3 /*break*/, 9];\n case 7:\n e_1_1 = _d.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 9];\n case 8:\n try {\n if (_b && !_b.done && (_c = _a.return)) _c.call(_a);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 9: return [2 /*return*/, (signingKeyCache[cacheKey] = key)];\n }\n });\n}); };\n/**\n * @internal\n */\nexport function clearCredentialCache() {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach(function (cacheKey) {\n delete signingKeyCache[cacheKey];\n });\n}\nfunction hmac(ctor, secret, data) {\n var hash = new ctor(secret);\n hash.update(data);\n return hash.digest();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbERlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlZGVudGlhbERlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxFLElBQU0sZUFBZSxHQUFrQyxFQUFFLENBQUM7QUFDMUQsSUFBTSxVQUFVLEdBQWtCLEVBQUUsQ0FBQztBQUVyQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQWlCLEVBQUUsTUFBYyxFQUFFLE9BQWU7SUFDNUUsT0FBVSxTQUFTLFNBQUksTUFBTSxTQUFJLE9BQU8sU0FBSSxtQkFBcUIsQ0FBQztBQUNwRSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsVUFDM0IsaUJBQWtDLEVBQ2xDLFdBQXdCLEVBQ3hCLFNBQWlCLEVBQ2pCLE1BQWMsRUFDZCxPQUFlOzs7OztvQkFFRyxxQkFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUE7O2dCQUEvRixTQUFTLEdBQUcsU0FBbUY7Z0JBQy9GLFFBQVEsR0FBTSxTQUFTLFNBQUksTUFBTSxTQUFJLE9BQU8sU0FBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQUksV0FBVyxDQUFDLFlBQWMsQ0FBQztnQkFDckcsSUFBSSxRQUFRLElBQUksZUFBZSxFQUFFO29CQUMvQixzQkFBTyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUM7aUJBQ2xDO2dCQUVELFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxjQUFjLEVBQUU7b0JBQ3pDLE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQVksQ0FBQyxDQUFDO2lCQUN0RDtnQkFFRyxHQUFHLEdBQWUsU0FBTyxXQUFXLENBQUMsZUFBaUIsQ0FBQzs7OztnQkFDcEMsS0FBQSxTQUFBLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTs7OztnQkFBN0QsUUFBUTtnQkFDWCxxQkFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFBOztnQkFBbEQsR0FBRyxHQUFHLFNBQTRDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7b0JBRXJELHNCQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQWlCLENBQUMsRUFBQzs7O0tBQ3hELENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxRQUFRO1FBQzVDLE9BQU8sZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLElBQXFCLEVBQUUsTUFBa0IsRUFBRSxJQUFnQjtJQUN2RSxJQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVkZW50aWFscywgSGFzaENvbnN0cnVjdG9yLCBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5pbXBvcnQgeyBLRVlfVFlQRV9JREVOVElGSUVSLCBNQVhfQ0FDSEVfU0laRSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jb25zdCBzaWduaW5nS2V5Q2FjaGU6IHsgW2tleTogc3RyaW5nXTogVWludDhBcnJheSB9ID0ge307XG5jb25zdCBjYWNoZVF1ZXVlOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbi8qKlxuICogQ3JlYXRlIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIHNjb3BlIG9mIGNyZWRlbnRpYWxzIHVzZWQgdG8gc2lnbiBhIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHNob3J0RGF0ZSBUaGUgY3VycmVudCBjYWxlbmRhciBkYXRlIGluIHRoZSBmb3JtIFlZWVlNTURELlxuICogQHBhcmFtIHJlZ2lvbiAgICBUaGUgQVdTIHJlZ2lvbiBpbiB3aGljaCB0aGUgc2VydmljZSByZXNpZGVzLlxuICogQHBhcmFtIHNlcnZpY2UgICBUaGUgc2VydmljZSB0byB3aGljaCB0aGUgc2lnbmVkIHJlcXVlc3QgaXMgYmVpbmcgc2VudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNjb3BlKHNob3J0RGF0ZTogc3RyaW5nLCByZWdpb246IHN0cmluZywgc2VydmljZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3Nob3J0RGF0ZX0vJHtyZWdpb259LyR7c2VydmljZX0vJHtLRVlfVFlQRV9JREVOVElGSUVSfWA7XG59XG5cbi8qKlxuICogRGVyaXZlIGEgc2lnbmluZyBrZXkgZnJvbSBpdHMgY29tcG9zaXRlIHBhcnRzXG4gKlxuICogQHBhcmFtIHNoYTI1NkNvbnN0cnVjdG9yIEEgY29uc3RydWN0b3IgZnVuY3Rpb24gdGhhdCBjYW4gaW5zdGFudGlhdGUgU0hBLTI1NlxuICogICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2ggb2JqZWN0cy5cbiAqIEBwYXJhbSBjcmVkZW50aWFscyAgICAgICBUaGUgY3JlZGVudGlhbHMgd2l0aCB3aGljaCB0aGUgcmVxdWVzdCB3aWxsIGJlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmVkLlxuICogQHBhcmFtIHNob3J0RGF0ZSAgICAgICAgIFRoZSBjdXJyZW50IGNhbGVuZGFyIGRhdGUgaW4gdGhlIGZvcm0gWVlZWU1NREQuXG4gKiBAcGFyYW0gcmVnaW9uICAgICAgICAgICAgVGhlIEFXUyByZWdpb24gaW4gd2hpY2ggdGhlIHNlcnZpY2UgcmVzaWRlcy5cbiAqIEBwYXJhbSBzZXJ2aWNlICAgICAgICAgICBUaGUgc2VydmljZSB0byB3aGljaCB0aGUgc2lnbmVkIHJlcXVlc3QgaXMgYmVpbmdcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50LlxuICovXG5leHBvcnQgY29uc3QgZ2V0U2lnbmluZ0tleSA9IGFzeW5jIChcbiAgc2hhMjU2Q29uc3RydWN0b3I6IEhhc2hDb25zdHJ1Y3RvcixcbiAgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzLFxuICBzaG9ydERhdGU6IHN0cmluZyxcbiAgcmVnaW9uOiBzdHJpbmcsXG4gIHNlcnZpY2U6IHN0cmluZ1xuKTogUHJvbWlzZTxVaW50OEFycmF5PiA9PiB7XG4gIGNvbnN0IGNyZWRzSGFzaCA9IGF3YWl0IGhtYWMoc2hhMjU2Q29uc3RydWN0b3IsIGNyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleSwgY3JlZGVudGlhbHMuYWNjZXNzS2V5SWQpO1xuICBjb25zdCBjYWNoZUtleSA9IGAke3Nob3J0RGF0ZX06JHtyZWdpb259OiR7c2VydmljZX06JHt0b0hleChjcmVkc0hhc2gpfToke2NyZWRlbnRpYWxzLnNlc3Npb25Ub2tlbn1gO1xuICBpZiAoY2FjaGVLZXkgaW4gc2lnbmluZ0tleUNhY2hlKSB7XG4gICAgcmV0dXJuIHNpZ25pbmdLZXlDYWNoZVtjYWNoZUtleV07XG4gIH1cblxuICBjYWNoZVF1ZXVlLnB1c2goY2FjaGVLZXkpO1xuICB3aGlsZSAoY2FjaGVRdWV1ZS5sZW5ndGggPiBNQVhfQ0FDSEVfU0laRSkge1xuICAgIGRlbGV0ZSBzaWduaW5nS2V5Q2FjaGVbY2FjaGVRdWV1ZS5zaGlmdCgpIGFzIHN0cmluZ107XG4gIH1cblxuICBsZXQga2V5OiBTb3VyY2VEYXRhID0gYEFXUzQke2NyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleX1gO1xuICBmb3IgKGNvbnN0IHNpZ25hYmxlIG9mIFtzaG9ydERhdGUsIHJlZ2lvbiwgc2VydmljZSwgS0VZX1RZUEVfSURFTlRJRklFUl0pIHtcbiAgICBrZXkgPSBhd2FpdCBobWFjKHNoYTI1NkNvbnN0cnVjdG9yLCBrZXksIHNpZ25hYmxlKTtcbiAgfVxuICByZXR1cm4gKHNpZ25pbmdLZXlDYWNoZVtjYWNoZUtleV0gPSBrZXkgYXMgVWludDhBcnJheSk7XG59O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJDcmVkZW50aWFsQ2FjaGUoKTogdm9pZCB7XG4gIGNhY2hlUXVldWUubGVuZ3RoID0gMDtcbiAgT2JqZWN0LmtleXMoc2lnbmluZ0tleUNhY2hlKS5mb3JFYWNoKChjYWNoZUtleSkgPT4ge1xuICAgIGRlbGV0ZSBzaWduaW5nS2V5Q2FjaGVbY2FjaGVLZXldO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaG1hYyhjdG9yOiBIYXNoQ29uc3RydWN0b3IsIHNlY3JldDogU291cmNlRGF0YSwgZGF0YTogU291cmNlRGF0YSk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICBjb25zdCBoYXNoID0gbmV3IGN0b3Ioc2VjcmV0KTtcbiAgaGFzaC51cGRhdGUoZGF0YSk7XG4gIHJldHVybiBoYXNoLmRpZ2VzdCgpO1xufVxuIl19","import { __values } from \"tslib\";\nimport { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\n/**\n * @internal\n */\nexport function getCanonicalHeaders(_a, unsignableHeaders, signableHeaders) {\n var e_1, _b;\n var headers = _a.headers;\n var canonical = {};\n try {\n for (var _c = __values(Object.keys(headers).sort()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var headerName = _d.value;\n var canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return canonical;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2Fub25pY2FsSGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZXRDYW5vbmljYWxIZWFkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEc7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEVBQXdCLEVBQ3hCLGlCQUErQixFQUMvQixlQUE2Qjs7UUFGM0IsT0FBTyxhQUFBO0lBSVQsSUFBTSxTQUFTLEdBQWMsRUFBRSxDQUFDOztRQUNoQyxLQUF5QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBLGdCQUFBLDRCQUFFO1lBQWpELElBQU0sVUFBVSxXQUFBO1lBQ25CLElBQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JELElBQ0UsbUJBQW1CLElBQUkseUJBQXlCLEtBQ2hELGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLEdBQUcsQ0FBQyxtQkFBbUIsRUFBQztnQkFDM0Msb0JBQW9CLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2dCQUM5QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFDNUM7Z0JBQ0EsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUFFO29CQUN0RixTQUFTO2lCQUNWO2FBQ0Y7WUFFRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNsRjs7Ozs7Ozs7O0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhlYWRlckJhZywgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQUxXQVlTX1VOU0lHTkFCTEVfSEVBREVSUywgUFJPWFlfSEVBREVSX1BBVFRFUk4sIFNFQ19IRUFERVJfUEFUVEVSTiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2Fub25pY2FsSGVhZGVycyhcbiAgeyBoZWFkZXJzIH06IEh0dHBSZXF1ZXN0LFxuICB1bnNpZ25hYmxlSGVhZGVycz86IFNldDxzdHJpbmc+LFxuICBzaWduYWJsZUhlYWRlcnM/OiBTZXQ8c3RyaW5nPlxuKTogSGVhZGVyQmFnIHtcbiAgY29uc3QgY2Fub25pY2FsOiBIZWFkZXJCYWcgPSB7fTtcbiAgZm9yIChjb25zdCBoZWFkZXJOYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpLnNvcnQoKSkge1xuICAgIGNvbnN0IGNhbm9uaWNhbEhlYWRlck5hbWUgPSBoZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKFxuICAgICAgY2Fub25pY2FsSGVhZGVyTmFtZSBpbiBBTFdBWVNfVU5TSUdOQUJMRV9IRUFERVJTIHx8XG4gICAgICB1bnNpZ25hYmxlSGVhZGVycz8uaGFzKGNhbm9uaWNhbEhlYWRlck5hbWUpIHx8XG4gICAgICBQUk9YWV9IRUFERVJfUEFUVEVSTi50ZXN0KGNhbm9uaWNhbEhlYWRlck5hbWUpIHx8XG4gICAgICBTRUNfSEVBREVSX1BBVFRFUk4udGVzdChjYW5vbmljYWxIZWFkZXJOYW1lKVxuICAgICkge1xuICAgICAgaWYgKCFzaWduYWJsZUhlYWRlcnMgfHwgKHNpZ25hYmxlSGVhZGVycyAmJiAhc2lnbmFibGVIZWFkZXJzLmhhcyhjYW5vbmljYWxIZWFkZXJOYW1lKSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2Fub25pY2FsW2Nhbm9uaWNhbEhlYWRlck5hbWVdID0gaGVhZGVyc1toZWFkZXJOYW1lXS50cmltKCkucmVwbGFjZSgvXFxzKy9nLCBcIiBcIik7XG4gIH1cblxuICByZXR1cm4gY2Fub25pY2FsO1xufVxuIl19","import { __values } from \"tslib\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\n/**\n * @internal\n */\nexport function getCanonicalQuery(_a) {\n var e_1, _b;\n var _c = _a.query, query = _c === void 0 ? {} : _c;\n var keys = [];\n var serialized = {};\n var _loop_1 = function (key) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n return \"continue\";\n }\n keys.push(key);\n var value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = escapeUri(key) + \"=\" + escapeUri(value);\n }\n else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce(function (encoded, value) { return encoded.concat([escapeUri(key) + \"=\" + escapeUri(value)]); }, [])\n .join(\"&\");\n }\n };\n try {\n for (var _d = __values(Object.keys(query).sort()), _e = _d.next(); !_e.done; _e = _d.next()) {\n var key = _e.value;\n _loop_1(key);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return keys\n .map(function (key) { return serialized[key]; })\n .filter(function (serialized) { return serialized; }) // omit any falsy values\n .join(\"&\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2Fub25pY2FsUXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2V0Q2Fub25pY2FsUXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsRUFBMkI7O1FBQXpCLGFBQVUsRUFBVixLQUFLLG1CQUFHLEVBQUUsS0FBQTtJQUM1QyxJQUFNLElBQUksR0FBa0IsRUFBRSxDQUFDO0lBQy9CLElBQU0sVUFBVSxHQUE4QixFQUFFLENBQUM7NEJBQ3RDLEdBQUc7UUFDWixJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRTs7U0FFM0M7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBTSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQUksU0FBUyxDQUFDLEtBQUssQ0FBRyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLO2lCQUNwQixLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUNSLElBQUksRUFBRTtpQkFDTixNQUFNLENBQ0wsVUFBQyxPQUFzQixFQUFFLEtBQWEsSUFBSyxPQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQUksU0FBUyxDQUFDLEtBQUssQ0FBRyxDQUFDLENBQUMsRUFBekQsQ0FBeUQsRUFDcEcsRUFBRSxDQUNIO2lCQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNkOzs7UUFsQkgsS0FBa0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSxnQkFBQTtZQUF0QyxJQUFNLEdBQUcsV0FBQTtvQkFBSCxHQUFHO1NBbUJiOzs7Ozs7Ozs7SUFFRCxPQUFPLElBQUk7U0FDUixHQUFHLENBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQWYsQ0FBZSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxVQUFDLFVBQVUsSUFBSyxPQUFBLFVBQVUsRUFBVixDQUFVLENBQUMsQ0FBQyx3QkFBd0I7U0FDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBlc2NhcGVVcmkgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC11cmktZXNjYXBlXCI7XG5cbmltcG9ydCB7IFNJR05BVFVSRV9IRUFERVIgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENhbm9uaWNhbFF1ZXJ5KHsgcXVlcnkgPSB7fSB9OiBIdHRwUmVxdWVzdCk6IHN0cmluZyB7XG4gIGNvbnN0IGtleXM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgY29uc3Qgc2VyaWFsaXplZDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhxdWVyeSkuc29ydCgpKSB7XG4gICAgaWYgKGtleS50b0xvd2VyQ2FzZSgpID09PSBTSUdOQVRVUkVfSEVBREVSKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBrZXlzLnB1c2goa2V5KTtcbiAgICBjb25zdCB2YWx1ZSA9IHF1ZXJ5W2tleV07XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgc2VyaWFsaXplZFtrZXldID0gYCR7ZXNjYXBlVXJpKGtleSl9PSR7ZXNjYXBlVXJpKHZhbHVlKX1gO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHNlcmlhbGl6ZWRba2V5XSA9IHZhbHVlXG4gICAgICAgIC5zbGljZSgwKVxuICAgICAgICAuc29ydCgpXG4gICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgKGVuY29kZWQ6IEFycmF5PHN0cmluZz4sIHZhbHVlOiBzdHJpbmcpID0+IGVuY29kZWQuY29uY2F0KFtgJHtlc2NhcGVVcmkoa2V5KX09JHtlc2NhcGVVcmkodmFsdWUpfWBdKSxcbiAgICAgICAgICBbXVxuICAgICAgICApXG4gICAgICAgIC5qb2luKFwiJlwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ga2V5c1xuICAgIC5tYXAoKGtleSkgPT4gc2VyaWFsaXplZFtrZXldKVxuICAgIC5maWx0ZXIoKHNlcmlhbGl6ZWQpID0+IHNlcmlhbGl6ZWQpIC8vIG9taXQgYW55IGZhbHN5IHZhbHVlc1xuICAgIC5qb2luKFwiJlwiKTtcbn1cbiJdfQ==","export var isArrayBuffer = function (arg) {\n return (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sYUFBYSxHQUFHLFVBQUMsR0FBUTtJQUNwQyxPQUFBLENBQUMsT0FBTyxXQUFXLEtBQUssVUFBVSxJQUFJLEdBQUcsWUFBWSxXQUFXLENBQUM7UUFDakUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLHNCQUFzQjtBQUQ5RCxDQUM4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGlzQXJyYXlCdWZmZXIgPSAoYXJnOiBhbnkpOiBhcmcgaXMgQXJyYXlCdWZmZXIgPT5cbiAgKHR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gXCJmdW5jdGlvblwiICYmIGFyZyBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB8fFxuICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYXJnKSA9PT0gXCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiO1xuIl19","import { __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayBuffer } from \"@aws-sdk/is-array-buffer\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\n/**\n * @internal\n */\nexport function getPayloadHash(_a, hashConstructor) {\n var headers = _a.headers, body = _a.body;\n return __awaiter(this, void 0, void 0, function () {\n var _b, _c, headerName, hashCtor, _d;\n var e_1, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n try {\n for (_b = __values(Object.keys(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\n headerName = _c.value;\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return [2 /*return*/, headers[headerName]];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_e = _b.return)) _e.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!(body == undefined)) return [3 /*break*/, 1];\n return [2 /*return*/, \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"];\n case 1:\n if (!(typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body))) return [3 /*break*/, 3];\n hashCtor = new hashConstructor();\n hashCtor.update(body);\n _d = toHex;\n return [4 /*yield*/, hashCtor.digest()];\n case 2: return [2 /*return*/, _d.apply(void 0, [_f.sent()])];\n case 3: \n // As any defined body that is not a string or binary data is a stream, this\n // body is unsignable. Attempt to send the request with an unsigned payload,\n // which may or may not be accepted by the service.\n return [2 /*return*/, UNSIGNED_PAYLOAD];\n }\n });\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UGF5bG9hZEhhc2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2V0UGF5bG9hZEhhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5RDs7R0FFRztBQUNILE1BQU0sVUFBZ0IsY0FBYyxDQUNsQyxFQUE4QixFQUM5QixlQUFnQztRQUQ5QixPQUFPLGFBQUEsRUFBRSxJQUFJLFVBQUE7Ozs7Ozs7O3dCQUdmLEtBQXlCLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBLDRDQUFFOzRCQUFwQyxVQUFVOzRCQUNuQixJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxhQUFhLEVBQUU7Z0NBQzlDLHNCQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBQzs2QkFDNUI7eUJBQ0Y7Ozs7Ozs7Ozt5QkFFRyxDQUFBLElBQUksSUFBSSxTQUFTLENBQUEsRUFBakIsd0JBQWlCO29CQUNuQixzQkFBTyxrRUFBa0UsRUFBQzs7eUJBQ2pFLENBQUEsT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBLEVBQTNFLHdCQUEyRTtvQkFDOUUsUUFBUSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7b0JBQ3ZDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2YsS0FBQSxLQUFLLENBQUE7b0JBQUMscUJBQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFBO3dCQUFwQyxzQkFBTyxrQkFBTSxTQUF1QixFQUFDLEVBQUM7O2dCQUd4Qyw0RUFBNEU7Z0JBQzVFLDRFQUE0RTtnQkFDNUUsbURBQW1EO2dCQUNuRCxzQkFBTyxnQkFBZ0IsRUFBQzs7OztDQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXJyYXlCdWZmZXIgfSBmcm9tIFwiQGF3cy1zZGsvaXMtYXJyYXktYnVmZmVyXCI7XG5pbXBvcnQgeyBIYXNoQ29uc3RydWN0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5pbXBvcnQgeyBTSEEyNTZfSEVBREVSLCBVTlNJR05FRF9QQVlMT0FEIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQYXlsb2FkSGFzaChcbiAgeyBoZWFkZXJzLCBib2R5IH06IEh0dHBSZXF1ZXN0LFxuICBoYXNoQ29uc3RydWN0b3I6IEhhc2hDb25zdHJ1Y3RvclxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgZm9yIChjb25zdCBoZWFkZXJOYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpKSB7XG4gICAgaWYgKGhlYWRlck5hbWUudG9Mb3dlckNhc2UoKSA9PT0gU0hBMjU2X0hFQURFUikge1xuICAgICAgcmV0dXJuIGhlYWRlcnNbaGVhZGVyTmFtZV07XG4gICAgfVxuICB9XG5cbiAgaWYgKGJvZHkgPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIFwiZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NVwiO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBib2R5ID09PSBcInN0cmluZ1wiIHx8IEFycmF5QnVmZmVyLmlzVmlldyhib2R5KSB8fCBpc0FycmF5QnVmZmVyKGJvZHkpKSB7XG4gICAgY29uc3QgaGFzaEN0b3IgPSBuZXcgaGFzaENvbnN0cnVjdG9yKCk7XG4gICAgaGFzaEN0b3IudXBkYXRlKGJvZHkpO1xuICAgIHJldHVybiB0b0hleChhd2FpdCBoYXNoQ3Rvci5kaWdlc3QoKSk7XG4gIH1cblxuICAvLyBBcyBhbnkgZGVmaW5lZCBib2R5IHRoYXQgaXMgbm90IGEgc3RyaW5nIG9yIGJpbmFyeSBkYXRhIGlzIGEgc3RyZWFtLCB0aGlzXG4gIC8vIGJvZHkgaXMgdW5zaWduYWJsZS4gQXR0ZW1wdCB0byBzZW5kIHRoZSByZXF1ZXN0IHdpdGggYW4gdW5zaWduZWQgcGF5bG9hZCxcbiAgLy8gd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgYWNjZXB0ZWQgYnkgdGhlIHNlcnZpY2UuXG4gIHJldHVybiBVTlNJR05FRF9QQVlMT0FEO1xufVxuIl19","import { __values } from \"tslib\";\nexport function hasHeader(soughtHeader, headers) {\n var e_1, _a;\n soughtHeader = soughtHeader.toLowerCase();\n try {\n for (var _b = __values(Object.keys(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var headerName = _c.value;\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return false;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzSGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hhc0hlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsTUFBTSxVQUFVLFNBQVMsQ0FBQyxZQUFvQixFQUFFLE9BQWtCOztJQUNoRSxZQUFZLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDOztRQUMxQyxLQUF5QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO1lBQTFDLElBQU0sVUFBVSxXQUFBO1lBQ25CLElBQUksWUFBWSxLQUFLLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGOzs7Ozs7Ozs7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWFkZXJCYWcgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0hlYWRlcihzb3VnaHRIZWFkZXI6IHN0cmluZywgaGVhZGVyczogSGVhZGVyQmFnKTogYm9vbGVhbiB7XG4gIHNvdWdodEhlYWRlciA9IHNvdWdodEhlYWRlci50b0xvd2VyQ2FzZSgpO1xuICBmb3IgKGNvbnN0IGhlYWRlck5hbWUgb2YgT2JqZWN0LmtleXMoaGVhZGVycykpIHtcbiAgICBpZiAoc291Z2h0SGVhZGVyID09PSBoZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==","import { __assign, __read, __rest, __spread } from \"tslib\";\n/**\n * @internal\n */\nexport function cloneRequest(_a) {\n var headers = _a.headers, query = _a.query, rest = __rest(_a, [\"headers\", \"query\"]);\n return __assign(__assign({}, rest), { headers: __assign({}, headers), query: query ? cloneQuery(query) : undefined });\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce(function (carry, paramName) {\n var _a;\n var param = query[paramName];\n return __assign(__assign({}, carry), (_a = {}, _a[paramName] = Array.isArray(param) ? __spread(param) : param, _a));\n }, {});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmVSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nsb25lUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQXdDO0lBQXRDLElBQUEsT0FBTyxhQUFBLEVBQUUsS0FBSyxXQUFBLEVBQUssSUFBSSxjQUF6QixvQkFBMkIsQ0FBRjtJQUNwRCw2QkFDSyxJQUFJLEtBQ1AsT0FBTyxlQUFPLE9BQU8sR0FDckIsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQzVDO0FBQ0osQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQXdCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxLQUF3QixFQUFFLFNBQWlCOztRQUMzRSxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsNkJBQ0ssS0FBSyxnQkFDUCxTQUFTLElBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQ3REO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0LCBRdWVyeVBhcmFtZXRlckJhZyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVSZXF1ZXN0KHsgaGVhZGVycywgcXVlcnksIC4uLnJlc3QgfTogSHR0cFJlcXVlc3QpOiBIdHRwUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgLi4ucmVzdCxcbiAgICBoZWFkZXJzOiB7IC4uLmhlYWRlcnMgfSxcbiAgICBxdWVyeTogcXVlcnkgPyBjbG9uZVF1ZXJ5KHF1ZXJ5KSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2xvbmVRdWVyeShxdWVyeTogUXVlcnlQYXJhbWV0ZXJCYWcpOiBRdWVyeVBhcmFtZXRlckJhZyB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhxdWVyeSkucmVkdWNlKChjYXJyeTogUXVlcnlQYXJhbWV0ZXJCYWcsIHBhcmFtTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBxdWVyeVtwYXJhbU5hbWVdO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jYXJyeSxcbiAgICAgIFtwYXJhbU5hbWVdOiBBcnJheS5pc0FycmF5KHBhcmFtKSA/IFsuLi5wYXJhbV0gOiBwYXJhbSxcbiAgICB9O1xuICB9LCB7fSk7XG59XG4iXX0=","import { __assign, __values } from \"tslib\";\nimport { cloneRequest } from \"./cloneRequest\";\n/**\n * @internal\n */\nexport function moveHeadersToQuery(request, options) {\n var e_1, _a;\n var _b;\n if (options === void 0) { options = {}; }\n var _c = typeof request.clone === \"function\" ? request.clone() : cloneRequest(request), headers = _c.headers, _d = _c.query, query = _d === void 0 ? {} : _d;\n try {\n for (var _e = __values(Object.keys(headers)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var name = _f.value;\n var lname = name.toLowerCase();\n if (lname.substr(0, 6) === \"x-amz-\" && !((_b = options.unhoistableHeaders) === null || _b === void 0 ? void 0 : _b.has(lname))) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return __assign(__assign({}, request), { headers: headers,\n query: query });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZUhlYWRlcnNUb1F1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vdmVIZWFkZXJzVG9RdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxPQUFvQixFQUNwQixPQUFrRDs7O0lBQWxELHdCQUFBLEVBQUEsWUFBa0Q7SUFFNUMsSUFBQSxLQUNKLE9BQVEsT0FBZSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFFLE9BQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUR6RixPQUFPLGFBQUEsRUFBRSxhQUErQixFQUEvQixLQUFLLG1CQUFHLEVBQXVCLEtBQ2lELENBQUM7O1FBQ2xHLEtBQW1CLElBQUEsS0FBQSxTQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7WUFBcEMsSUFBTSxJQUFJLFdBQUE7WUFDYixJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksUUFBQyxPQUFPLENBQUMsa0JBQWtCLDBDQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUMsRUFBRTtnQkFDOUUsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7U0FDRjs7Ozs7Ozs7O0lBRUQsNkJBQ0ssT0FBTyxLQUNWLE9BQU8sU0FBQTtRQUNQLEtBQUssT0FBQSxJQUNMO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0LCBRdWVyeVBhcmFtZXRlckJhZyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBjbG9uZVJlcXVlc3QgfSBmcm9tIFwiLi9jbG9uZVJlcXVlc3RcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vdmVIZWFkZXJzVG9RdWVyeShcbiAgcmVxdWVzdDogSHR0cFJlcXVlc3QsXG4gIG9wdGlvbnM6IHsgdW5ob2lzdGFibGVIZWFkZXJzPzogU2V0PHN0cmluZz4gfSA9IHt9XG4pOiBIdHRwUmVxdWVzdCAmIHsgcXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnIH0ge1xuICBjb25zdCB7IGhlYWRlcnMsIHF1ZXJ5ID0ge30gYXMgUXVlcnlQYXJhbWV0ZXJCYWcgfSA9XG4gICAgdHlwZW9mIChyZXF1ZXN0IGFzIGFueSkuY2xvbmUgPT09IFwiZnVuY3Rpb25cIiA/IChyZXF1ZXN0IGFzIGFueSkuY2xvbmUoKSA6IGNsb25lUmVxdWVzdChyZXF1ZXN0KTtcbiAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpKSB7XG4gICAgY29uc3QgbG5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxuYW1lLnN1YnN0cigwLCA2KSA9PT0gXCJ4LWFtei1cIiAmJiAhb3B0aW9ucy51bmhvaXN0YWJsZUhlYWRlcnM/LmhhcyhsbmFtZSkpIHtcbiAgICAgIHF1ZXJ5W25hbWVdID0gaGVhZGVyc1tuYW1lXTtcbiAgICAgIGRlbGV0ZSBoZWFkZXJzW25hbWVdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4ucmVxdWVzdCxcbiAgICBoZWFkZXJzLFxuICAgIHF1ZXJ5LFxuICB9O1xufVxuIl19","import { __values } from \"tslib\";\nimport { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\n/**\n * @internal\n */\nexport function prepareRequest(request) {\n var e_1, _a;\n // Create a clone of the request object that does not clone the body\n request = typeof request.clone === \"function\" ? request.clone() : cloneRequest(request);\n try {\n for (var _b = __values(Object.keys(request.headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var headerName = _c.value;\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return request;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZVJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlcGFyZVJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQW9COztJQUNqRCxvRUFBb0U7SUFDcEUsT0FBTyxHQUFHLE9BQVEsT0FBZSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFFLE9BQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztRQUUxRyxLQUF5QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtZQUFsRCxJQUFNLFVBQVUsV0FBQTtZQUNuQixJQUFJLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDNUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7Ozs7Ozs7OztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBjbG9uZVJlcXVlc3QgfSBmcm9tIFwiLi9jbG9uZVJlcXVlc3RcIjtcbmltcG9ydCB7IEdFTkVSQVRFRF9IRUFERVJTIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUmVxdWVzdChyZXF1ZXN0OiBIdHRwUmVxdWVzdCk6IEh0dHBSZXF1ZXN0IHtcbiAgLy8gQ3JlYXRlIGEgY2xvbmUgb2YgdGhlIHJlcXVlc3Qgb2JqZWN0IHRoYXQgZG9lcyBub3QgY2xvbmUgdGhlIGJvZHlcbiAgcmVxdWVzdCA9IHR5cGVvZiAocmVxdWVzdCBhcyBhbnkpLmNsb25lID09PSBcImZ1bmN0aW9uXCIgPyAocmVxdWVzdCBhcyBhbnkpLmNsb25lKCkgOiBjbG9uZVJlcXVlc3QocmVxdWVzdCk7XG5cbiAgZm9yIChjb25zdCBoZWFkZXJOYW1lIG9mIE9iamVjdC5rZXlzKHJlcXVlc3QuaGVhZGVycykpIHtcbiAgICBpZiAoR0VORVJBVEVEX0hFQURFUlMuaW5kZXhPZihoZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCkpID4gLTEpIHtcbiAgICAgIGRlbGV0ZSByZXF1ZXN0LmhlYWRlcnNbaGVhZGVyTmFtZV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlcXVlc3Q7XG59XG4iXX0=","export function iso8601(time) {\n return toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\n}\nexport function toDate(time) {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbERhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUE0QjtJQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDaEIsV0FBVyxFQUFFO1NBQ2IsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUE0QjtJQUNqRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztLQUM5QjtJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc284NjAxKHRpbWU6IG51bWJlciB8IHN0cmluZyB8IERhdGUpOiBzdHJpbmcge1xuICByZXR1cm4gdG9EYXRlKHRpbWUpXG4gICAgLnRvSVNPU3RyaW5nKClcbiAgICAucmVwbGFjZSgvXFwuXFxkezN9WiQvLCBcIlpcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGUodGltZTogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSk6IERhdGUge1xuICBpZiAodHlwZW9mIHRpbWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gbmV3IERhdGUodGltZSAqIDEwMDApO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0aW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKE51bWJlcih0aW1lKSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKE51bWJlcih0aW1lKSAqIDEwMDApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IERhdGUodGltZSk7XG4gIH1cblxuICByZXR1cm4gdGltZTtcbn1cbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { hasHeader } from \"./hasHeader\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\nvar SignatureV4 = /** @class */ (function () {\n function SignatureV4(_a) {\n var applyChecksum = _a.applyChecksum, credentials = _a.credentials, region = _a.region, service = _a.service, sha256 = _a.sha256, _b = _a.uriEscapePath, uriEscapePath = _b === void 0 ? true : _b;\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n // default to true if applyChecksum isn't set\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeRegionProvider(region);\n this.credentialProvider = normalizeCredentialsProvider(credentials);\n }\n SignatureV4.prototype.presign = function (originalRequest, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _a, signingDate, _b, expiresIn, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService, credentials, region, _c, _d, longDate, shortDate, scope, request, canonicalHeaders, _e, _f, _g, _h, _j, _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = options.signingDate, signingDate = _a === void 0 ? new Date() : _a, _b = options.expiresIn, expiresIn = _b === void 0 ? 3600 : _b, unsignableHeaders = options.unsignableHeaders, unhoistableHeaders = options.unhoistableHeaders, signableHeaders = options.signableHeaders, signingRegion = options.signingRegion, signingService = options.signingService;\n return [4 /*yield*/, this.credentialProvider()];\n case 1:\n credentials = _l.sent();\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2];\n _c = signingRegion;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.regionProvider()];\n case 3:\n _c = (_l.sent());\n _l.label = 4;\n case 4:\n region = _c;\n _d = formatDate(signingDate), longDate = _d.longDate, shortDate = _d.shortDate;\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return [2 /*return*/, Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\")];\n }\n scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders: unhoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = credentials.accessKeyId + \"/\" + scope;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n _e = request.query;\n _f = SIGNATURE_QUERY_PARAM;\n _g = this.getSignature;\n _h = [longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService)];\n _j = this.createCanonicalRequest;\n _k = [request, canonicalHeaders];\n return [4 /*yield*/, getPayloadHash(originalRequest, this.sha256)];\n case 5: return [4 /*yield*/, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))];\n case 6:\n _e[_f] = _l.sent();\n return [2 /*return*/, request];\n }\n });\n });\n };\n SignatureV4.prototype.sign = function (toSign, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof toSign === \"string\") {\n return [2 /*return*/, this.signString(toSign, options)];\n }\n else if (toSign.headers && toSign.payload) {\n return [2 /*return*/, this.signEvent(toSign, options)];\n }\n else {\n return [2 /*return*/, this.signRequest(toSign, options)];\n }\n return [2 /*return*/];\n });\n });\n };\n SignatureV4.prototype.signEvent = function (_a, _b) {\n var headers = _a.headers, payload = _a.payload;\n var _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, priorSignature = _b.priorSignature, signingRegion = _b.signingRegion, signingService = _b.signingService;\n return __awaiter(this, void 0, void 0, function () {\n var region, _d, _e, shortDate, longDate, scope, hashedPayload, hash, hashedHeaders, _f, stringToSign;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 1];\n _d = signingRegion;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, this.regionProvider()];\n case 2:\n _d = (_g.sent());\n _g.label = 3;\n case 3:\n region = _d;\n _e = formatDate(signingDate), shortDate = _e.shortDate, longDate = _e.longDate;\n scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n return [4 /*yield*/, getPayloadHash({ headers: {}, body: payload }, this.sha256)];\n case 4:\n hashedPayload = _g.sent();\n hash = new this.sha256();\n hash.update(headers);\n _f = toHex;\n return [4 /*yield*/, hash.digest()];\n case 5:\n hashedHeaders = _f.apply(void 0, [_g.sent()]);\n stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return [2 /*return*/, this.signString(stringToSign, { signingDate: signingDate, signingRegion: region, signingService: signingService })];\n }\n });\n });\n };\n SignatureV4.prototype.signString = function (stringToSign, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signingRegion = _b.signingRegion, signingService = _b.signingService;\n return __awaiter(this, void 0, void 0, function () {\n var credentials, region, _d, shortDate, hash, _e, _f, _g;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0: return [4 /*yield*/, this.credentialProvider()];\n case 1:\n credentials = _h.sent();\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2];\n _d = signingRegion;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.regionProvider()];\n case 3:\n _d = (_h.sent());\n _h.label = 4;\n case 4:\n region = _d;\n shortDate = formatDate(signingDate).shortDate;\n _f = (_e = this.sha256).bind;\n return [4 /*yield*/, this.getSigningKey(credentials, region, shortDate, signingService)];\n case 5:\n hash = new (_f.apply(_e, [void 0, _h.sent()]))();\n hash.update(stringToSign);\n _g = toHex;\n return [4 /*yield*/, hash.digest()];\n case 6: return [2 /*return*/, _g.apply(void 0, [_h.sent()])];\n }\n });\n });\n };\n SignatureV4.prototype.signRequest = function (requestToSign, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signableHeaders = _b.signableHeaders, unsignableHeaders = _b.unsignableHeaders, signingRegion = _b.signingRegion, signingService = _b.signingService;\n return __awaiter(this, void 0, void 0, function () {\n var credentials, region, _d, request, _e, longDate, shortDate, scope, payloadHash, canonicalHeaders, signature;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, this.credentialProvider()];\n case 1:\n credentials = _f.sent();\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2];\n _d = signingRegion;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.regionProvider()];\n case 3:\n _d = (_f.sent());\n _f.label = 4;\n case 4:\n region = _d;\n request = prepareRequest(requestToSign);\n _e = formatDate(signingDate), longDate = _e.longDate, shortDate = _e.shortDate;\n scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n return [4 /*yield*/, getPayloadHash(request, this.sha256)];\n case 5:\n payloadHash = _f.sent();\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n return [4 /*yield*/, this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash))];\n case 6:\n signature = _f.sent();\n request.headers[AUTH_HEADER] =\n ALGORITHM_IDENTIFIER + \" \" +\n (\"Credential=\" + credentials.accessKeyId + \"/\" + scope + \", \") +\n (\"SignedHeaders=\" + getCanonicalHeaderList(canonicalHeaders) + \", \") +\n (\"Signature=\" + signature);\n return [2 /*return*/, request];\n }\n });\n });\n };\n SignatureV4.prototype.createCanonicalRequest = function (request, canonicalHeaders, payloadHash) {\n var sortedHeaders = Object.keys(canonicalHeaders).sort();\n return request.method + \"\\n\" + this.getCanonicalPath(request) + \"\\n\" + getCanonicalQuery(request) + \"\\n\" + sortedHeaders.map(function (name) { return name + \":\" + canonicalHeaders[name]; }).join(\"\\n\") + \"\\n\\n\" + sortedHeaders.join(\";\") + \"\\n\" + payloadHash;\n };\n SignatureV4.prototype.createStringToSign = function (longDate, credentialScope, canonicalRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var hash, hashedRequest;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hash = new this.sha256();\n hash.update(canonicalRequest);\n return [4 /*yield*/, hash.digest()];\n case 1:\n hashedRequest = _a.sent();\n return [2 /*return*/, ALGORITHM_IDENTIFIER + \"\\n\" + longDate + \"\\n\" + credentialScope + \"\\n\" + toHex(hashedRequest)];\n }\n });\n });\n };\n SignatureV4.prototype.getCanonicalPath = function (_a) {\n var path = _a.path;\n if (this.uriEscapePath) {\n var doubleEncoded = encodeURIComponent(path.replace(/^\\//, \"\"));\n return \"/\" + doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n };\n SignatureV4.prototype.getSignature = function (longDate, credentialScope, keyPromise, canonicalRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var stringToSign, hash, _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, this.createStringToSign(longDate, credentialScope, canonicalRequest)];\n case 1:\n stringToSign = _d.sent();\n _b = (_a = this.sha256).bind;\n return [4 /*yield*/, keyPromise];\n case 2:\n hash = new (_b.apply(_a, [void 0, _d.sent()]))();\n hash.update(stringToSign);\n _c = toHex;\n return [4 /*yield*/, hash.digest()];\n case 3: return [2 /*return*/, _c.apply(void 0, [_d.sent()])];\n }\n });\n });\n };\n SignatureV4.prototype.getSigningKey = function (credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n };\n return SignatureV4;\n}());\nexport { SignatureV4 };\nvar formatDate = function (now) {\n var longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate: longDate,\n shortDate: longDate.substr(0, 8),\n };\n};\nvar getCanonicalHeaderList = function (headers) { return Object.keys(headers).sort().join(\";\"); };\nvar normalizeRegionProvider = function (region) {\n if (typeof region === \"string\") {\n var promisified_1 = Promise.resolve(region);\n return function () { return promisified_1; };\n }\n else {\n return region;\n }\n};\nvar normalizeCredentialsProvider = function (credentials) {\n if (typeof credentials === \"object\") {\n var promisified_2 = Promise.resolve(credentials);\n return function () { return promisified_2; };\n }\n else {\n return credentials;\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lnbmF0dXJlVjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2lnbmF0dXJlVjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWlCQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQWtEckM7SUFRRSxxQkFBWSxFQU84QjtZQU54QyxhQUFhLG1CQUFBLEVBQ2IsV0FBVyxpQkFBQSxFQUNYLE1BQU0sWUFBQSxFQUNOLE9BQU8sYUFBQSxFQUNQLE1BQU0sWUFBQSxFQUNOLHFCQUFvQixFQUFwQixhQUFhLG1CQUFHLElBQUksS0FBQTtRQUVwQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9FLElBQUksQ0FBQyxjQUFjLEdBQUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFWSw2QkFBTyxHQUFwQixVQUFxQixlQUE0QixFQUFFLE9BQXdDO1FBQXhDLHdCQUFBLEVBQUEsWUFBd0M7Ozs7Ozt3QkFFdkYsS0FPRSxPQUFPLFlBUGUsRUFBeEIsV0FBVyxtQkFBRyxJQUFJLElBQUksRUFBRSxLQUFBLEVBQ3hCLEtBTUUsT0FBTyxVQU5PLEVBQWhCLFNBQVMsbUJBQUcsSUFBSSxLQUFBLEVBQ2hCLGlCQUFpQixHQUtmLE9BQU8sa0JBTFEsRUFDakIsa0JBQWtCLEdBSWhCLE9BQU8sbUJBSlMsRUFDbEIsZUFBZSxHQUdiLE9BQU8sZ0JBSE0sRUFDZixhQUFhLEdBRVgsT0FBTyxjQUZJLEVBQ2IsY0FBYyxHQUNaLE9BQU8sZUFESyxDQUNKO3dCQUNRLHFCQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFBOzt3QkFBN0MsV0FBVyxHQUFHLFNBQStCOzhCQUNwQyxhQUFhLGFBQWIsYUFBYTt3QkFBYixLQUFBLGFBQWEsQ0FBQTs7NEJBQUsscUJBQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFBOzt3QkFBNUIsS0FBQSxDQUFDLFNBQTJCLENBQUMsQ0FBQTs7O3dCQUF2RCxNQUFNLEtBQWlEO3dCQUV2RCxLQUEwQixVQUFVLENBQUMsV0FBVyxDQUFDLEVBQS9DLFFBQVEsY0FBQSxFQUFFLFNBQVMsZUFBQSxDQUE2Qjt3QkFDeEQsSUFBSSxTQUFTLEdBQUcsaUJBQWlCLEVBQUU7NEJBQ2pDLHNCQUFPLE9BQU8sQ0FBQyxNQUFNLENBQ25CLG9DQUFvQyxHQUFHLHFEQUFxRCxHQUFHLGFBQWEsQ0FDN0csRUFBQzt5QkFDSDt3QkFFSyxLQUFLLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxhQUFkLGNBQWMsY0FBZCxjQUFjLEdBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUN2RSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsa0JBQWtCLG9CQUFBLEVBQUUsQ0FBQyxDQUFDO3dCQUU1RixJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUU7NEJBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO3lCQUM3RDt3QkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsb0JBQW9CLENBQUM7d0JBQzVELE9BQU8sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsR0FBTSxXQUFXLENBQUMsV0FBVyxTQUFJLEtBQU8sQ0FBQzt3QkFDOUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLFFBQVEsQ0FBQzt3QkFDL0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBRXRELGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQzt3QkFDMUYsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBRXJGLEtBQUEsT0FBTyxDQUFDLEtBQUssQ0FBQTt3QkFBQyxLQUFBLHFCQUFxQixDQUFBO3dCQUFVLEtBQUEsSUFBSSxDQUFDLFlBQVksQ0FBQTs4QkFDNUQsUUFBUTs0QkFDUixLQUFLOzRCQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDO3dCQUNsRSxLQUFBLElBQUksQ0FBQyxzQkFBc0IsQ0FBQTs4QkFBQyxPQUFPLEVBQUUsZ0JBQWdCO3dCQUFFLHFCQUFNLGNBQWMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFBOzRCQUpwRSxxQkFBTSxTQUFBLElBQUksYUFJL0MsU0FBQSxJQUFJLGFBQW1ELFNBQWtELEdBQUMsR0FDM0csRUFBQTs7d0JBTEQsTUFBb0MsR0FBRyxTQUt0QyxDQUFDO3dCQUVGLHNCQUFPLE9BQU8sRUFBQzs7OztLQUNoQjtJQUtZLDBCQUFJLEdBQWpCLFVBQWtCLE1BQVcsRUFBRSxPQUFZOzs7Z0JBQ3pDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO29CQUM5QixzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBQztpQkFDekM7cUJBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7b0JBQzNDLHNCQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFDO2lCQUN4QztxQkFBTTtvQkFDTCxzQkFBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBQztpQkFDMUM7Ozs7S0FDRjtJQUVhLCtCQUFTLEdBQXZCLFVBQ0UsRUFBb0MsRUFDcEMsRUFBa0c7WUFEaEcsT0FBTyxhQUFBLEVBQUUsT0FBTyxhQUFBO1lBQ2hCLG1CQUF3QixFQUF4QixXQUFXLG1CQUFHLElBQUksSUFBSSxFQUFFLEtBQUEsRUFBRSxjQUFjLG9CQUFBLEVBQUUsYUFBYSxtQkFBQSxFQUFFLGNBQWMsb0JBQUE7Ozs7Ozs4QkFFMUQsYUFBYSxhQUFiLGFBQWE7d0JBQWIsS0FBQSxhQUFhLENBQUE7OzRCQUFLLHFCQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBQTs7d0JBQTVCLEtBQUEsQ0FBQyxTQUEyQixDQUFDLENBQUE7Ozt3QkFBdkQsTUFBTSxLQUFpRDt3QkFDdkQsS0FBMEIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUEvQyxTQUFTLGVBQUEsRUFBRSxRQUFRLGNBQUEsQ0FBNkI7d0JBQ2xELEtBQUssR0FBRyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLGFBQWQsY0FBYyxjQUFkLGNBQWMsR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ3ZELHFCQUFNLGNBQWMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQTs7d0JBQXhGLGFBQWEsR0FBRyxTQUF3RTt3QkFDeEYsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNDLEtBQUEsS0FBSyxDQUFBO3dCQUFDLHFCQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQTs7d0JBQXpDLGFBQWEsR0FBRyxrQkFBTSxTQUFtQixFQUFDO3dCQUMxQyxZQUFZLEdBQUc7NEJBQ25CLDBCQUEwQjs0QkFDMUIsUUFBUTs0QkFDUixLQUFLOzRCQUNMLGNBQWM7NEJBQ2QsYUFBYTs0QkFDYixhQUFhO3lCQUNkLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNiLHNCQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLEVBQUUsV0FBVyxhQUFBLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLGdCQUFBLEVBQUUsQ0FBQyxFQUFDOzs7O0tBQzlGO0lBRWEsZ0NBQVUsR0FBeEIsVUFDRSxZQUFvQixFQUNwQixFQUFrRjtZQUFsRixxQkFBZ0YsRUFBRSxLQUFBLEVBQWhGLG1CQUF3QixFQUF4QixXQUFXLG1CQUFHLElBQUksSUFBSSxFQUFFLEtBQUEsRUFBRSxhQUFhLG1CQUFBLEVBQUUsY0FBYyxvQkFBQTs7Ozs7NEJBRXJDLHFCQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFBOzt3QkFBN0MsV0FBVyxHQUFHLFNBQStCOzhCQUNwQyxhQUFhLGFBQWIsYUFBYTt3QkFBYixLQUFBLGFBQWEsQ0FBQTs7NEJBQUsscUJBQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFBOzt3QkFBNUIsS0FBQSxDQUFDLFNBQTJCLENBQUMsQ0FBQTs7O3dCQUF2RCxNQUFNLEtBQWlEO3dCQUNyRCxTQUFTLEdBQUssVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUE1QixDQUE2Qjs2QkFFN0IsQ0FBQSxLQUFBLElBQUksQ0FBQyxNQUFNLENBQUE7d0JBQUMscUJBQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBQTs7d0JBQS9GLElBQUksR0FBRywyQkFBZ0IsU0FBd0UsS0FBQzt3QkFDdEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDbkIsS0FBQSxLQUFLLENBQUE7d0JBQUMscUJBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFBOzRCQUFoQyxzQkFBTyxrQkFBTSxTQUFtQixFQUFDLEVBQUM7Ozs7S0FDbkM7SUFFYSxpQ0FBVyxHQUF6QixVQUNFLGFBQTBCLEVBQzFCLEVBTStCO1lBTi9CLHFCQU02QixFQUFFLEtBQUEsRUFMN0IsbUJBQXdCLEVBQXhCLFdBQVcsbUJBQUcsSUFBSSxJQUFJLEVBQUUsS0FBQSxFQUN4QixlQUFlLHFCQUFBLEVBQ2YsaUJBQWlCLHVCQUFBLEVBQ2pCLGFBQWEsbUJBQUEsRUFDYixjQUFjLG9CQUFBOzs7Ozs0QkFHSSxxQkFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBQTs7d0JBQTdDLFdBQVcsR0FBRyxTQUErQjs4QkFDcEMsYUFBYSxhQUFiLGFBQWE7d0JBQWIsS0FBQSxhQUFhLENBQUE7OzRCQUFLLHFCQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBQTs7d0JBQTVCLEtBQUEsQ0FBQyxTQUEyQixDQUFDLENBQUE7Ozt3QkFBdkQsTUFBTSxLQUFpRDt3QkFDdkQsT0FBTyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDeEMsS0FBMEIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUEvQyxRQUFRLGNBQUEsRUFBRSxTQUFTLGVBQUEsQ0FBNkI7d0JBQ2xELEtBQUssR0FBRyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLGFBQWQsY0FBYyxjQUFkLGNBQWMsR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBRTdFLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO3dCQUM1QyxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUU7NEJBQzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQzt5QkFDMUQ7d0JBRW1CLHFCQUFNLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFBOzt3QkFBeEQsV0FBVyxHQUFHLFNBQTBDO3dCQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTs0QkFDcEUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLENBQUM7eUJBQzlDO3dCQUVLLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQzt3QkFDeEUscUJBQU0sSUFBSSxDQUFDLFlBQVksQ0FDdkMsUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxFQUNsRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUNwRSxFQUFBOzt3QkFMSyxTQUFTLEdBQUcsU0FLakI7d0JBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7NEJBQ3ZCLG9CQUFvQixNQUFHO2lDQUMxQixnQkFBYyxXQUFXLENBQUMsV0FBVyxTQUFJLEtBQUssT0FBSSxDQUFBO2lDQUNsRCxtQkFBaUIsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsT0FBSSxDQUFBO2lDQUM3RCxlQUFhLFNBQVcsQ0FBQSxDQUFDO3dCQUUzQixzQkFBTyxPQUFPLEVBQUM7Ozs7S0FDaEI7SUFFTyw0Q0FBc0IsR0FBOUIsVUFBK0IsT0FBb0IsRUFBRSxnQkFBMkIsRUFBRSxXQUFtQjtRQUNuRyxJQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0QsT0FBVSxPQUFPLENBQUMsTUFBTSxVQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQzlCLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxVQUMxQixhQUFhLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUcsSUFBSSxTQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBRyxFQUFuQyxDQUFtQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUUzRSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUN2QixXQUFhLENBQUM7SUFDZCxDQUFDO0lBRWEsd0NBQWtCLEdBQWhDLFVBQ0UsUUFBZ0IsRUFDaEIsZUFBdUIsRUFDdkIsZ0JBQXdCOzs7Ozs7d0JBRWxCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUNSLHFCQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQTs7d0JBQW5DLGFBQWEsR0FBRyxTQUFtQjt3QkFFekMsc0JBQVUsb0JBQW9CLFVBQ2hDLFFBQVEsVUFDUixlQUFlLFVBQ2YsS0FBSyxDQUFDLGFBQWEsQ0FBRyxFQUFDOzs7O0tBQ3RCO0lBRU8sc0NBQWdCLEdBQXhCLFVBQXlCLEVBQXFCO1lBQW5CLElBQUksVUFBQTtRQUM3QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRSxPQUFPLE1BQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFHLENBQUM7U0FDakQ7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFYSxrQ0FBWSxHQUExQixVQUNFLFFBQWdCLEVBQ2hCLGVBQXVCLEVBQ3ZCLFVBQStCLEVBQy9CLGdCQUF3Qjs7Ozs7NEJBRUgscUJBQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsRUFBQTs7d0JBQXpGLFlBQVksR0FBRyxTQUEwRTs2QkFFOUUsQ0FBQSxLQUFBLElBQUksQ0FBQyxNQUFNLENBQUE7d0JBQUMscUJBQU0sVUFBVSxFQUFBOzt3QkFBdkMsSUFBSSxHQUFHLDJCQUFnQixTQUFnQixLQUFDO3dCQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNuQixLQUFBLEtBQUssQ0FBQTt3QkFBQyxxQkFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUE7NEJBQWhDLHNCQUFPLGtCQUFNLFNBQW1CLEVBQUMsRUFBQzs7OztLQUNuQztJQUVPLG1DQUFhLEdBQXJCLFVBQ0UsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLFNBQWlCLEVBQ2pCLE9BQWdCO1FBRWhCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBeE5ELElBd05DOztBQUVELElBQU0sVUFBVSxHQUFHLFVBQUMsR0FBYztJQUNoQyxJQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxPQUFPO1FBQ0wsUUFBUSxVQUFBO1FBQ1IsU0FBUyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsSUFBTSxzQkFBc0IsR0FBRyxVQUFDLE9BQWUsSUFBYSxPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFyQyxDQUFxQyxDQUFDO0FBRWxHLElBQU0sdUJBQXVCLEdBQUcsVUFBQyxNQUFpQztJQUNoRSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7U0FBTTtRQUNMLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7QUFDSCxDQUFDLENBQUM7QUFFRixJQUFNLDRCQUE0QixHQUFHLFVBQUMsV0FBZ0Q7SUFDcEYsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUU7UUFDbkMsSUFBTSxhQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxPQUFPLGNBQU0sT0FBQSxhQUFXLEVBQVgsQ0FBVyxDQUFDO0tBQzFCO1NBQU07UUFDTCxPQUFPLFdBQVcsQ0FBQztLQUNwQjtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENyZWRlbnRpYWxzLFxuICBEYXRlSW5wdXQsXG4gIEV2ZW50U2lnbmVyLFxuICBFdmVudFNpZ25pbmdBcmd1bWVudHMsXG4gIEZvcm1hdHRlZEV2ZW50LFxuICBIYXNoQ29uc3RydWN0b3IsXG4gIEhlYWRlckJhZyxcbiAgSHR0cFJlcXVlc3QsXG4gIFByb3ZpZGVyLFxuICBSZXF1ZXN0UHJlc2lnbmVyLFxuICBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyxcbiAgUmVxdWVzdFNpZ25lcixcbiAgUmVxdWVzdFNpZ25pbmdBcmd1bWVudHMsXG4gIFNpZ25pbmdBcmd1bWVudHMsXG4gIFN0cmluZ1NpZ25lcixcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5pbXBvcnQge1xuICBBTEdPUklUSE1fSURFTlRJRklFUixcbiAgQUxHT1JJVEhNX1FVRVJZX1BBUkFNLFxuICBBTVpfREFURV9IRUFERVIsXG4gIEFNWl9EQVRFX1FVRVJZX1BBUkFNLFxuICBBVVRIX0hFQURFUixcbiAgQ1JFREVOVElBTF9RVUVSWV9QQVJBTSxcbiAgRVZFTlRfQUxHT1JJVEhNX0lERU5USUZJRVIsXG4gIEVYUElSRVNfUVVFUllfUEFSQU0sXG4gIE1BWF9QUkVTSUdORURfVFRMLFxuICBTSEEyNTZfSEVBREVSLFxuICBTSUdOQVRVUkVfUVVFUllfUEFSQU0sXG4gIFNJR05FRF9IRUFERVJTX1FVRVJZX1BBUkFNLFxuICBUT0tFTl9IRUFERVIsXG4gIFRPS0VOX1FVRVJZX1BBUkFNLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNyZWF0ZVNjb3BlLCBnZXRTaWduaW5nS2V5IH0gZnJvbSBcIi4vY3JlZGVudGlhbERlcml2YXRpb25cIjtcbmltcG9ydCB7IGdldENhbm9uaWNhbEhlYWRlcnMgfSBmcm9tIFwiLi9nZXRDYW5vbmljYWxIZWFkZXJzXCI7XG5pbXBvcnQgeyBnZXRDYW5vbmljYWxRdWVyeSB9IGZyb20gXCIuL2dldENhbm9uaWNhbFF1ZXJ5XCI7XG5pbXBvcnQgeyBnZXRQYXlsb2FkSGFzaCB9IGZyb20gXCIuL2dldFBheWxvYWRIYXNoXCI7XG5pbXBvcnQgeyBoYXNIZWFkZXIgfSBmcm9tIFwiLi9oYXNIZWFkZXJcIjtcbmltcG9ydCB7IG1vdmVIZWFkZXJzVG9RdWVyeSB9IGZyb20gXCIuL21vdmVIZWFkZXJzVG9RdWVyeVwiO1xuaW1wb3J0IHsgcHJlcGFyZVJlcXVlc3QgfSBmcm9tIFwiLi9wcmVwYXJlUmVxdWVzdFwiO1xuaW1wb3J0IHsgaXNvODYwMSB9IGZyb20gXCIuL3V0aWxEYXRlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0dXJlVjRJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIHNpZ25pbmcgbmFtZS5cbiAgICovXG4gIHNlcnZpY2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiBuYW1lIG9yIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHdpbGwgYmVcbiAgICogcmVzb2x2ZWQgd2l0aCB0aGUgcmVnaW9uIG5hbWUuXG4gICAqL1xuICByZWdpb246IHN0cmluZyB8IFByb3ZpZGVyPHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB3aXRoIHdoaWNoIHRoZSByZXF1ZXN0IHNob3VsZCBiZSBzaWduZWQgb3IgYSBmdW5jdGlvblxuICAgKiB0aGF0IHJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCBiZSByZXNvbHZlZCB3aXRoIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBBIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIGZvciBhIGhhc2ggb2JqZWN0IHRoYXQgd2lsbCBjYWxjdWxhdGUgU0hBLTI1NiBITUFDXG4gICAqIGNoZWNrc3Vtcy5cbiAgICovXG4gIHNoYTI1Nj86IEhhc2hDb25zdHJ1Y3RvcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cmktZXNjYXBlIHRoZSByZXF1ZXN0IFVSSSBwYXRoIGFzIHBhcnQgb2YgY29tcHV0aW5nIHRoZVxuICAgKiBjYW5vbmljYWwgcmVxdWVzdCBzdHJpbmcuIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGV2ZXJ5IEFXUyBzZXJ2aWNlLCBleGNlcHRcbiAgICogQW1hem9uIFMzLCBhcyBvZiBsYXRlIDIwMTcuXG4gICAqXG4gICAqIEBkZWZhdWx0IFt0cnVlXVxuICAgKi9cbiAgdXJpRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2FsY3VsYXRlIGEgY2hlY2tzdW0gb2YgdGhlIHJlcXVlc3QgYm9keSBhbmQgaW5jbHVkZSBpdCBhc1xuICAgKiBlaXRoZXIgYSByZXF1ZXN0IGhlYWRlciAod2hlbiBzaWduaW5nKSBvciBhcyBhIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJcbiAgICogKHdoZW4gcHJlc2lnbmluZykuIFRoaXMgaXMgcmVxdWlyZWQgZm9yIEFXUyBHbGFjaWVyIGFuZCBBbWF6b24gUzMgYW5kIG9wdGlvbmFsIGZvclxuICAgKiBldmVyeSBvdGhlciBBV1Mgc2VydmljZSBhcyBvZiBsYXRlIDIwMTcuXG4gICAqXG4gICAqIEBkZWZhdWx0IFt0cnVlXVxuICAgKi9cbiAgYXBwbHlDaGVja3N1bT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0dXJlVjRDcnlwdG9Jbml0IHtcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBjbGFzcyBTaWduYXR1cmVWNCBpbXBsZW1lbnRzIFJlcXVlc3RQcmVzaWduZXIsIFJlcXVlc3RTaWduZXIsIFN0cmluZ1NpZ25lciwgRXZlbnRTaWduZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSByZWdpb25Qcm92aWRlcjogUHJvdmlkZXI8c3RyaW5nPjtcbiAgcHJpdmF0ZSByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXI6IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzaGEyNTY6IEhhc2hDb25zdHJ1Y3RvcjtcbiAgcHJpdmF0ZSByZWFkb25seSB1cmlFc2NhcGVQYXRoOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGx5Q2hlY2tzdW06IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGFwcGx5Q2hlY2tzdW0sXG4gICAgY3JlZGVudGlhbHMsXG4gICAgcmVnaW9uLFxuICAgIHNlcnZpY2UsXG4gICAgc2hhMjU2LFxuICAgIHVyaUVzY2FwZVBhdGggPSB0cnVlLFxuICB9OiBTaWduYXR1cmVWNEluaXQgJiBTaWduYXR1cmVWNENyeXB0b0luaXQpIHtcbiAgICB0aGlzLnNlcnZpY2UgPSBzZXJ2aWNlO1xuICAgIHRoaXMuc2hhMjU2ID0gc2hhMjU2O1xuICAgIHRoaXMudXJpRXNjYXBlUGF0aCA9IHVyaUVzY2FwZVBhdGg7XG4gICAgLy8gZGVmYXVsdCB0byB0cnVlIGlmIGFwcGx5Q2hlY2tzdW0gaXNuJ3Qgc2V0XG4gICAgdGhpcy5hcHBseUNoZWNrc3VtID0gdHlwZW9mIGFwcGx5Q2hlY2tzdW0gPT09IFwiYm9vbGVhblwiID8gYXBwbHlDaGVja3N1bSA6IHRydWU7XG4gICAgdGhpcy5yZWdpb25Qcm92aWRlciA9IG5vcm1hbGl6ZVJlZ2lvblByb3ZpZGVyKHJlZ2lvbik7XG4gICAgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIgPSBub3JtYWxpemVDcmVkZW50aWFsc1Byb3ZpZGVyKGNyZWRlbnRpYWxzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcmVzaWduKG9yaWdpbmFsUmVxdWVzdDogSHR0cFJlcXVlc3QsIG9wdGlvbnM6IFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzID0ge30pOiBQcm9taXNlPEh0dHBSZXF1ZXN0PiB7XG4gICAgY29uc3Qge1xuICAgICAgc2lnbmluZ0RhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgZXhwaXJlc0luID0gMzYwMCxcbiAgICAgIHVuc2lnbmFibGVIZWFkZXJzLFxuICAgICAgdW5ob2lzdGFibGVIZWFkZXJzLFxuICAgICAgc2lnbmFibGVIZWFkZXJzLFxuICAgICAgc2lnbmluZ1JlZ2lvbixcbiAgICAgIHNpZ25pbmdTZXJ2aWNlLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIoKTtcbiAgICBjb25zdCByZWdpb24gPSBzaWduaW5nUmVnaW9uID8/IChhd2FpdCB0aGlzLnJlZ2lvblByb3ZpZGVyKCkpO1xuXG4gICAgY29uc3QgeyBsb25nRGF0ZSwgc2hvcnREYXRlIH0gPSBmb3JtYXREYXRlKHNpZ25pbmdEYXRlKTtcbiAgICBpZiAoZXhwaXJlc0luID4gTUFYX1BSRVNJR05FRF9UVEwpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgXCJTaWduYXR1cmUgdmVyc2lvbiA0IHByZXNpZ25lZCBVUkxzXCIgKyBcIiBtdXN0IGhhdmUgYW4gZXhwaXJhdGlvbiBkYXRlIGxlc3MgdGhhbiBvbmUgd2VlayBpblwiICsgXCIgdGhlIGZ1dHVyZVwiXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNjb3BlID0gY3JlYXRlU2NvcGUoc2hvcnREYXRlLCByZWdpb24sIHNpZ25pbmdTZXJ2aWNlID8/IHRoaXMuc2VydmljZSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IG1vdmVIZWFkZXJzVG9RdWVyeShwcmVwYXJlUmVxdWVzdChvcmlnaW5hbFJlcXVlc3QpLCB7IHVuaG9pc3RhYmxlSGVhZGVycyB9KTtcblxuICAgIGlmIChjcmVkZW50aWFscy5zZXNzaW9uVG9rZW4pIHtcbiAgICAgIHJlcXVlc3QucXVlcnlbVE9LRU5fUVVFUllfUEFSQU1dID0gY3JlZGVudGlhbHMuc2Vzc2lvblRva2VuO1xuICAgIH1cbiAgICByZXF1ZXN0LnF1ZXJ5W0FMR09SSVRITV9RVUVSWV9QQVJBTV0gPSBBTEdPUklUSE1fSURFTlRJRklFUjtcbiAgICByZXF1ZXN0LnF1ZXJ5W0NSRURFTlRJQUxfUVVFUllfUEFSQU1dID0gYCR7Y3JlZGVudGlhbHMuYWNjZXNzS2V5SWR9LyR7c2NvcGV9YDtcbiAgICByZXF1ZXN0LnF1ZXJ5W0FNWl9EQVRFX1FVRVJZX1BBUkFNXSA9IGxvbmdEYXRlO1xuICAgIHJlcXVlc3QucXVlcnlbRVhQSVJFU19RVUVSWV9QQVJBTV0gPSBleHBpcmVzSW4udG9TdHJpbmcoMTApO1xuXG4gICAgY29uc3QgY2Fub25pY2FsSGVhZGVycyA9IGdldENhbm9uaWNhbEhlYWRlcnMocmVxdWVzdCwgdW5zaWduYWJsZUhlYWRlcnMsIHNpZ25hYmxlSGVhZGVycyk7XG4gICAgcmVxdWVzdC5xdWVyeVtTSUdORURfSEVBREVSU19RVUVSWV9QQVJBTV0gPSBnZXRDYW5vbmljYWxIZWFkZXJMaXN0KGNhbm9uaWNhbEhlYWRlcnMpO1xuXG4gICAgcmVxdWVzdC5xdWVyeVtTSUdOQVRVUkVfUVVFUllfUEFSQU1dID0gYXdhaXQgdGhpcy5nZXRTaWduYXR1cmUoXG4gICAgICBsb25nRGF0ZSxcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5nZXRTaWduaW5nS2V5KGNyZWRlbnRpYWxzLCByZWdpb24sIHNob3J0RGF0ZSwgc2lnbmluZ1NlcnZpY2UpLFxuICAgICAgdGhpcy5jcmVhdGVDYW5vbmljYWxSZXF1ZXN0KHJlcXVlc3QsIGNhbm9uaWNhbEhlYWRlcnMsIGF3YWl0IGdldFBheWxvYWRIYXNoKG9yaWdpbmFsUmVxdWVzdCwgdGhpcy5zaGEyNTYpKVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaWduKHN0cmluZ1RvU2lnbjogc3RyaW5nLCBvcHRpb25zPzogU2lnbmluZ0FyZ3VtZW50cyk6IFByb21pc2U8c3RyaW5nPjtcbiAgcHVibGljIGFzeW5jIHNpZ24oZXZlbnQ6IEZvcm1hdHRlZEV2ZW50LCBvcHRpb25zOiBFdmVudFNpZ25pbmdBcmd1bWVudHMpOiBQcm9taXNlPHN0cmluZz47XG4gIHB1YmxpYyBhc3luYyBzaWduKHJlcXVlc3RUb1NpZ246IEh0dHBSZXF1ZXN0LCBvcHRpb25zPzogUmVxdWVzdFNpZ25pbmdBcmd1bWVudHMpOiBQcm9taXNlPEh0dHBSZXF1ZXN0PjtcbiAgcHVibGljIGFzeW5jIHNpZ24odG9TaWduOiBhbnksIG9wdGlvbnM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHR5cGVvZiB0b1NpZ24gPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnNpZ25TdHJpbmcodG9TaWduLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKHRvU2lnbi5oZWFkZXJzICYmIHRvU2lnbi5wYXlsb2FkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaWduRXZlbnQodG9TaWduLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc2lnblJlcXVlc3QodG9TaWduLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNpZ25FdmVudChcbiAgICB7IGhlYWRlcnMsIHBheWxvYWQgfTogRm9ybWF0dGVkRXZlbnQsXG4gICAgeyBzaWduaW5nRGF0ZSA9IG5ldyBEYXRlKCksIHByaW9yU2lnbmF0dXJlLCBzaWduaW5nUmVnaW9uLCBzaWduaW5nU2VydmljZSB9OiBFdmVudFNpZ25pbmdBcmd1bWVudHNcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByZWdpb24gPSBzaWduaW5nUmVnaW9uID8/IChhd2FpdCB0aGlzLnJlZ2lvblByb3ZpZGVyKCkpO1xuICAgIGNvbnN0IHsgc2hvcnREYXRlLCBsb25nRGF0ZSB9ID0gZm9ybWF0RGF0ZShzaWduaW5nRGF0ZSk7XG4gICAgY29uc3Qgc2NvcGUgPSBjcmVhdGVTY29wZShzaG9ydERhdGUsIHJlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgPz8gdGhpcy5zZXJ2aWNlKTtcbiAgICBjb25zdCBoYXNoZWRQYXlsb2FkID0gYXdhaXQgZ2V0UGF5bG9hZEhhc2goeyBoZWFkZXJzOiB7fSwgYm9keTogcGF5bG9hZCB9IGFzIGFueSwgdGhpcy5zaGEyNTYpO1xuICAgIGNvbnN0IGhhc2ggPSBuZXcgdGhpcy5zaGEyNTYoKTtcbiAgICBoYXNoLnVwZGF0ZShoZWFkZXJzKTtcbiAgICBjb25zdCBoYXNoZWRIZWFkZXJzID0gdG9IZXgoYXdhaXQgaGFzaC5kaWdlc3QoKSk7XG4gICAgY29uc3Qgc3RyaW5nVG9TaWduID0gW1xuICAgICAgRVZFTlRfQUxHT1JJVEhNX0lERU5USUZJRVIsXG4gICAgICBsb25nRGF0ZSxcbiAgICAgIHNjb3BlLFxuICAgICAgcHJpb3JTaWduYXR1cmUsXG4gICAgICBoYXNoZWRIZWFkZXJzLFxuICAgICAgaGFzaGVkUGF5bG9hZCxcbiAgICBdLmpvaW4oXCJcXG5cIik7XG4gICAgcmV0dXJuIHRoaXMuc2lnblN0cmluZyhzdHJpbmdUb1NpZ24sIHsgc2lnbmluZ0RhdGUsIHNpZ25pbmdSZWdpb246IHJlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNpZ25TdHJpbmcoXG4gICAgc3RyaW5nVG9TaWduOiBzdHJpbmcsXG4gICAgeyBzaWduaW5nRGF0ZSA9IG5ldyBEYXRlKCksIHNpZ25pbmdSZWdpb24sIHNpZ25pbmdTZXJ2aWNlIH06IFNpZ25pbmdBcmd1bWVudHMgPSB7fVxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIoKTtcbiAgICBjb25zdCByZWdpb24gPSBzaWduaW5nUmVnaW9uID8/IChhd2FpdCB0aGlzLnJlZ2lvblByb3ZpZGVyKCkpO1xuICAgIGNvbnN0IHsgc2hvcnREYXRlIH0gPSBmb3JtYXREYXRlKHNpZ25pbmdEYXRlKTtcblxuICAgIGNvbnN0IGhhc2ggPSBuZXcgdGhpcy5zaGEyNTYoYXdhaXQgdGhpcy5nZXRTaWduaW5nS2V5KGNyZWRlbnRpYWxzLCByZWdpb24sIHNob3J0RGF0ZSwgc2lnbmluZ1NlcnZpY2UpKTtcbiAgICBoYXNoLnVwZGF0ZShzdHJpbmdUb1NpZ24pO1xuICAgIHJldHVybiB0b0hleChhd2FpdCBoYXNoLmRpZ2VzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2lnblJlcXVlc3QoXG4gICAgcmVxdWVzdFRvU2lnbjogSHR0cFJlcXVlc3QsXG4gICAge1xuICAgICAgc2lnbmluZ0RhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgc2lnbmFibGVIZWFkZXJzLFxuICAgICAgdW5zaWduYWJsZUhlYWRlcnMsXG4gICAgICBzaWduaW5nUmVnaW9uLFxuICAgICAgc2lnbmluZ1NlcnZpY2UsXG4gICAgfTogUmVxdWVzdFNpZ25pbmdBcmd1bWVudHMgPSB7fVxuICApOiBQcm9taXNlPEh0dHBSZXF1ZXN0PiB7XG4gICAgY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmNyZWRlbnRpYWxQcm92aWRlcigpO1xuICAgIGNvbnN0IHJlZ2lvbiA9IHNpZ25pbmdSZWdpb24gPz8gKGF3YWl0IHRoaXMucmVnaW9uUHJvdmlkZXIoKSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHByZXBhcmVSZXF1ZXN0KHJlcXVlc3RUb1NpZ24pO1xuICAgIGNvbnN0IHsgbG9uZ0RhdGUsIHNob3J0RGF0ZSB9ID0gZm9ybWF0RGF0ZShzaWduaW5nRGF0ZSk7XG4gICAgY29uc3Qgc2NvcGUgPSBjcmVhdGVTY29wZShzaG9ydERhdGUsIHJlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgPz8gdGhpcy5zZXJ2aWNlKTtcblxuICAgIHJlcXVlc3QuaGVhZGVyc1tBTVpfREFURV9IRUFERVJdID0gbG9uZ0RhdGU7XG4gICAgaWYgKGNyZWRlbnRpYWxzLnNlc3Npb25Ub2tlbikge1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW1RPS0VOX0hFQURFUl0gPSBjcmVkZW50aWFscy5zZXNzaW9uVG9rZW47XG4gICAgfVxuXG4gICAgY29uc3QgcGF5bG9hZEhhc2ggPSBhd2FpdCBnZXRQYXlsb2FkSGFzaChyZXF1ZXN0LCB0aGlzLnNoYTI1Nik7XG4gICAgaWYgKCFoYXNIZWFkZXIoU0hBMjU2X0hFQURFUiwgcmVxdWVzdC5oZWFkZXJzKSAmJiB0aGlzLmFwcGx5Q2hlY2tzdW0pIHtcbiAgICAgIHJlcXVlc3QuaGVhZGVyc1tTSEEyNTZfSEVBREVSXSA9IHBheWxvYWRIYXNoO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbm9uaWNhbEhlYWRlcnMgPSBnZXRDYW5vbmljYWxIZWFkZXJzKHJlcXVlc3QsIHVuc2lnbmFibGVIZWFkZXJzLCBzaWduYWJsZUhlYWRlcnMpO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMuZ2V0U2lnbmF0dXJlKFxuICAgICAgbG9uZ0RhdGUsXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuZ2V0U2lnbmluZ0tleShjcmVkZW50aWFscywgcmVnaW9uLCBzaG9ydERhdGUsIHNpZ25pbmdTZXJ2aWNlKSxcbiAgICAgIHRoaXMuY3JlYXRlQ2Fub25pY2FsUmVxdWVzdChyZXF1ZXN0LCBjYW5vbmljYWxIZWFkZXJzLCBwYXlsb2FkSGFzaClcbiAgICApO1xuXG4gICAgcmVxdWVzdC5oZWFkZXJzW0FVVEhfSEVBREVSXSA9XG4gICAgICBgJHtBTEdPUklUSE1fSURFTlRJRklFUn0gYCArXG4gICAgICBgQ3JlZGVudGlhbD0ke2NyZWRlbnRpYWxzLmFjY2Vzc0tleUlkfS8ke3Njb3BlfSwgYCArXG4gICAgICBgU2lnbmVkSGVhZGVycz0ke2dldENhbm9uaWNhbEhlYWRlckxpc3QoY2Fub25pY2FsSGVhZGVycyl9LCBgICtcbiAgICAgIGBTaWduYXR1cmU9JHtzaWduYXR1cmV9YDtcblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDYW5vbmljYWxSZXF1ZXN0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LCBjYW5vbmljYWxIZWFkZXJzOiBIZWFkZXJCYWcsIHBheWxvYWRIYXNoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNvcnRlZEhlYWRlcnMgPSBPYmplY3Qua2V5cyhjYW5vbmljYWxIZWFkZXJzKS5zb3J0KCk7XG4gICAgcmV0dXJuIGAke3JlcXVlc3QubWV0aG9kfVxuJHt0aGlzLmdldENhbm9uaWNhbFBhdGgocmVxdWVzdCl9XG4ke2dldENhbm9uaWNhbFF1ZXJ5KHJlcXVlc3QpfVxuJHtzb3J0ZWRIZWFkZXJzLm1hcCgobmFtZSkgPT4gYCR7bmFtZX06JHtjYW5vbmljYWxIZWFkZXJzW25hbWVdfWApLmpvaW4oXCJcXG5cIil9XG5cbiR7c29ydGVkSGVhZGVycy5qb2luKFwiO1wiKX1cbiR7cGF5bG9hZEhhc2h9YDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlU3RyaW5nVG9TaWduKFxuICAgIGxvbmdEYXRlOiBzdHJpbmcsXG4gICAgY3JlZGVudGlhbFNjb3BlOiBzdHJpbmcsXG4gICAgY2Fub25pY2FsUmVxdWVzdDogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgaGFzaCA9IG5ldyB0aGlzLnNoYTI1NigpO1xuICAgIGhhc2gudXBkYXRlKGNhbm9uaWNhbFJlcXVlc3QpO1xuICAgIGNvbnN0IGhhc2hlZFJlcXVlc3QgPSBhd2FpdCBoYXNoLmRpZ2VzdCgpO1xuXG4gICAgcmV0dXJuIGAke0FMR09SSVRITV9JREVOVElGSUVSfVxuJHtsb25nRGF0ZX1cbiR7Y3JlZGVudGlhbFNjb3BlfVxuJHt0b0hleChoYXNoZWRSZXF1ZXN0KX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYW5vbmljYWxQYXRoKHsgcGF0aCB9OiBIdHRwUmVxdWVzdCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMudXJpRXNjYXBlUGF0aCkge1xuICAgICAgY29uc3QgZG91YmxlRW5jb2RlZCA9IGVuY29kZVVSSUNvbXBvbmVudChwYXRoLnJlcGxhY2UoL15cXC8vLCBcIlwiKSk7XG4gICAgICByZXR1cm4gYC8ke2RvdWJsZUVuY29kZWQucmVwbGFjZSgvJTJGL2csIFwiL1wiKX1gO1xuICAgIH1cblxuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRTaWduYXR1cmUoXG4gICAgbG9uZ0RhdGU6IHN0cmluZyxcbiAgICBjcmVkZW50aWFsU2NvcGU6IHN0cmluZyxcbiAgICBrZXlQcm9taXNlOiBQcm9taXNlPFVpbnQ4QXJyYXk+LFxuICAgIGNhbm9uaWNhbFJlcXVlc3Q6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHN0cmluZ1RvU2lnbiA9IGF3YWl0IHRoaXMuY3JlYXRlU3RyaW5nVG9TaWduKGxvbmdEYXRlLCBjcmVkZW50aWFsU2NvcGUsIGNhbm9uaWNhbFJlcXVlc3QpO1xuXG4gICAgY29uc3QgaGFzaCA9IG5ldyB0aGlzLnNoYTI1Nihhd2FpdCBrZXlQcm9taXNlKTtcbiAgICBoYXNoLnVwZGF0ZShzdHJpbmdUb1NpZ24pO1xuICAgIHJldHVybiB0b0hleChhd2FpdCBoYXNoLmRpZ2VzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2lnbmluZ0tleShcbiAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMsXG4gICAgcmVnaW9uOiBzdHJpbmcsXG4gICAgc2hvcnREYXRlOiBzdHJpbmcsXG4gICAgc2VydmljZT86IHN0cmluZ1xuICApOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICByZXR1cm4gZ2V0U2lnbmluZ0tleSh0aGlzLnNoYTI1NiwgY3JlZGVudGlhbHMsIHNob3J0RGF0ZSwgcmVnaW9uLCBzZXJ2aWNlIHx8IHRoaXMuc2VydmljZSk7XG4gIH1cbn1cblxuY29uc3QgZm9ybWF0RGF0ZSA9IChub3c6IERhdGVJbnB1dCk6IHsgbG9uZ0RhdGU6IHN0cmluZzsgc2hvcnREYXRlOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IGxvbmdEYXRlID0gaXNvODYwMShub3cpLnJlcGxhY2UoL1tcXC06XS9nLCBcIlwiKTtcbiAgcmV0dXJuIHtcbiAgICBsb25nRGF0ZSxcbiAgICBzaG9ydERhdGU6IGxvbmdEYXRlLnN1YnN0cigwLCA4KSxcbiAgfTtcbn07XG5cbmNvbnN0IGdldENhbm9uaWNhbEhlYWRlckxpc3QgPSAoaGVhZGVyczogb2JqZWN0KTogc3RyaW5nID0+IE9iamVjdC5rZXlzKGhlYWRlcnMpLnNvcnQoKS5qb2luKFwiO1wiKTtcblxuY29uc3Qgbm9ybWFsaXplUmVnaW9uUHJvdmlkZXIgPSAocmVnaW9uOiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+KTogUHJvdmlkZXI8c3RyaW5nPiA9PiB7XG4gIGlmICh0eXBlb2YgcmVnaW9uID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUocmVnaW9uKTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHJlZ2lvbjtcbiAgfVxufTtcblxuY29uc3Qgbm9ybWFsaXplQ3JlZGVudGlhbHNQcm92aWRlciA9IChjcmVkZW50aWFsczogQ3JlZGVudGlhbHMgfCBQcm92aWRlcjxDcmVkZW50aWFscz4pOiBQcm92aWRlcjxDcmVkZW50aWFscz4gPT4ge1xuICBpZiAodHlwZW9mIGNyZWRlbnRpYWxzID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY3JlZGVudGlhbHM7XG4gIH1cbn07XG4iXX0=","import { __assign, __read, __spread, __values } from \"tslib\";\nexport var constructStack = function () {\n var absoluteEntries = [];\n var relativeEntries = [];\n var entriesNameSet = new Set();\n var sort = function (entries) {\n return entries.sort(function (a, b) {\n return stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"];\n });\n };\n var removeByName = function (toRemove) {\n var isRemoved = false;\n var filterCb = function (entry) {\n if (entry.name && entry.name === toRemove) {\n isRemoved = true;\n entriesNameSet.delete(toRemove);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n var removeByReference = function (toRemove) {\n var isRemoved = false;\n var filterCb = function (entry) {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n if (entry.name)\n entriesNameSet.delete(entry.name);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n var cloneTo = function (toStack) {\n absoluteEntries.forEach(function (entry) {\n //@ts-ignore\n toStack.add(entry.middleware, __assign({}, entry));\n });\n relativeEntries.forEach(function (entry) {\n //@ts-ignore\n toStack.addRelativeTo(entry.middleware, __assign({}, entry));\n });\n return toStack;\n };\n var expandRelativeMiddlewareList = function (from) {\n var expandedMiddlewareList = [];\n from.before.forEach(function (entry) {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push.apply(expandedMiddlewareList, __spread(expandRelativeMiddlewareList(entry)));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach(function (entry) {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push.apply(expandedMiddlewareList, __spread(expandRelativeMiddlewareList(entry)));\n }\n });\n return expandedMiddlewareList;\n };\n /**\n * Get a final list of middleware in the order of being executed in the resolved handler.\n */\n var getMiddlewareList = function () {\n var normalizedAbsoluteEntries = [];\n var normalizedRelativeEntries = [];\n var normalizedEntriesNameMap = {};\n absoluteEntries.forEach(function (entry) {\n var normalizedEntry = __assign(__assign({}, entry), { before: [], after: [] });\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach(function (entry) {\n var normalizedEntry = __assign(__assign({}, entry), { before: [], after: [] });\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach(function (entry) {\n if (entry.toMiddleware) {\n var toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n throw new Error(entry.toMiddleware + \" is not found when adding \" + (entry.name || \"anonymous\") + \" middleware \" + entry.relation + \" \" + entry.toMiddleware);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n var mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce(function (wholeList, expendedMiddlewareList) {\n // TODO: Replace it with Array.flat();\n wholeList.push.apply(wholeList, __spread(expendedMiddlewareList));\n return wholeList;\n }, []);\n return mainChain.map(function (entry) { return entry.middleware; });\n };\n var stack = {\n add: function (middleware, options) {\n if (options === void 0) { options = {}; }\n var name = options.name, override = options.override;\n var entry = __assign({ step: \"initialize\", priority: \"normal\", middleware: middleware }, options);\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(\"Duplicate middleware name '\" + name + \"'\");\n var toOverrideIndex = absoluteEntries.findIndex(function (entry) { return entry.name === name; });\n var toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) {\n throw new Error(\"\\\"\" + name + \"\\\" middleware with \" + toOverride.priority + \" priority in \" + toOverride.step + \" step cannot be \" +\n (\"overridden by same-name middleware with \" + entry.priority + \" priority in \" + entry.step + \" step.\"));\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: function (middleware, options) {\n var name = options.name, override = options.override;\n var entry = __assign({ middleware: middleware }, options);\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(\"Duplicate middleware name '\" + name + \"'\");\n var toOverrideIndex = relativeEntries.findIndex(function (entry) { return entry.name === name; });\n var toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(\"\\\"\" + name + \"\\\" middleware \" + toOverride.relation + \" \\\"\" + toOverride.toMiddleware + \"\\\" middleware cannot be overridden \" +\n (\"by same-name middleware \" + entry.relation + \" \\\"\" + entry.toMiddleware + \"\\\" middleware.\"));\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n relativeEntries.push(entry);\n },\n clone: function () { return cloneTo(constructStack()); },\n use: function (plugin) {\n plugin.applyToStack(stack);\n },\n remove: function (toRemove) {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: function (toRemove) {\n var isRemoved = false;\n var filterCb = function (entry) {\n var tags = entry.tags, name = entry.name;\n if (tags && tags.includes(toRemove)) {\n if (name)\n entriesNameSet.delete(name);\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: function (from) {\n var cloned = cloneTo(constructStack());\n cloned.use(from);\n return cloned;\n },\n applyToStack: cloneTo,\n resolve: function (handler, context) {\n var e_1, _a;\n try {\n for (var _b = __values(getMiddlewareList().reverse()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var middleware = _c.value;\n handler = middleware(handler, context);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return handler;\n },\n };\n return stack;\n};\nvar stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nvar priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZVN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01pZGRsZXdhcmVTdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBZ0JBLE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRztJQUM1QixJQUFJLGVBQWUsR0FBNkMsRUFBRSxDQUFDO0lBQ25FLElBQUksZUFBZSxHQUE2QyxFQUFFLENBQUM7SUFDbkUsSUFBTSxjQUFjLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFOUMsSUFBTSxJQUFJLEdBQUcsVUFBbUQsT0FBWTtRQUMxRSxPQUFBLE9BQU8sQ0FBQyxJQUFJLENBQ1YsVUFBQyxDQUFDLEVBQUUsQ0FBQztZQUNILE9BQUEsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDekMsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDO1FBRGpGLENBQ2lGLENBQ3BGO0lBSkQsQ0FJQyxDQUFDO0lBRUosSUFBTSxZQUFZLEdBQUcsVUFBQyxRQUFnQjtRQUNwQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBTSxRQUFRLEdBQUcsVUFBQyxLQUFxQztZQUNyRCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3pDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUNGLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELGVBQWUsR0FBRyxlQUFl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QUM7Q0FDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzb2x1dGVMb2NhdGlvbixcbiAgRGVzZXJpYWxpemVIYW5kbGVyLFxuICBIYW5kbGVyLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgSGFuZGxlck9wdGlvbnMsXG4gIE1pZGRsZXdhcmVTdGFjayxcbiAgTWlkZGxld2FyZVR5cGUsXG4gIFBsdWdnYWJsZSxcbiAgUHJpb3JpdHksXG4gIFJlbGF0aXZlTG9jYXRpb24sXG4gIFN0ZXAsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBBYnNvbHV0ZU1pZGRsZXdhcmVFbnRyeSwgTWlkZGxld2FyZUVudHJ5LCBOb3JtYWxpemVkLCBSZWxhdGl2ZU1pZGRsZXdhcmVFbnRyeSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBjb25zdHJ1Y3RTdGFjayA9IDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0PigpOiBNaWRkbGV3YXJlU3RhY2s8SW5wdXQsIE91dHB1dD4gPT4ge1xuICBsZXQgYWJzb2x1dGVFbnRyaWVzOiBBYnNvbHV0ZU1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PltdID0gW107XG4gIGxldCByZWxhdGl2ZUVudHJpZXM6IFJlbGF0aXZlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+W10gPSBbXTtcbiAgY29uc3QgZW50cmllc05hbWVTZXQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXG4gIGNvbnN0IHNvcnQgPSA8VCBleHRlbmRzIEFic29sdXRlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+PihlbnRyaWVzOiBUW10pOiBUW10gPT5cbiAgICBlbnRyaWVzLnNvcnQoXG4gICAgICAoYSwgYikgPT5cbiAgICAgICAgc3RlcFdlaWdodHNbYi5zdGVwXSAtIHN0ZXBXZWlnaHRzW2Euc3RlcF0gfHxcbiAgICAgICAgcHJpb3JpdHlXZWlnaHRzW2IucHJpb3JpdHkgfHwgXCJub3JtYWxcIl0gLSBwcmlvcml0eVdlaWdodHNbYS5wcmlvcml0eSB8fCBcIm5vcm1hbFwiXVxuICAgICk7XG5cbiAgY29uc3QgcmVtb3ZlQnlOYW1lID0gKHRvUmVtb3ZlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICBsZXQgaXNSZW1vdmVkID0gZmFsc2U7XG4gICAgY29uc3QgZmlsdGVyQ2IgPSAoZW50cnk6IE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0Pik6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKGVudHJ5Lm5hbWUgJiYgZW50cnkubmFtZSA9PT0gdG9SZW1vdmUpIHtcbiAgICAgICAgaXNSZW1vdmVkID0gdHJ1ZTtcbiAgICAgICAgZW50cmllc05hbWVTZXQuZGVsZXRlKHRvUmVtb3ZlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICBhYnNvbHV0ZUVudHJpZXMgPSBhYnNvbHV0ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZWxhdGl2ZUVudHJpZXMgPSByZWxhdGl2ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZXR1cm4gaXNSZW1vdmVkO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZUJ5UmVmZXJlbmNlID0gKHRvUmVtb3ZlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0Pik6IGJvb2xlYW4gPT4ge1xuICAgIGxldCBpc1JlbW92ZWQgPSBmYWxzZTtcbiAgICBjb25zdCBmaWx0ZXJDYiA9IChlbnRyeTogTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+KTogYm9vbGVhbiA9PiB7XG4gICAgICBpZiAoZW50cnkubWlkZGxld2FyZSA9PT0gdG9SZW1vdmUpIHtcbiAgICAgICAgaXNSZW1vdmVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKGVudHJ5Lm5hbWUpIGVudHJpZXNOYW1lU2V0LmRlbGV0ZShlbnRyeS5uYW1lKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICBhYnNvbHV0ZUVudHJpZXMgPSBhYnNvbHV0ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZWxhdGl2ZUVudHJpZXMgPSByZWxhdGl2ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZXR1cm4gaXNSZW1vdmVkO1xuICB9O1xuXG4gIGNvbnN0IGNsb25lVG8gPSA8SW5wdXRUeXBlIGV4dGVuZHMgSW5wdXQsIE91dHB1dFR5cGUgZXh0ZW5kcyBPdXRwdXQ+KFxuICAgIHRvU3RhY2s6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+XG4gICk6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+ID0+IHtcbiAgICBhYnNvbHV0ZUVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgdG9TdGFjay5hZGQoZW50cnkubWlkZGxld2FyZSwgeyAuLi5lbnRyeSB9KTtcbiAgICB9KTtcbiAgICByZWxhdGl2ZUVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgdG9TdGFjay5hZGRSZWxhdGl2ZVRvKGVudHJ5Lm1pZGRsZXdhcmUsIHsgLi4uZW50cnkgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRvU3RhY2s7XG4gIH07XG5cbiAgY29uc3QgZXhwYW5kUmVsYXRpdmVNaWRkbGV3YXJlTGlzdCA9IChcbiAgICBmcm9tOiBOb3JtYWxpemVkPE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PiwgSW5wdXQsIE91dHB1dD5cbiAgKTogTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+W10gPT4ge1xuICAgIGNvbnN0IGV4cGFuZGVkTWlkZGxld2FyZUxpc3Q6IE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PltdID0gW107XG4gICAgZnJvbS5iZWZvcmUuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIGlmIChlbnRyeS5iZWZvcmUubGVuZ3RoID09PSAwICYmIGVudHJ5LmFmdGVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBleHBhbmRlZE1pZGRsZXdhcmVMaXN0LnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhwYW5kZWRNaWRkbGV3YXJlTGlzdC5wdXNoKC4uLmV4cGFuZFJlbGF0aXZlTWlkZGxld2FyZUxpc3QoZW50cnkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBleHBhbmRlZE1pZGRsZXdhcmVMaXN0LnB1c2goZnJvbSk7XG4gICAgZnJvbS5hZnRlci5yZXZlcnNlKCkuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIGlmIChlbnRyeS5iZWZvcmUubGVuZ3RoID09PSAwICYmIGVudHJ5LmFmdGVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBleHBhbmRlZE1pZGRsZXdhcmVMaXN0LnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhwYW5kZWRNaWRkbGV3YXJlTGlzdC5wdXNoKC4uLmV4cGFuZFJlbGF0aXZlTWlkZGxld2FyZUxpc3QoZW50cnkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZXhwYW5kZWRNaWRkbGV3YXJlTGlzdDtcbiAgfTtcblxuICAvKipcbiAgICogR2V0IGEgZmluYWwgbGlzdCBvZiBtaWRkbGV3YXJlIGluIHRoZSBvcmRlciBvZiBiZWluZyBleGVjdXRlZCBpbiB0aGUgcmVzb2x2ZWQgaGFuZGxlci5cbiAgICovXG4gIGNvbnN0IGdldE1pZGRsZXdhcmVMaXN0ID0gKCk6IEFycmF5PE1pZGRsZXdhcmVUeXBlPElucHV0LCBPdXRwdXQ+PiA9PiB7XG4gICAgY29uc3Qgbm9ybWFsaXplZEFic29sdXRlRW50cmllczogTm9ybWFsaXplZDxBYnNvbHV0ZU1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PiwgSW5wdXQsIE91dHB1dD5bXSA9IFtdO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRSZWxhdGl2ZUVudHJpZXM6IE5vcm1hbGl6ZWQ8UmVsYXRpdmVNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD4sIElucHV0LCBPdXRwdXQ+W10gPSBbXTtcbiAgICBjb25zdCBub3JtYWxpemVkRW50cmllc05hbWVNYXA6IHtcbiAgICAgIFttaWRkbGV3YXJlTmFtZTogc3RyaW5nXTogTm9ybWFsaXplZDxNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD4sIElucHV0LCBPdXRwdXQ+O1xuICAgIH0gPSB7fTtcblxuICAgIGFic29sdXRlRW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZEVudHJ5ID0ge1xuICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgYmVmb3JlOiBbXSxcbiAgICAgICAgYWZ0ZXI6IFtdLFxuICAgICAgfTtcbiAgICAgIGlmIChub3JtYWxpemVkRW50cnkubmFtZSkgbm9ybWFsaXplZEVudHJpZXNOYW1lTWFwW25vcm1hbGl6ZWRFbnRyeS5uYW1lXSA9IG5vcm1hbGl6ZWRFbnRyeTtcbiAgICAgIG5vcm1hbGl6ZWRBYnNvbHV0ZUVudHJpZXMucHVzaChub3JtYWxpemVkRW50cnkpO1xuICAgIH0pO1xuXG4gICAgcmVsYXRpdmVFbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBub3JtYWxpemVkRW50cnkgPSB7XG4gICAgICAgIC4uLmVudHJ5LFxuICAgICAgICBiZWZvcmU6IFtdLFxuICAgICAgICBhZnRlcjogW10sXG4gICAgICB9O1xuICAgICAgaWYgKG5vcm1hbGl6ZWRFbnRyeS5uYW1lKSBub3JtYWxpemVkRW50cmllc05hbWVNYXBbbm9ybWFsaXplZEVudHJ5Lm5hbWVdID0gbm9ybWFsaXplZEVudHJ5O1xuICAgICAgbm9ybWFsaXplZFJlbGF0aXZlRW50cmllcy5wdXNoKG5vcm1hbGl6ZWRFbnRyeSk7XG4gICAgfSk7XG5cbiAgICBub3JtYWxpemVkUmVsYXRpdmVFbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBpZiAoZW50cnkudG9NaWRkbGV3YXJlKSB7XG4gICAgICAgIGNvbnN0IHRvTWlkZGxld2FyZSA9IG5vcm1hbGl6ZWRFbnRyaWVzTmFtZU1hcFtlbnRyeS50b01pZGRsZXdhcmVdO1xuICAgICAgICBpZiAodG9NaWRkbGV3YXJlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgJHtlbnRyeS50b01pZGRsZXdhcmV9IGlzIG5vdCBmb3VuZCB3aGVuIGFkZGluZyAke2VudHJ5Lm5hbWUgfHwgXCJhbm9ueW1vdXNcIn0gbWlkZGxld2FyZSAke2VudHJ5LnJlbGF0aW9ufSAke1xuICAgICAgICAgICAgICBlbnRyeS50b01pZGRsZXdhcmVcbiAgICAgICAgICAgIH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW50cnkucmVsYXRpb24gPT09IFwiYWZ0ZXJcIikge1xuICAgICAgICAgIHRvTWlkZGxld2FyZS5hZnRlci5wdXNoKGVudHJ5KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW50cnkucmVsYXRpb24gPT09IFwiYmVmb3JlXCIpIHtcbiAgICAgICAgICB0b01pZGRsZXdhcmUuYmVmb3JlLnB1c2goZW50cnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBtYWluQ2hhaW4gPSBzb3J0KG5vcm1hbGl6ZWRBYnNvbHV0ZUVudHJpZXMpXG4gICAgICAubWFwKGV4cGFuZFJlbGF0aXZlTWlkZGxld2FyZUxpc3QpXG4gICAgICAucmVkdWNlKCh3aG9sZUxpc3QsIGV4cGVuZGVkTWlkZGxld2FyZUxpc3QpID0+IHtcbiAgICAgICAgLy8gVE9ETzogUmVwbGFjZSBpdCB3aXRoIEFycmF5LmZsYXQoKTtcbiAgICAgICAgd2hvbGVMaXN0LnB1c2goLi4uZXhwZW5kZWRNaWRkbGV3YXJlTGlzdCk7XG4gICAgICAgIHJldHVybiB3aG9sZUxpc3Q7XG4gICAgICB9LCBbXSBhcyBNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD5bXSk7XG4gICAgcmV0dXJuIG1haW5DaGFpbi5tYXAoKGVudHJ5KSA9PiBlbnRyeS5taWRkbGV3YXJlKTtcbiAgfTtcblxuICBjb25zdCBzdGFjayA9IHtcbiAgICBhZGQ6IChtaWRkbGV3YXJlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0Piwgb3B0aW9uczogSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgb3ZlcnJpZGUgfSA9IG9wdGlvbnM7XG4gICAgICBjb25zdCBlbnRyeTogQWJzb2x1dGVNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD4gPSB7XG4gICAgICAgIHN0ZXA6IFwiaW5pdGlhbGl6ZVwiLFxuICAgICAgICBwcmlvcml0eTogXCJub3JtYWxcIixcbiAgICAgICAgbWlkZGxld2FyZSxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH07XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICBpZiAoZW50cmllc05hbWVTZXQuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgaWYgKCFvdmVycmlkZSkgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgbWlkZGxld2FyZSBuYW1lICcke25hbWV9J2ApO1xuICAgICAgICAgIGNvbnN0IHRvT3ZlcnJpZGVJbmRleCA9IGFic29sdXRlRW50cmllcy5maW5kSW5kZXgoKGVudHJ5KSA9PiBlbnRyeS5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgICBjb25zdCB0b092ZXJyaWRlID0gYWJzb2x1dGVFbnRyaWVzW3RvT3ZlcnJpZGVJbmRleF07XG4gICAgICAgICAgaWYgKHRvT3ZlcnJpZGUuc3RlcCAhPT0gZW50cnkuc3RlcCB8fCB0b092ZXJyaWRlLnByaW9yaXR5ICE9PSBlbnRyeS5wcmlvcml0eSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCIke25hbWV9XCIgbWlkZGxld2FyZSB3aXRoICR7dG9PdmVycmlkZS5wcmlvcml0eX0gcHJpb3JpdHkgaW4gJHt0b092ZXJyaWRlLnN0ZXB9IHN0ZXAgY2Fubm90IGJlIGAgK1xuICAgICAgICAgICAgICAgIGBvdmVycmlkZGVuIGJ5IHNhbWUtbmFtZSBtaWRkbGV3YXJlIHdpdGggJHtlbnRyeS5wcmlvcml0eX0gcHJpb3JpdHkgaW4gJHtlbnRyeS5zdGVwfSBzdGVwLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGFic29sdXRlRW50cmllcy5zcGxpY2UodG9PdmVycmlkZUluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgICBlbnRyaWVzTmFtZVNldC5hZGQobmFtZSk7XG4gICAgICB9XG4gICAgICBhYnNvbHV0ZUVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgfSxcblxuICAgIGFkZFJlbGF0aXZlVG86IChtaWRkbGV3YXJlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0Piwgb3B0aW9uczogSGFuZGxlck9wdGlvbnMgJiBSZWxhdGl2ZUxvY2F0aW9uKSA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUsIG92ZXJyaWRlIH0gPSBvcHRpb25zO1xuICAgICAgY29uc3QgZW50cnk6IFJlbGF0aXZlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+ID0ge1xuICAgICAgICBtaWRkbGV3YXJlLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgfTtcbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIGlmIChlbnRyaWVzTmFtZVNldC5oYXMobmFtZSkpIHtcbiAgICAgICAgICBpZiAoIW92ZXJyaWRlKSB0aHJvdyBuZXcgRXJyb3IoYER1cGxpY2F0ZSBtaWRkbGV3YXJlIG5hbWUgJyR7bmFtZX0nYCk7XG4gICAgICAgICAgY29uc3QgdG9PdmVycmlkZUluZGV4ID0gcmVsYXRpdmVFbnRyaWVzLmZpbmRJbmRleCgoZW50cnkpID0+IGVudHJ5Lm5hbWUgPT09IG5hbWUpO1xuICAgICAgICAgIGNvbnN0IHRvT3ZlcnJpZGUgPSByZWxhdGl2ZUVudHJpZXNbdG9PdmVycmlkZUluZGV4XTtcbiAgICAgICAgICBpZiAodG9PdmVycmlkZS50b01pZGRsZXdhcmUgIT09IGVudHJ5LnRvTWlkZGxld2FyZSB8fCB0b092ZXJyaWRlLnJlbGF0aW9uICE9PSBlbnRyeS5yZWxhdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCIke25hbWV9XCIgbWlkZGxld2FyZSAke3RvT3ZlcnJpZGUucmVsYXRpb259IFwiJHt0b092ZXJyaWRlLnRvTWlkZGxld2FyZX1cIiBtaWRkbGV3YXJlIGNhbm5vdCBiZSBvdmVycmlkZGVuIGAgK1xuICAgICAgICAgICAgICAgIGBieSBzYW1lLW5hbWUgbWlkZGxld2FyZSAke2VudHJ5LnJlbGF0aW9ufSBcIiR7ZW50cnkudG9NaWRkbGV3YXJlfVwiIG1pZGRsZXdhcmUuYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVsYXRpdmVFbnRyaWVzLnNwbGljZSh0b092ZXJyaWRlSW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIGVudHJpZXNOYW1lU2V0LmFkZChuYW1lKTtcbiAgICAgIH1cbiAgICAgIHJlbGF0aXZlRW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICB9LFxuXG4gICAgY2xvbmU6ICgpID0+IGNsb25lVG8oY29uc3RydWN0U3RhY2s8SW5wdXQsIE91dHB1dD4oKSksXG5cbiAgICB1c2U6IChwbHVnaW46IFBsdWdnYWJsZTxJbnB1dCwgT3V0cHV0PikgPT4ge1xuICAgICAgcGx1Z2luLmFwcGx5VG9TdGFjayhzdGFjayk7XG4gICAgfSxcblxuICAgIHJlbW92ZTogKHRvUmVtb3ZlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0PiB8IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0b1JlbW92ZSA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIHJlbW92ZUJ5TmFtZSh0b1JlbW92ZSk7XG4gICAgICBlbHNlIHJldHVybiByZW1vdmVCeVJlZmVyZW5jZSh0b1JlbW92ZSk7XG4gICAgfSxcblxuICAgIHJlbW92ZUJ5VGFnOiAodG9SZW1vdmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgbGV0IGlzUmVtb3ZlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgZmlsdGVyQ2IgPSAoZW50cnk6IE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0Pik6IGJvb2xlYW4gPT4ge1xuICAgICAgICBjb25zdCB7IHRhZ3MsIG5hbWUgfSA9IGVudHJ5O1xuICAgICAgICBpZiAodGFncyAmJiB0YWdzLmluY2x1ZGVzKHRvUmVtb3ZlKSkge1xuICAgICAgICAgIGlmIChuYW1lKSBlbnRyaWVzTmFtZVNldC5kZWxldGUobmFtZSk7XG4gICAgICAgICAgaXNSZW1vdmVkID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9O1xuICAgICAgYWJzb2x1dGVFbnRyaWVzID0gYWJzb2x1dGVFbnRyaWVzLmZpbHRlcihmaWx0ZXJDYik7XG4gICAgICByZWxhdGl2ZUVudHJpZXMgPSByZWxhdGl2ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICAgIHJldHVybiBpc1JlbW92ZWQ7XG4gICAgfSxcblxuICAgIGNvbmNhdDogPElucHV0VHlwZSBleHRlbmRzIElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgT3V0cHV0PihcbiAgICAgIGZyb206IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+XG4gICAgKTogTWlkZGxld2FyZVN0YWNrPElucHV0VHlwZSwgT3V0cHV0VHlwZT4gPT4ge1xuICAgICAgY29uc3QgY2xvbmVkID0gY2xvbmVUbyhjb25zdHJ1Y3RTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+KCkpO1xuICAgICAgY2xvbmVkLnVzZShmcm9tKTtcbiAgICAgIHJldHVybiBjbG9uZWQ7XG4gICAgfSxcblxuICAgIGFwcGx5VG9TdGFjazogY2xvbmVUbyxcblxuICAgIHJlc29sdmU6IDxJbnB1dFR5cGUgZXh0ZW5kcyBJbnB1dCwgT3V0cHV0VHlwZSBleHRlbmRzIE91dHB1dD4oXG4gICAgICBoYW5kbGVyOiBEZXNlcmlhbGl6ZUhhbmRsZXI8SW5wdXRUeXBlLCBPdXRwdXRUeXBlPixcbiAgICAgIGNvbnRleHQ6IEhhbmRsZXJFeGVjdXRpb25Db250ZXh0XG4gICAgKTogSGFuZGxlcjxJbnB1dFR5cGUsIE91dHB1dFR5cGU+ID0+IHtcbiAgICAgIGZvciAoY29uc3QgbWlkZGxld2FyZSBvZiBnZXRNaWRkbGV3YXJlTGlzdCgpLnJldmVyc2UoKSkge1xuICAgICAgICBoYW5kbGVyID0gbWlkZGxld2FyZShoYW5kbGVyIGFzIEhhbmRsZXI8SW5wdXQsIE91dHB1dFR5cGU+LCBjb250ZXh0KSBhcyBhbnk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFuZGxlciBhcyBIYW5kbGVyPElucHV0VHlwZSwgT3V0cHV0VHlwZT47XG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIHN0YWNrO1xufTtcblxuY29uc3Qgc3RlcFdlaWdodHM6IHsgW2tleSBpbiBTdGVwXTogbnVtYmVyIH0gPSB7XG4gIGluaXRpYWxpemU6IDUsXG4gIHNlcmlhbGl6ZTogNCxcbiAgYnVpbGQ6IDMsXG4gIGZpbmFsaXplUmVxdWVzdDogMixcbiAgZGVzZXJpYWxpemU6IDEsXG59O1xuXG5jb25zdCBwcmlvcml0eVdlaWdodHM6IHsgW2tleSBpbiBQcmlvcml0eV06IG51bWJlciB9ID0ge1xuICBoaWdoOiAzLFxuICBub3JtYWw6IDIsXG4gIGxvdzogMSxcbn07XG4iXX0=","import { constructStack } from \"@aws-sdk/middleware-stack\";\nvar Client = /** @class */ (function () {\n function Client(config) {\n this.middlewareStack = constructStack();\n this.config = config;\n }\n Client.prototype.send = function (command, optionsOrCb, cb) {\n var options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n var callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n var handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n if (callback) {\n handler(command)\n .then(function (result) { return callback(null, result.output); }, function (err) { return callback(err); })\n .catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n function () { });\n }\n else {\n return handler(command).then(function (result) { return result.output; });\n }\n };\n Client.prototype.destroy = function () {\n if (this.config.requestHandler.destroy)\n this.config.requestHandler.destroy();\n };\n return Client;\n}());\nexport { Client };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFlM0Q7SUFRRSxnQkFBWSxNQUFtQztRQUZ4QyxvQkFBZSxHQUFHLGNBQWMsRUFBNkIsQ0FBQztRQUduRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBY0QscUJBQUksR0FBSixVQUNFLE9BQStHLEVBQy9HLFdBQXNFLEVBQ3RFLEVBQTBDO1FBRTFDLElBQU0sT0FBTyxHQUFHLE9BQU8sV0FBVyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDNUUsSUFBTSxRQUFRLEdBQUcsT0FBTyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBRSxXQUFxRCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakgsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFzQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0YsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPLENBQUMsT0FBTyxDQUFDO2lCQUNiLElBQUksQ0FDSCxVQUFDLE1BQU0sSUFBSyxPQUFBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUE3QixDQUE2QixFQUN6QyxVQUFDLEdBQVEsSUFBSyxPQUFBLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBYixDQUFhLENBQzVCO2lCQUNBLEtBQUs7WUFDSiwrREFBK0Q7WUFDL0QsOEJBQThCO1lBQzlCLGNBQU8sQ0FBQyxDQUNULENBQUM7U0FDTDthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsTUFBTSxJQUFLLE9BQUEsTUFBTSxDQUFDLE1BQU0sRUFBYixDQUFhLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCx3QkFBTyxHQUFQO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDLEFBbkRELElBbURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RydWN0U3RhY2sgfSBmcm9tIFwiQGF3cy1zZGsvbWlkZGxld2FyZS1zdGFja1wiO1xuaW1wb3J0IHsgQ2xpZW50IGFzIElDbGllbnQsIENvbW1hbmQsIE1ldGFkYXRhQmVhcmVyLCBSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNtaXRoeUNvbmZpZ3VyYXRpb248SGFuZGxlck9wdGlvbnM+IHtcbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyPGFueSwgYW55LCBIYW5kbGVyT3B0aW9ucz47XG4gIC8qKlxuICAgKiBUaGUgQVBJIHZlcnNpb24gc2V0IGludGVybmFsbHkgYnkgdGhlIFNESywgYW5kIGlzXG4gICAqIG5vdCBwbGFubmVkIHRvIGJlIHVzZWQgYnkgY3VzdG9tZXIgY29kZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFNtaXRoeVJlc29sdmVkQ29uZmlndXJhdGlvbjxIYW5kbGVyT3B0aW9ucz4gPSBTbWl0aHlDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPjtcblxuZXhwb3J0IGNsYXNzIENsaWVudDxcbiAgSGFuZGxlck9wdGlvbnMsXG4gIENsaWVudElucHV0IGV4dGVuZHMgb2JqZWN0LFxuICBDbGllbnRPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlcixcbiAgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uIGV4dGVuZHMgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPlxuPiBpbXBsZW1lbnRzIElDbGllbnQ8Q2xpZW50SW5wdXQsIENsaWVudE91dHB1dCwgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uPiB7XG4gIHB1YmxpYyBtaWRkbGV3YXJlU3RhY2sgPSBjb25zdHJ1Y3RTdGFjazxDbGllbnRJbnB1dCwgQ2xpZW50T3V0cHV0PigpO1xuICByZWFkb25seSBjb25maWc6IFJlc29sdmVkQ2xpZW50Q29uZmlndXJhdGlvbjtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgfVxuICBzZW5kPElucHV0VHlwZSBleHRlbmRzIENsaWVudElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgQ2xpZW50T3V0cHV0PihcbiAgICBjb21tYW5kOiBDb21tYW5kPENsaWVudElucHV0LCBJbnB1dFR5cGUsIENsaWVudE91dHB1dCwgT3V0cHV0VHlwZSwgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPj4sXG4gICAgb3B0aW9ucz86IEhhbmRsZXJPcHRpb25zXG4gICk6IFByb21pc2U8T3V0cHV0VHlwZT47XG4gIHNlbmQ8SW5wdXRUeXBlIGV4dGVuZHMgQ2xpZW50SW5wdXQsIE91dHB1dFR5cGUgZXh0ZW5kcyBDbGllbnRPdXRwdXQ+KFxuICAgIGNvbW1hbmQ6IENvbW1hbmQ8Q2xpZW50SW5wdXQsIElucHV0VHlwZSwgQ2xpZW50T3V0cHV0LCBPdXRwdXRUeXBlLCBTbWl0aHlSZXNvbHZlZENvbmZpZ3VyYXRpb248SGFuZGxlck9wdGlvbnM+PixcbiAgICBjYjogKGVycjogYW55LCBkYXRhPzogT3V0cHV0VHlwZSkgPT4gdm9pZFxuICApOiB2b2lkO1xuICBzZW5kPElucHV0VHlwZSBleHRlbmRzIENsaWVudElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgQ2xpZW50T3V0cHV0PihcbiAgICBjb21tYW5kOiBDb21tYW5kPENsaWVudElucHV0LCBJbnB1dFR5cGUsIENsaWVudE91dHB1dCwgT3V0cHV0VHlwZSwgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPj4sXG4gICAgb3B0aW9uczogSGFuZGxlck9wdGlvbnMsXG4gICAgY2I6IChlcnI6IGFueSwgZGF0YT86IE91dHB1dFR5cGUpID0+IHZvaWRcbiAgKTogdm9pZDtcbiAgc2VuZDxJbnB1dFR5cGUgZXh0ZW5kcyBDbGllbnRJbnB1dCwgT3V0cHV0VHlwZSBleHRlbmRzIENsaWVudE91dHB1dD4oXG4gICAgY29tbWFuZDogQ29tbWFuZDxDbGllbnRJbnB1dCwgSW5wdXRUeXBlLCBDbGllbnRPdXRwdXQsIE91dHB1dFR5cGUsIFNtaXRoeVJlc29sdmVkQ29uZmlndXJhdGlvbjxIYW5kbGVyT3B0aW9ucz4+LFxuICAgIG9wdGlvbnNPckNiPzogSGFuZGxlck9wdGlvbnMgfCAoKGVycjogYW55LCBkYXRhPzogT3V0cHV0VHlwZSkgPT4gdm9pZCksXG4gICAgY2I/OiAoZXJyOiBhbnksIGRhdGE/OiBPdXRwdXRUeXBlKSA9PiB2b2lkXG4gICk6IFByb21pc2U8T3V0cHV0VHlwZT4gfCB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdHlwZW9mIG9wdGlvbnNPckNiICE9PSBcImZ1bmN0aW9uXCIgPyBvcHRpb25zT3JDYiA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjYWxsYmFjayA9IHR5cGVvZiBvcHRpb25zT3JDYiA9PT0gXCJmdW5jdGlvblwiID8gKG9wdGlvbnNPckNiIGFzIChlcnI6IGFueSwgZGF0YT86IE91dHB1dFR5cGUpID0+IHZvaWQpIDogY2I7XG4gICAgY29uc3QgaGFuZGxlciA9IGNvbW1hbmQucmVzb2x2ZU1pZGRsZXdhcmUodGhpcy5taWRkbGV3YXJlU3RhY2sgYXMgYW55LCB0aGlzLmNvbmZpZywgb3B0aW9ucyk7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBoYW5kbGVyKGNvbW1hbmQpXG4gICAgICAgIC50aGVuKFxuICAgICAgICAgIChyZXN1bHQpID0+IGNhbGxiYWNrKG51bGwsIHJlc3VsdC5vdXRwdXQpLFxuICAgICAgICAgIChlcnI6IGFueSkgPT4gY2FsbGJhY2soZXJyKVxuICAgICAgICApXG4gICAgICAgIC5jYXRjaChcbiAgICAgICAgICAvLyBwcmV2ZW50IGFueSBlcnJvcnMgdGhyb3duIGluIHRoZSBjYWxsYmFjayBmcm9tIHRyaWdnZXJpbmcgYW5cbiAgICAgICAgICAvLyB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25cbiAgICAgICAgICAoKSA9PiB7fVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGFuZGxlcihjb21tYW5kKS50aGVuKChyZXN1bHQpID0+IHJlc3VsdC5vdXRwdXQpO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnJlcXVlc3RIYW5kbGVyLmRlc3Ryb3kpIHRoaXMuY29uZmlnLnJlcXVlc3RIYW5kbGVyLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19","import { constructStack } from \"@aws-sdk/middleware-stack\";\nvar Command = /** @class */ (function () {\n function Command() {\n this.middlewareStack = constructStack();\n }\n return Command;\n}());\nexport { Command };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUczRDtJQUFBO1FBUVcsb0JBQWUsR0FBb0MsY0FBYyxFQUFpQixDQUFDO0lBTTlGLENBQUM7SUFBRCxjQUFDO0FBQUQsQ0FBQyxBQWRELElBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdHJ1Y3RTdGFjayB9IGZyb20gXCJAYXdzLXNkay9taWRkbGV3YXJlLXN0YWNrXCI7XG5pbXBvcnQgeyBDb21tYW5kIGFzIElDb21tYW5kLCBIYW5kbGVyLCBNZXRhZGF0YUJlYXJlciwgTWlkZGxld2FyZVN0YWNrIGFzIElNaWRkbGV3YXJlU3RhY2sgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbW1hbmQ8XG4gIElucHV0IGV4dGVuZHMgQ2xpZW50SW5wdXQsXG4gIE91dHB1dCBleHRlbmRzIENsaWVudE91dHB1dCxcbiAgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uLFxuICBDbGllbnRJbnB1dCBleHRlbmRzIG9iamVjdCA9IGFueSxcbiAgQ2xpZW50T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXIgPSBhbnlcbj4gaW1wbGVtZW50cyBJQ29tbWFuZDxDbGllbnRJbnB1dCwgSW5wdXQsIENsaWVudE91dHB1dCwgT3V0cHV0LCBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24+IHtcbiAgYWJzdHJhY3QgaW5wdXQ6IElucHV0O1xuICByZWFkb25seSBtaWRkbGV3YXJlU3RhY2s6IElNaWRkbGV3YXJlU3RhY2s8SW5wdXQsIE91dHB1dD4gPSBjb25zdHJ1Y3RTdGFjazxJbnB1dCwgT3V0cHV0PigpO1xuICBhYnN0cmFjdCByZXNvbHZlTWlkZGxld2FyZShcbiAgICBzdGFjazogSU1pZGRsZXdhcmVTdGFjazxDbGllbnRJbnB1dCwgQ2xpZW50T3V0cHV0PixcbiAgICBjb25maWd1cmF0aW9uOiBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24sXG4gICAgb3B0aW9uczogYW55XG4gICk6IEhhbmRsZXI8SW5wdXQsIE91dHB1dD47XG59XG4iXX0=","/**\n * Function that wraps encodeURIComponent to encode additional characters\n * to fully adhere to RFC 3986.\n */\nexport function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtZW5jb2RlLXVyaS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5kZWQtZW5jb2RlLXVyaS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEdBQVc7SUFDcEQsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUM1RCxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZ1bmN0aW9uIHRoYXQgd3JhcHMgZW5jb2RlVVJJQ29tcG9uZW50IHRvIGVuY29kZSBhZGRpdGlvbmFsIGNoYXJhY3RlcnNcbiAqIHRvIGZ1bGx5IGFkaGVyZSB0byBSRkMgMzk4Ni5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZGVkRW5jb2RlVVJJQ29tcG9uZW50KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnJlcGxhY2UoL1shJygpKl0vZywgZnVuY3Rpb24gKGMpIHtcbiAgICByZXR1cm4gXCIlXCIgKyBjLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpO1xuICB9KTtcbn1cbiJdfQ==","/**\n * The XML parser will set one K:V for a member that could\n * return multiple entries but only has one.\n */\nexport var getArrayIfSingleItem = function (mayBeArray) {\n return Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFycmF5LWlmLXNpbmdsZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dldC1hcnJheS1pZi1zaW5nbGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxVQUFJLFVBQWE7SUFDbkQsT0FBQSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQXJELENBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBYTUwgcGFyc2VyIHdpbGwgc2V0IG9uZSBLOlYgZm9yIGEgbWVtYmVyIHRoYXQgY291bGRcbiAqIHJldHVybiBtdWx0aXBsZSBlbnRyaWVzIGJ1dCBvbmx5IGhhcyBvbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBcnJheUlmU2luZ2xlSXRlbSA9IDxUPihtYXlCZUFycmF5OiBUKTogVCB8IFRbXSA9PlxuICBBcnJheS5pc0FycmF5KG1heUJlQXJyYXkpID8gbWF5QmVBcnJheSA6IFttYXlCZUFycmF5XTtcbiJdfQ==","/**\n * Recursively parses object and populates value is node from\n * \"#text\" key if it's available\n */\nexport var getValueFromTextNode = function (obj) {\n var textNodeName = \"#text\";\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbHVlLWZyb20tdGV4dC1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dldC12YWx1ZS1mcm9tLXRleHQtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxVQUFDLEdBQVE7SUFDM0MsSUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDO0lBQzdCLEtBQUssSUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1FBQ3JCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ25FLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbkM7YUFBTSxJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzVELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzQztLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlY3Vyc2l2ZWx5IHBhcnNlcyBvYmplY3QgYW5kIHBvcHVsYXRlcyB2YWx1ZSBpcyBub2RlIGZyb21cbiAqIFwiI3RleHRcIiBrZXkgaWYgaXQncyBhdmFpbGFibGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFZhbHVlRnJvbVRleHROb2RlID0gKG9iajogYW55KSA9PiB7XG4gIGNvbnN0IHRleHROb2RlTmFtZSA9IFwiI3RleHRcIjtcbiAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIG9ialtrZXldW3RleHROb2RlTmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgb2JqW2tleV0gPSBvYmpba2V5XVt0ZXh0Tm9kZU5hbWVdO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIG9ialtrZXldID09PSBcIm9iamVjdFwiICYmIG9ialtrZXldICE9PSBudWxsKSB7XG4gICAgICBvYmpba2V5XSA9IGdldFZhbHVlRnJvbVRleHROb2RlKG9ialtrZXldKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9iajtcbn07XG4iXX0=","/**\n * Lazy String holder for JSON typed contents.\n */\nimport { __extends, __read, __spread } from \"tslib\";\n/**\n * Because of https://github.com/microsoft/tslib/issues/95,\n * TS 'extends' shim doesn't support extending native types like String.\n * So here we create StringWrapper that duplicate everything from String\n * class including its prototype chain. So we can extend from here.\n */\n// @ts-ignore StringWrapper implementation is not a simple constructor\nexport var StringWrapper = function () {\n //@ts-ignore 'this' cannot be assigned to any, but Object.getPrototypeOf accepts any\n var Class = Object.getPrototypeOf(this).constructor;\n var Constructor = Function.bind.apply(String, __spread([null], arguments));\n //@ts-ignore Call wrapped String constructor directly, don't bother typing it.\n var instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance;\n};\nStringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(StringWrapper, String);\nvar LazyJsonString = /** @class */ (function (_super) {\n __extends(LazyJsonString, _super);\n function LazyJsonString() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LazyJsonString.prototype.deserializeJSON = function () {\n return JSON.parse(_super.prototype.toString.call(this));\n };\n LazyJsonString.prototype.toJSON = function () {\n return _super.prototype.toString.call(this);\n };\n LazyJsonString.fromObject = function (object) {\n if (object instanceof LazyJsonString) {\n return object;\n }\n else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n };\n return LazyJsonString;\n}(StringWrapper));\nexport { LazyJsonString };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xhenktanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRzs7QUFNSDs7Ozs7R0FLRztBQUNILHNFQUFzRTtBQUN0RSxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQWtCO0lBQzFDLG9GQUFvRjtJQUNwRixJQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUN0RCxJQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFlBQUcsSUFBVyxHQUFLLFNBQVMsRUFBRSxDQUFDO0lBQzdFLDhFQUE4RTtJQUM5RSxJQUFNLFFBQVEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxPQUFPLFFBQWtCLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBQ0YsYUFBYSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7SUFDeEQsV0FBVyxFQUFFO1FBQ1gsS0FBSyxFQUFFLGFBQWE7UUFDcEIsVUFBVSxFQUFFLEtBQUs7UUFDakIsUUFBUSxFQUFFLElBQUk7UUFDZCxZQUFZLEVBQUUsSUFBSTtLQUNuQjtDQUNGLENBQUMsQ0FBQztBQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRTdDO0lBQW9DLGtDQUFhO0lBQWpEOztJQWlCQSxDQUFDO0lBaEJDLHdDQUFlLEdBQWY7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQU0sUUFBUSxXQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsK0JBQU0sR0FBTjtRQUNFLE9BQU8saUJBQU0sUUFBUSxXQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHlCQUFVLEdBQWpCLFVBQWtCLE1BQVc7UUFDM0IsSUFBSSxNQUFNLFlBQVksY0FBYyxFQUFFO1lBQ3BDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLE1BQU0sWUFBWSxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ2pFLE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbkM7UUFDRCxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0gscUJBQUM7QUFBRCxDQUFDLEFBakJELENBQW9DLGFBQWEsR0FpQmhEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMYXp5IFN0cmluZyBob2xkZXIgZm9yIEpTT04gdHlwZWQgY29udGVudHMuXG4gKi9cblxuaW50ZXJmYWNlIFN0cmluZ1dyYXBwZXIge1xuICBuZXcgKGFyZzogYW55KTogU3RyaW5nO1xufVxuXG4vKipcbiAqIEJlY2F1c2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC90c2xpYi9pc3N1ZXMvOTUsXG4gKiBUUyAnZXh0ZW5kcycgc2hpbSBkb2Vzbid0IHN1cHBvcnQgZXh0ZW5kaW5nIG5hdGl2ZSB0eXBlcyBsaWtlIFN0cmluZy5cbiAqIFNvIGhlcmUgd2UgY3JlYXRlIFN0cmluZ1dyYXBwZXIgdGhhdCBkdXBsaWNhdGUgZXZlcnl0aGluZyBmcm9tIFN0cmluZ1xuICogY2xhc3MgaW5jbHVkaW5nIGl0cyBwcm90b3R5cGUgY2hhaW4uIFNvIHdlIGNhbiBleHRlbmQgZnJvbSBoZXJlLlxuICovXG4vLyBAdHMtaWdub3JlIFN0cmluZ1dyYXBwZXIgaW1wbGVtZW50YXRpb24gaXMgbm90IGEgc2ltcGxlIGNvbnN0cnVjdG9yXG5leHBvcnQgY29uc3QgU3RyaW5nV3JhcHBlcjogU3RyaW5nV3JhcHBlciA9IGZ1bmN0aW9uICgpIHtcbiAgLy9AdHMtaWdub3JlICd0aGlzJyBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW55LCBidXQgT2JqZWN0LmdldFByb3RvdHlwZU9mIGFjY2VwdHMgYW55XG4gIGNvbnN0IENsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yO1xuICBjb25zdCBDb25zdHJ1Y3RvciA9IEZ1bmN0aW9uLmJpbmQuYXBwbHkoU3RyaW5nLCBbbnVsbCBhcyBhbnksIC4uLmFyZ3VtZW50c10pO1xuICAvL0B0cy1pZ25vcmUgQ2FsbCB3cmFwcGVkIFN0cmluZyBjb25zdHJ1Y3RvciBkaXJlY3RseSwgZG9uJ3QgYm90aGVyIHR5cGluZyBpdC5cbiAgY29uc3QgaW5zdGFuY2UgPSBuZXcgQ29uc3RydWN0b3IoKTtcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGluc3RhbmNlLCBDbGFzcy5wcm90b3R5cGUpO1xuICByZXR1cm4gaW5zdGFuY2UgYXMgU3RyaW5nO1xufTtcblN0cmluZ1dyYXBwZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdHJpbmcucHJvdG90eXBlLCB7XG4gIGNvbnN0cnVjdG9yOiB7XG4gICAgdmFsdWU6IFN0cmluZ1dyYXBwZXIsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICB9LFxufSk7XG5PYmplY3Quc2V0UHJvdG90eXBlT2YoU3RyaW5nV3JhcHBlciwgU3RyaW5nKTtcblxuZXhwb3J0IGNsYXNzIExhenlKc29uU3RyaW5nIGV4dGVuZHMgU3RyaW5nV3JhcHBlciB7XG4gIGRlc2VyaWFsaXplSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN1cGVyLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgdG9KU09OKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnRvU3RyaW5nKCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU9iamVjdChvYmplY3Q6IGFueSk6IExhenlKc29uU3RyaW5nIHtcbiAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgTGF6eUpzb25TdHJpbmcpIHtcbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfSBlbHNlIGlmIChvYmplY3QgaW5zdGFuY2VvZiBTdHJpbmcgfHwgdHlwZW9mIG9iamVjdCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIG5ldyBMYXp5SnNvblN0cmluZyhvYmplY3QpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExhenlKc29uU3RyaW5nKEpTT04uc3RyaW5naWZ5KG9iamVjdCkpO1xuICB9XG59XG4iXX0=","/**\n * Builds a proper UTC HttpDate timestamp from a Date object\n * since not all environments will have this as the expected\n * format.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\n * > Prior to ECMAScript 2018, the format of the return value\n * > varied according to the platform. The most common return\n * > value was an RFC-1123 formatted date stamp, which is a\n * > slightly updated version of RFC-822 date stamps.\n */\n// Build indexes outside so we allocate them once.\nvar days = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n// prettier-ignore\nvar months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n var year = date.getUTCFullYear();\n var month = date.getUTCMonth();\n var dayOfWeek = date.getUTCDay();\n var dayOfMonthInt = date.getUTCDate();\n var hoursInt = date.getUTCHours();\n var minutesInt = date.getUTCMinutes();\n var secondsInt = date.getUTCSeconds();\n // Build 0 prefixed strings for contents that need to be\n // two digits and where we get an integer back.\n var dayOfMonthString = dayOfMonthInt < 10 ? \"0\" + dayOfMonthInt : \"\" + dayOfMonthInt;\n var hoursString = hoursInt < 10 ? \"0\" + hoursInt : \"\" + hoursInt;\n var minutesString = minutesInt < 10 ? \"0\" + minutesInt : \"\" + minutesInt;\n var secondsString = secondsInt < 10 ? \"0\" + secondsInt : \"\" + secondsInt;\n return days[dayOfWeek] + \", \" + dayOfMonthString + \" \" + months[month] + \" \" + year + \" \" + hoursString + \":\" + minutesString + \":\" + secondsString + \" GMT\";\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCxrREFBa0Q7QUFDbEQsSUFBTSxJQUFJLEdBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDOUUsa0JBQWtCO0FBQ2xCLElBQU0sTUFBTSxHQUFrQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFbkgsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFVO0lBQ3hDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuQyxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25DLElBQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4QyxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hDLElBQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUV4Qyx3REFBd0Q7SUFDeEQsK0NBQStDO0lBQy9DLElBQU0sZ0JBQWdCLEdBQUcsYUFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBSSxhQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUcsYUFBZSxDQUFDO0lBQ3ZGLElBQU0sV0FBVyxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQUksUUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFHLFFBQVUsQ0FBQztJQUNuRSxJQUFNLGFBQWEsR0FBRyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFJLFVBQVksQ0FBQyxDQUFDLENBQUMsS0FBRyxVQUFZLENBQUM7SUFDM0UsSUFBTSxhQUFhLEdBQUcsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBSSxVQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUcsVUFBWSxDQUFDO0lBRTNFLE9BQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFLLGdCQUFnQixTQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBSSxJQUFJLFNBQUksV0FBVyxTQUFJLGFBQWEsU0FBSSxhQUFhLFNBQU0sQ0FBQztBQUNqSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCdWlsZHMgYSBwcm9wZXIgVVRDIEh0dHBEYXRlIHRpbWVzdGFtcCBmcm9tIGEgRGF0ZSBvYmplY3RcbiAqIHNpbmNlIG5vdCBhbGwgZW52aXJvbm1lbnRzIHdpbGwgaGF2ZSB0aGlzIGFzIHRoZSBleHBlY3RlZFxuICogZm9ybWF0LlxuICpcbiAqIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZS90b1VUQ1N0cmluZ1xuICogPiBQcmlvciB0byBFQ01BU2NyaXB0IDIwMTgsIHRoZSBmb3JtYXQgb2YgdGhlIHJldHVybiB2YWx1ZVxuICogPiB2YXJpZWQgYWNjb3JkaW5nIHRvIHRoZSBwbGF0Zm9ybS4gVGhlIG1vc3QgY29tbW9uIHJldHVyblxuICogPiB2YWx1ZSB3YXMgYW4gUkZDLTExMjMgZm9ybWF0dGVkIGRhdGUgc3RhbXAsIHdoaWNoIGlzIGFcbiAqID4gc2xpZ2h0bHkgdXBkYXRlZCB2ZXJzaW9uIG9mIFJGQy04MjIgZGF0ZSBzdGFtcHMuXG4gKi9cblxuLy8gQnVpbGQgaW5kZXhlcyBvdXRzaWRlIHNvIHdlIGFsbG9jYXRlIHRoZW0gb25jZS5cbmNvbnN0IGRheXM6IEFycmF5PFN0cmluZz4gPSBbXCJTdW5cIiwgXCJNb25cIiwgXCJUdWVcIiwgXCJXZWRcIiwgXCJUaHVcIiwgXCJGcmlcIiwgXCJTYXRcIl07XG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IG1vbnRoczogQXJyYXk8U3RyaW5nPiA9IFtcIkphblwiLCBcIkZlYlwiLCBcIk1hclwiLCBcIkFwclwiLCBcIk1heVwiLCBcIkp1blwiLCBcIkp1bFwiLCBcIkF1Z1wiLCBcIlNlcFwiLCBcIk9jdFwiLCBcIk5vdlwiLCBcIkRlY1wiXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVUb1V0Y1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcbiAgY29uc3QgbW9udGggPSBkYXRlLmdldFVUQ01vbnRoKCk7XG4gIGNvbnN0IGRheU9mV2VlayA9IGRhdGUuZ2V0VVRDRGF5KCk7XG4gIGNvbnN0IGRheU9mTW9udGhJbnQgPSBkYXRlLmdldFVUQ0RhdGUoKTtcbiAgY29uc3QgaG91cnNJbnQgPSBkYXRlLmdldFVUQ0hvdXJzKCk7XG4gIGNvbnN0IG1pbnV0ZXNJbnQgPSBkYXRlLmdldFVUQ01pbnV0ZXMoKTtcbiAgY29uc3Qgc2Vjb25kc0ludCA9IGRhdGUuZ2V0VVRDU2Vjb25kcygpO1xuXG4gIC8vIEJ1aWxkIDAgcHJlZml4ZWQgc3RyaW5ncyBmb3IgY29udGVudHMgdGhhdCBuZWVkIHRvIGJlXG4gIC8vIHR3byBkaWdpdHMgYW5kIHdoZXJlIHdlIGdldCBhbiBpbnRlZ2VyIGJhY2suXG4gIGNvbnN0IGRheU9mTW9udGhTdHJpbmcgPSBkYXlPZk1vbnRoSW50IDwgMTAgPyBgMCR7ZGF5T2ZNb250aEludH1gIDogYCR7ZGF5T2ZNb250aEludH1gO1xuICBjb25zdCBob3Vyc1N0cmluZyA9IGhvdXJzSW50IDwgMTAgPyBgMCR7aG91cnNJbnR9YCA6IGAke2hvdXJzSW50fWA7XG4gIGNvbnN0IG1pbnV0ZXNTdHJpbmcgPSBtaW51dGVzSW50IDwgMTAgPyBgMCR7bWludXRlc0ludH1gIDogYCR7bWludXRlc0ludH1gO1xuICBjb25zdCBzZWNvbmRzU3RyaW5nID0gc2Vjb25kc0ludCA8IDEwID8gYDAke3NlY29uZHNJbnR9YCA6IGAke3NlY29uZHNJbnR9YDtcblxuICByZXR1cm4gYCR7ZGF5c1tkYXlPZldlZWtdfSwgJHtkYXlPZk1vbnRoU3RyaW5nfSAke21vbnRoc1ttb250aF19ICR7eWVhcn0gJHtob3Vyc1N0cmluZ306JHttaW51dGVzU3RyaW5nfToke3NlY29uZHNTdHJpbmd9IEdNVGA7XG59XG4iXX0=","export var SENSITIVE_STRING = \"***SensitiveInformation***\";\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTRU5TSVRJVkVfU1RSSU5HID0gXCIqKipTZW5zaXRpdmVJbmZvcm1hdGlvbioqKlwiO1xuIl19","import { __read, __values } from \"tslib\";\nexport function parseQueryString(querystring) {\n var e_1, _a;\n var query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n try {\n for (var _b = __values(querystring.split(\"&\")), _c = _b.next(); !_c.done; _c = _b.next()) {\n var pair = _c.value;\n var _d = __read(pair.split(\"=\"), 2), key = _d[0], _e = _d[1], value = _e === void 0 ? null : _e;\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n return query;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxXQUFtQjs7SUFDbEQsSUFBTSxLQUFLLEdBQXNCLEVBQUUsQ0FBQztJQUNwQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFN0MsSUFBSSxXQUFXLEVBQUU7O1lBQ2YsS0FBbUIsSUFBQSxLQUFBLFNBQUEsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtnQkFBdEMsSUFBTSxJQUFJLFdBQUE7Z0JBQ1QsSUFBQSxLQUFBLE9BQXNCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUEsRUFBcEMsR0FBRyxRQUFBLEVBQUUsVUFBWSxFQUFaLEtBQUssbUJBQUcsSUFBSSxLQUFtQixDQUFDO2dCQUMxQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLElBQUksS0FBSyxFQUFFO29CQUNULEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbkM7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFO29CQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNwQjtxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ25DLEtBQUssQ0FBQyxHQUFHLENBQW1CLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxDQUFDO2lCQUNyRDtxQkFBTTtvQkFDTCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFXLEVBQUUsS0FBZSxDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7Ozs7Ozs7OztLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlQYXJhbWV0ZXJCYWcgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUXVlcnlTdHJpbmcocXVlcnlzdHJpbmc6IHN0cmluZyk6IFF1ZXJ5UGFyYW1ldGVyQmFnIHtcbiAgY29uc3QgcXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnID0ge307XG4gIHF1ZXJ5c3RyaW5nID0gcXVlcnlzdHJpbmcucmVwbGFjZSgvXlxcPy8sIFwiXCIpO1xuXG4gIGlmIChxdWVyeXN0cmluZykge1xuICAgIGZvciAoY29uc3QgcGFpciBvZiBxdWVyeXN0cmluZy5zcGxpdChcIiZcIikpIHtcbiAgICAgIGxldCBba2V5LCB2YWx1ZSA9IG51bGxdID0gcGFpci5zcGxpdChcIj1cIik7XG4gICAgICBrZXkgPSBkZWNvZGVVUklDb21wb25lbnQoa2V5KTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAoIShrZXkgaW4gcXVlcnkpKSB7XG4gICAgICAgIHF1ZXJ5W2tleV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShxdWVyeVtrZXldKSkge1xuICAgICAgICAocXVlcnlba2V5XSBhcyBBcnJheTxzdHJpbmc+KS5wdXNoKHZhbHVlIGFzIHN0cmluZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWVyeVtrZXldID0gW3F1ZXJ5W2tleV0gYXMgc3RyaW5nLCB2YWx1ZSBhcyBzdHJpbmddO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWVyeTtcbn1cbiJdfQ==","import { parseQueryString } from \"@aws-sdk/querystring-parser\";\nexport var parseUrl = function (url) {\n var _a = new URL(url), hostname = _a.hostname, pathname = _a.pathname, port = _a.port, protocol = _a.protocol, search = _a.search;\n var query;\n if (search) {\n query = parseQueryString(search);\n }\n return {\n hostname: hostname,\n port: port ? parseInt(port) : undefined,\n protocol: protocol,\n path: pathname,\n query: query,\n };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHL0QsTUFBTSxDQUFDLElBQU0sUUFBUSxHQUFjLFVBQUMsR0FBVztJQUN2QyxJQUFBLEtBQWlELElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUEzRCxRQUFRLGNBQUEsRUFBRSxRQUFRLGNBQUEsRUFBRSxJQUFJLFVBQUEsRUFBRSxRQUFRLGNBQUEsRUFBRSxNQUFNLFlBQWlCLENBQUM7SUFFcEUsSUFBSSxLQUFvQyxDQUFDO0lBQ3pDLElBQUksTUFBTSxFQUFFO1FBQ1YsS0FBSyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xDO0lBRUQsT0FBTztRQUNMLFFBQVEsVUFBQTtRQUNSLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUN2QyxRQUFRLFVBQUE7UUFDUixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssT0FBQTtLQUNOLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZVF1ZXJ5U3RyaW5nIH0gZnJvbSBcIkBhd3Mtc2RrL3F1ZXJ5c3RyaW5nLXBhcnNlclwiO1xuaW1wb3J0IHsgRW5kcG9pbnQsIFF1ZXJ5UGFyYW1ldGVyQmFnLCBVcmxQYXJzZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVXJsOiBVcmxQYXJzZXIgPSAodXJsOiBzdHJpbmcpOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IHsgaG9zdG5hbWUsIHBhdGhuYW1lLCBwb3J0LCBwcm90b2NvbCwgc2VhcmNoIH0gPSBuZXcgVVJMKHVybCk7XG5cbiAgbGV0IHF1ZXJ5OiBRdWVyeVBhcmFtZXRlckJhZyB8IHVuZGVmaW5lZDtcbiAgaWYgKHNlYXJjaCkge1xuICAgIHF1ZXJ5ID0gcGFyc2VRdWVyeVN0cmluZyhzZWFyY2gpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBob3N0bmFtZSxcbiAgICBwb3J0OiBwb3J0ID8gcGFyc2VJbnQocG9ydCkgOiB1bmRlZmluZWQsXG4gICAgcHJvdG9jb2wsXG4gICAgcGF0aDogcGF0aG5hbWUsXG4gICAgcXVlcnksXG4gIH07XG59O1xuIl19","var alphabetByEncoding = {};\nvar alphabetByValue = new Array(64);\nfor (var i = 0, start = \"A\".charCodeAt(0), limit = \"Z\".charCodeAt(0); i + start <= limit; i++) {\n var char = String.fromCharCode(i + start);\n alphabetByEncoding[char] = i;\n alphabetByValue[i] = char;\n}\nfor (var i = 0, start = \"a\".charCodeAt(0), limit = \"z\".charCodeAt(0); i + start <= limit; i++) {\n var char = String.fromCharCode(i + start);\n var index = i + 26;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nfor (var i = 0; i < 10; i++) {\n alphabetByEncoding[i.toString(10)] = i + 52;\n var char = i.toString(10);\n var index = i + 52;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nalphabetByEncoding[\"+\"] = 62;\nalphabetByValue[62] = \"+\";\nalphabetByEncoding[\"/\"] = 63;\nalphabetByValue[63] = \"/\";\nvar bitsPerLetter = 6;\nvar bitsPerByte = 8;\nvar maxLetterValue = 63;\n/**\n * Converts a base-64 encoded string to a Uint8Array of bytes.\n *\n * @param input The base-64 encoded string\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function fromBase64(input) {\n var totalByteLength = (input.length / 4) * 3;\n if (input.substr(-2) === \"==\") {\n totalByteLength -= 2;\n }\n else if (input.substr(-1) === \"=\") {\n totalByteLength--;\n }\n var out = new ArrayBuffer(totalByteLength);\n var dataView = new DataView(out);\n for (var i = 0; i < input.length; i += 4) {\n var bits = 0;\n var bitLength = 0;\n for (var j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n }\n else {\n bits >>= bitsPerLetter;\n }\n }\n var chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n var byteLength = Math.floor(bitLength / bitsPerByte);\n for (var k = 0; k < byteLength; k++) {\n var offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n return new Uint8Array(out);\n}\n/**\n * Converts a Uint8Array of binary data to a base-64 encoded string.\n *\n * @param input The binary data to encode\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function toBase64(input) {\n var str = \"\";\n for (var i = 0; i < input.length; i += 3) {\n var bits = 0;\n var bitLength = 0;\n for (var j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n var bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (var k = 1; k <= bitClusterCount; k++) {\n var offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n return str;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxrQkFBa0IsR0FBOEIsRUFBRSxDQUFDO0FBQ3pELElBQU0sZUFBZSxHQUFrQixJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVyRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUM3RixJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUM1QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztDQUMzQjtBQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzdGLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQzVDLElBQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDckIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDL0I7QUFFRCxLQUFLLElBQUksQ0FB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QyxDQUFDLElBQUksR0FBRyxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztLQUMzQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFscGhhYmV0QnlFbmNvZGluZzogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuY29uc3QgYWxwaGFiZXRCeVZhbHVlOiBBcnJheTxzdHJpbmc+ID0gbmV3IEFycmF5KDY0KTtcblxuZm9yIChsZXQgaSA9IDAsIHN0YXJ0ID0gXCJBXCIuY2hhckNvZGVBdCgwKSwgbGltaXQgPSBcIlpcIi5jaGFyQ29kZUF0KDApOyBpICsgc3RhcnQgPD0gbGltaXQ7IGkrKykge1xuICBjb25zdCBjaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpICsgc3RhcnQpO1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbY2hhcl0gPSBpO1xuICBhbHBoYWJldEJ5VmFsdWVbaV0gPSBjaGFyO1xufVxuXG5mb3IgKGxldCBpID0gMCwgc3RhcnQgPSBcImFcIi5jaGFyQ29kZUF0KDApLCBsaW1pdCA9IFwielwiLmNoYXJDb2RlQXQoMCk7IGkgKyBzdGFydCA8PSBsaW1pdDsgaSsrKSB7XG4gIGNvbnN0IGNoYXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkgKyBzdGFydCk7XG4gIGNvbnN0IGluZGV4ID0gaSArIDI2O1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbY2hhcl0gPSBpbmRleDtcbiAgYWxwaGFiZXRCeVZhbHVlW2luZGV4XSA9IGNoYXI7XG59XG5cbmZvciAobGV0IGkgPSAwOyBpIDwgMTA7IGkrKykge1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbaS50b1N0cmluZygxMCldID0gaSArIDUyO1xuICBjb25zdCBjaGFyID0gaS50b1N0cmluZygxMCk7XG4gIGNvbnN0IGluZGV4ID0gaSArIDUyO1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbY2hhcl0gPSBpbmRleDtcbiAgYWxwaGFiZXRCeVZhbHVlW2luZGV4XSA9IGNoYXI7XG59XG5cbmFscGhhYmV0QnlFbmNvZGluZ1tcIitcIl0gPSA2MjtcbmFscGhhYmV0QnlWYWx1ZVs2Ml0gPSBcIitcIjtcbmFscGhhYmV0QnlFbmNvZGluZ1tcIi9cIl0gPSA2MztcbmFscGhhYmV0QnlWYWx1ZVs2M10gPSBcIi9cIjtcblxuY29uc3QgYml0c1BlckxldHRlciA9IDY7XG5jb25zdCBiaXRzUGVyQnl0ZSA9IDg7XG5jb25zdCBtYXhMZXR0ZXJWYWx1ZSA9IDBiMTExMTExO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgYmFzZS02NCBlbmNvZGVkIHN0cmluZyB0byBhIFVpbnQ4QXJyYXkgb2YgYnl0ZXMuXG4gKlxuICogQHBhcmFtIGlucHV0IFRoZSBiYXNlLTY0IGVuY29kZWQgc3RyaW5nXG4gKlxuICogQHNlZSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNDY0OCNzZWN0aW9uLTRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21CYXNlNjQoaW5wdXQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBsZXQgdG90YWxCeXRlTGVuZ3RoID0gKGlucHV0Lmxlbmd0aCAvIDQpICogMztcbiAgaWYgKGlucHV0LnN1YnN0cigtMikgPT09IFwiPT1cIikge1xuICAgIHRvdGFsQnl0ZUxlbmd0aCAtPSAyO1xuICB9IGVsc2UgaWYgKGlucHV0LnN1YnN0cigtMSkgPT09IFwiPVwiKSB7XG4gICAgdG90YWxCeXRlTGVuZ3RoLS07XG4gIH1cbiAgY29uc3Qgb3V0ID0gbmV3IEFycmF5QnVmZmVyKHRvdGFsQnl0ZUxlbmd0aCk7XG4gIGNvbnN0IGRhdGFWaWV3ID0gbmV3IERhdGFWaWV3KG91dCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpICs9IDQpIHtcbiAgICBsZXQgYml0cyA9IDA7XG4gICAgbGV0IGJpdExlbmd0aCA9IDA7XG4gICAgZm9yIChsZXQgaiA9IGksIGxpbWl0ID0gaSArIDM7IGogPD0gbGltaXQ7IGorKykge1xuICAgICAgaWYgKGlucHV0W2pdICE9PSBcIj1cIikge1xuICAgICAgICBiaXRzIHw9IGFscGhhYmV0QnlFbmNvZGluZ1tpbnB1dFtqXV0gPDwgKChsaW1pdCAtIGopICogYml0c1BlckxldHRlcik7XG4gICAgICAgIGJpdExlbmd0aCArPSBiaXRzUGVyTGV0dGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYml0cyA+Pj0gYml0c1BlckxldHRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjaHVua09mZnNldCA9IChpIC8gNCkgKiAzO1xuICAgIGJpdHMgPj49IGJpdExlbmd0aCAlIGJpdHNQZXJCeXRlO1xuICAgIGNvbnN0IGJ5dGVMZW5ndGggPSBNYXRoLmZsb29yKGJpdExlbmd0aCAvIGJpdHNQZXJCeXRlKTtcbiAgICBmb3IgKGxldCBrID0gMDsgayA8IGJ5dGVMZW5ndGg7IGsrKykge1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gKGJ5dGVMZW5ndGggLSBrIC0gMSkgKiBiaXRzUGVyQnl0ZTtcbiAgICAgIGRhdGFWaWV3LnNldFVpbnQ4KGNodW5rT2Zmc2V0ICsgaywgKGJpdHMgJiAoMjU1IDw8IG9mZnNldCkpID4+IG9mZnNldCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KG91dCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBVaW50OEFycmF5IG9mIGJpbmFyeSBkYXRhIHRvIGEgYmFzZS02NCBlbmNvZGVkIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gaW5wdXQgVGhlIGJpbmFyeSBkYXRhIHRvIGVuY29kZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzQ2NDgjc2VjdGlvbi00XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2U2NChpbnB1dDogVWludDhBcnJheSk6IHN0cmluZyB7XG4gIGxldCBzdHIgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSArPSAzKSB7XG4gICAgbGV0IGJpdHMgPSAwO1xuICAgIGxldCBiaXRMZW5ndGggPSAwO1xuICAgIGZvciAobGV0IGogPSBpLCBsaW1pdCA9IE1hdGgubWluKGkgKyAzLCBpbnB1dC5sZW5ndGgpOyBqIDwgbGltaXQ7IGorKykge1xuICAgICAgYml0cyB8PSBpbnB1dFtqXSA8PCAoKGxpbWl0IC0gaiAtIDEpICogYml0c1BlckJ5dGUpO1xuICAgICAgYml0TGVuZ3RoICs9IGJpdHNQZXJCeXRlO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdENsdXN0ZXJDb3VudCA9IE1hdGguY2VpbChiaXRMZW5ndGggLyBiaXRzUGVyTGV0dGVyKTtcbiAgICBiaXRzIDw8PSBiaXRDbHVzdGVyQ291bnQgKiBiaXRzUGVyTGV0dGVyIC0gYml0TGVuZ3RoO1xuICAgIGZvciAobGV0IGsgPSAxOyBrIDw9IGJpdENsdXN0ZXJDb3VudDsgaysrKSB7XG4gICAgICBjb25zdCBvZmZzZXQgPSAoYml0Q2x1c3RlckNvdW50IC0gaykgKiBiaXRzUGVyTGV0dGVyO1xuICAgICAgc3RyICs9IGFscGhhYmV0QnlWYWx1ZVsoYml0cyAmIChtYXhMZXR0ZXJWYWx1ZSA8PCBvZmZzZXQpKSA+PiBvZmZzZXRdO1xuICAgIH1cblxuICAgIHN0ciArPSBcIj09XCIuc2xpY2UoMCwgNCAtIGJpdENsdXN0ZXJDb3VudCk7XG4gIH1cblxuICByZXR1cm4gc3RyO1xufVxuIl19","export function calculateBodyLength(body) {\n if (typeof body === \"string\") {\n var len = body.length;\n for (var i = len - 1; i >= 0; i--) {\n var code = body.charCodeAt(i);\n if (code > 0x7f && code <= 0x7ff)\n len++;\n else if (code > 0x7ff && code <= 0xffff)\n len += 2;\n }\n return len;\n }\n else if (typeof body.byteLength === \"number\") {\n // handles Uint8Array, ArrayBuffer, Buffer, and ArrayBufferView\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n // handles browser File object\n return body.size;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQVM7SUFDM0MsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV0QixLQUFLLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksS0FBSztnQkFBRSxHQUFHLEVBQUUsQ0FBQztpQkFDbkMsSUFBSSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNO2dCQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLEdBQUcsQ0FBQztLQUNaO1NBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO1FBQzlDLCtEQUErRDtRQUMvRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDeEI7U0FBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDeEMsOEJBQThCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztLQUNsQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQm9keUxlbmd0aChib2R5OiBhbnkpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIGJvZHkgPT09IFwic3RyaW5nXCIpIHtcbiAgICBsZXQgbGVuID0gYm9keS5sZW5ndGg7XG5cbiAgICBmb3IgKGxldCBpID0gbGVuIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGNvbnN0IGNvZGUgPSBib2R5LmNoYXJDb2RlQXQoaSk7XG4gICAgICBpZiAoY29kZSA+IDB4N2YgJiYgY29kZSA8PSAweDdmZikgbGVuKys7XG4gICAgICBlbHNlIGlmIChjb2RlID4gMHg3ZmYgJiYgY29kZSA8PSAweGZmZmYpIGxlbiArPSAyO1xuICAgIH1cblxuICAgIHJldHVybiBsZW47XG4gIH0gZWxzZSBpZiAodHlwZW9mIGJvZHkuYnl0ZUxlbmd0aCA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIGhhbmRsZXMgVWludDhBcnJheSwgQXJyYXlCdWZmZXIsIEJ1ZmZlciwgYW5kIEFycmF5QnVmZmVyVmlld1xuICAgIHJldHVybiBib2R5LmJ5dGVMZW5ndGg7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGJvZHkuc2l6ZSA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIGhhbmRsZXMgYnJvd3NlciBGaWxlIG9iamVjdFxuICAgIHJldHVybiBib2R5LnNpemU7XG4gIH1cbn1cbiJdfQ==","var SHORT_TO_HEX = {};\nvar HEX_TO_SHORT = {};\nfor (var i = 0; i < 256; i++) {\n var encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = \"0\" + encodedByte;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\n/**\n * Converts a hexadecimal encoded string to a Uint8Array of bytes.\n *\n * @param encoded The hexadecimal encoded string\n */\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n var out = new Uint8Array(encoded.length / 2);\n for (var i = 0; i < encoded.length; i += 2) {\n var encodedByte = encoded.substr(i, 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(\"Cannot decode unrecognized sequence \" + encodedByte + \" as hexadecimal\");\n }\n }\n return out;\n}\n/**\n * Converts a Uint8Array of binary data to a hexadecimal encoded string.\n *\n * @param bytes The binary data to encode\n */\nexport function toHex(bytes) {\n var out = \"\";\n for (var i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxZQUFZLEdBQThCLEVBQUUsQ0FBQztBQUNuRCxJQUFNLFlBQVksR0FBOEIsRUFBRSxDQUFDO0FBRW5ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDNUIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQzVCLFdBQVcsR0FBRyxNQUFJLFdBQWEsQ0FBQztLQUNqQztJQUVELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7SUFDOUIsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMvQjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLE9BQWU7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsSUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFDLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZELElBQUksV0FBVyxJQUFJLFlBQVksRUFBRTtZQUMvQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBdUMsV0FBVyxvQkFBaUIsQ0FBQyxDQUFDO1NBQ3RGO0tBQ0Y7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxLQUFpQjtJQUNyQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6QyxHQUFHLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU0hPUlRfVE9fSEVYOiB7IFtrZXk6IG51bWJlcl06IHN0cmluZyB9ID0ge307XG5jb25zdCBIRVhfVE9fU0hPUlQ6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuZm9yIChsZXQgaSA9IDA7IGkgPCAyNTY7IGkrKykge1xuICBsZXQgZW5jb2RlZEJ5dGUgPSBpLnRvU3RyaW5nKDE2KS50b0xvd2VyQ2FzZSgpO1xuICBpZiAoZW5jb2RlZEJ5dGUubGVuZ3RoID09PSAxKSB7XG4gICAgZW5jb2RlZEJ5dGUgPSBgMCR7ZW5jb2RlZEJ5dGV9YDtcbiAgfVxuXG4gIFNIT1JUX1RPX0hFWFtpXSA9IGVuY29kZWRCeXRlO1xuICBIRVhfVE9fU0hPUlRbZW5jb2RlZEJ5dGVdID0gaTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGhleGFkZWNpbWFsIGVuY29kZWQgc3RyaW5nIHRvIGEgVWludDhBcnJheSBvZiBieXRlcy5cbiAqXG4gKiBAcGFyYW0gZW5jb2RlZCBUaGUgaGV4YWRlY2ltYWwgZW5jb2RlZCBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21IZXgoZW5jb2RlZDogc3RyaW5nKTogVWludDhBcnJheSB7XG4gIGlmIChlbmNvZGVkLmxlbmd0aCAlIDIgIT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJIZXggZW5jb2RlZCBzdHJpbmdzIG11c3QgaGF2ZSBhbiBldmVuIG51bWJlciBsZW5ndGhcIik7XG4gIH1cblxuICBjb25zdCBvdXQgPSBuZXcgVWludDhBcnJheShlbmNvZGVkLmxlbmd0aCAvIDIpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGVuY29kZWQubGVuZ3RoOyBpICs9IDIpIHtcbiAgICBjb25zdCBlbmNvZGVkQnl0ZSA9IGVuY29kZWQuc3Vic3RyKGksIDIpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGVuY29kZWRCeXRlIGluIEhFWF9UT19TSE9SVCkge1xuICAgICAgb3V0W2kgLyAyXSA9IEhFWF9UT19TSE9SVFtlbmNvZGVkQnl0ZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGRlY29kZSB1bnJlY29nbml6ZWQgc2VxdWVuY2UgJHtlbmNvZGVkQnl0ZX0gYXMgaGV4YWRlY2ltYWxgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgVWludDhBcnJheSBvZiBiaW5hcnkgZGF0YSB0byBhIGhleGFkZWNpbWFsIGVuY29kZWQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBieXRlcyBUaGUgYmluYXJ5IGRhdGEgdG8gZW5jb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0hleChieXRlczogVWludDhBcnJheSk6IHN0cmluZyB7XG4gIGxldCBvdXQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVzLmJ5dGVMZW5ndGg7IGkrKykge1xuICAgIG91dCArPSBTSE9SVF9UT19IRVhbYnl0ZXNbaV1dO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cbiJdfQ==","var fallbackWindow = {};\nexport function locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\n","export var escapeUri = function (uri) {\n // AWS percent-encodes some extra non-standard characters in a URI\n return encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n};\nvar hexEncode = function (c) { return \"%\" + c.charCodeAt(0).toString(16).toUpperCase(); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLXVyaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lc2NhcGUtdXJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFNLFNBQVMsR0FBRyxVQUFDLEdBQVc7SUFDbkMsa0VBQWtFO0lBQ2xFLE9BQUEsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7QUFBdEQsQ0FBc0QsQ0FBQztBQUV6RCxJQUFNLFNBQVMsR0FBRyxVQUFDLENBQVMsSUFBSyxPQUFBLE1BQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFJLEVBQWhELENBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZXNjYXBlVXJpID0gKHVyaTogc3RyaW5nKTogc3RyaW5nID0+XG4gIC8vIEFXUyBwZXJjZW50LWVuY29kZXMgc29tZSBleHRyYSBub24tc3RhbmRhcmQgY2hhcmFjdGVycyBpbiBhIFVSSVxuICBlbmNvZGVVUklDb21wb25lbnQodXJpKS5yZXBsYWNlKC9bIScoKSpdL2csIGhleEVuY29kZSk7XG5cbmNvbnN0IGhleEVuY29kZSA9IChjOiBzdHJpbmcpID0+IGAlJHtjLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9YDtcbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport bowser from \"bowser\";\n/**\n * Default provider to the user agent in browsers. It's a best effort to infer\n * the device information. It uses bowser library to detect the browser and virsion\n */\nexport var defaultUserAgent = function (_a) {\n var serviceId = _a.serviceId, clientVersion = _a.clientVersion;\n return function () { return __awaiter(void 0, void 0, void 0, function () {\n var parsedUA, sections;\n var _a, _b, _c, _d, _e, _f, _g;\n return __generator(this, function (_h) {\n parsedUA = ((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) ? bowser.parse(window.navigator.userAgent) : undefined;\n sections = [\n // sdk-metadata\n [\"aws-sdk-js\", clientVersion],\n // os-metadata\n [\"os/\" + (((_b = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.os) === null || _b === void 0 ? void 0 : _b.name) || \"other\"), (_c = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.os) === null || _c === void 0 ? void 0 : _c.version],\n // language-metadata\n // ECMAScript edition doesn't matter in JS.\n [\"lang/js\"],\n // browser vendor and version.\n [\"md/browser\", ((_e = (_d = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.browser) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : \"unknown\") + \"_\" + ((_g = (_f = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.browser) === null || _f === void 0 ? void 0 : _f.version) !== null && _g !== void 0 ? _g : \"unknown\")],\n ];\n if (serviceId) {\n // api-metadata\n // service Id may not appear in non-AWS clients\n sections.push([\"api/\" + serviceId, clientVersion]);\n }\n return [2 /*return*/, sections];\n });\n }); };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUk1Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxVQUFDLEVBR1A7UUFGeEIsU0FBUyxlQUFBLEVBQ1QsYUFBYSxtQkFBQTtJQUNxQyxPQUFBOzs7O1lBQzVDLFFBQVEsR0FBRyxPQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxTQUFTLDBDQUFFLFNBQVMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0YsUUFBUSxHQUFjO2dCQUMxQixlQUFlO2dCQUNmLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztnQkFDN0IsY0FBYztnQkFDZCxDQUFDLFNBQU0sT0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsRUFBRSwwQ0FBRSxJQUFJLEtBQUksT0FBTyxDQUFFLFFBQUUsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLEVBQUUsMENBQUUsT0FBTyxDQUFDO2dCQUM5RCxvQkFBb0I7Z0JBQ3BCLDJDQUEyQztnQkFDM0MsQ0FBQyxTQUFTLENBQUM7Z0JBQ1gsOEJBQThCO2dCQUM5QixDQUFDLFlBQVksRUFBRSxhQUFHLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxPQUFPLDBDQUFFLElBQUksbUNBQUksU0FBUyx1QkFBSSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsT0FBTywwQ0FBRSxPQUFPLG1DQUFJLFNBQVMsQ0FBRSxDQUFDO2FBQ3JHLENBQUM7WUFFRixJQUFJLFNBQVMsRUFBRTtnQkFDYixlQUFlO2dCQUNmLCtDQUErQztnQkFDL0MsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQU8sU0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7YUFDcEQ7WUFFRCxzQkFBTyxRQUFRLEVBQUM7O1NBQ2pCO0FBckJtRCxDQXFCbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyLCBVc2VyQWdlbnQgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCBib3dzZXIgZnJvbSBcImJvd3NlclwiO1xuXG5pbXBvcnQgeyBEZWZhdWx0VXNlckFnZW50T3B0aW9ucyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5cbi8qKlxuICogRGVmYXVsdCBwcm92aWRlciB0byB0aGUgdXNlciBhZ2VudCBpbiBicm93c2Vycy4gSXQncyBhIGJlc3QgZWZmb3J0IHRvIGluZmVyXG4gKiB0aGUgZGV2aWNlIGluZm9ybWF0aW9uLiBJdCB1c2VzIGJvd3NlciBsaWJyYXJ5IHRvIGRldGVjdCB0aGUgYnJvd3NlciBhbmQgdmlyc2lvblxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdFVzZXJBZ2VudCA9ICh7XG4gIHNlcnZpY2VJZCxcbiAgY2xpZW50VmVyc2lvbixcbn06IERlZmF1bHRVc2VyQWdlbnRPcHRpb25zKTogUHJvdmlkZXI8VXNlckFnZW50PiA9PiBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBhcnNlZFVBID0gd2luZG93Py5uYXZpZ2F0b3I/LnVzZXJBZ2VudCA/IGJvd3Nlci5wYXJzZSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHNlY3Rpb25zOiBVc2VyQWdlbnQgPSBbXG4gICAgLy8gc2RrLW1ldGFkYXRhXG4gICAgW1wiYXdzLXNkay1qc1wiLCBjbGllbnRWZXJzaW9uXSxcbiAgICAvLyBvcy1tZXRhZGF0YVxuICAgIFtgb3MvJHtwYXJzZWRVQT8ub3M/Lm5hbWUgfHwgXCJvdGhlclwifWAsIHBhcnNlZFVBPy5vcz8udmVyc2lvbl0sXG4gICAgLy8gbGFuZ3VhZ2UtbWV0YWRhdGFcbiAgICAvLyBFQ01BU2NyaXB0IGVkaXRpb24gZG9lc24ndCBtYXR0ZXIgaW4gSlMuXG4gICAgW1wibGFuZy9qc1wiXSxcbiAgICAvLyBicm93c2VyIHZlbmRvciBhbmQgdmVyc2lvbi5cbiAgICBbXCJtZC9icm93c2VyXCIsIGAke3BhcnNlZFVBPy5icm93c2VyPy5uYW1lID8/IFwidW5rbm93blwifV8ke3BhcnNlZFVBPy5icm93c2VyPy52ZXJzaW9uID8/IFwidW5rbm93blwifWBdLFxuICBdO1xuXG4gIGlmIChzZXJ2aWNlSWQpIHtcbiAgICAvLyBhcGktbWV0YWRhdGFcbiAgICAvLyBzZXJ2aWNlIElkIG1heSBub3QgYXBwZWFyIGluIG5vbi1BV1MgY2xpZW50c1xuICAgIHNlY3Rpb25zLnB1c2goW2BhcGkvJHtzZXJ2aWNlSWR9YCwgY2xpZW50VmVyc2lvbl0pO1xuICB9XG5cbiAgcmV0dXJuIHNlY3Rpb25zO1xufTtcbiJdfQ==","/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nexport var fromUtf8 = function (input) {\n var bytes = [];\n for (var i = 0, len = input.length; i < len; i++) {\n var value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 192, (value & 63) | 128);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n var surrogatePair = 0x10000 + ((value & 1023) << 10) + (input.charCodeAt(++i) & 1023);\n bytes.push((surrogatePair >> 18) | 240, ((surrogatePair >> 12) & 63) | 128, ((surrogatePair >> 6) & 63) | 128, (surrogatePair & 63) | 128);\n }\n else {\n bytes.push((value >> 12) | 224, ((value >> 6) & 63) | 128, (value & 63) | 128);\n }\n }\n return Uint8Array.from(bytes);\n};\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nexport var toUtf8 = function (input) {\n var decoded = \"\";\n for (var i = 0, len = input.length; i < len; i++) {\n var byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (192 <= byte && byte < 224) {\n var nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 31) << 6) | (nextByte & 63));\n }\n else if (240 <= byte && byte < 365) {\n var surrogatePair = [byte, input[++i], input[++i], input[++i]];\n var encoded = \"%\" + surrogatePair.map(function (byteValue) { return byteValue.toString(16); }).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 15) << 12) | ((input[++i] & 63) << 6) | (input[++i] & 63));\n }\n }\n return decoded;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZUpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1cmVKcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxRQUFRLEdBQUcsVUFBQyxLQUFhO0lBQ3BDLElBQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRTtZQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBVSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTSxFQUFFO1lBQy9HLElBQU0sYUFBYSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQVksQ0FBQyxDQUFDO1lBQ3hHLEtBQUssQ0FBQyxJQUFJLENBQ1IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBVSxFQUNsQyxDQUFDLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFDL0MsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQzlDLENBQUMsYUFBYSxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDeEMsQ0FBQztTQUNIO2FBQU07WUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLENBQUMsQ0FBQztTQUNqSDtLQUNGO0lBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUcsVUFBQyxLQUFpQjtJQUN0QyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVUsRUFBRTtZQUNsRCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQVEsQ0FBQyxDQUFDLENBQUM7U0FDakY7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVcsRUFBRTtZQUNuRCxJQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQU0sT0FBTyxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQUMsU0FBUyxJQUFLLE9BQUEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RixPQUFPLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxDQUNuRixDQUFDO1NBQ0g7S0FDRjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBKUyBzdHJpbmcgZnJvbSBpdHMgbmF0aXZlIFVDUy0yL1VURi0xNiByZXByZXNlbnRhdGlvbiBpbnRvIGFcbiAqIFVpbnQ4QXJyYXkgb2YgdGhlIGJ5dGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBlcXVpdmFsZW50IGNoYXJhY3RlcnMgaW4gVVRGLTguXG4gKlxuICogQ3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC5zdHJpbmdUb1V0ZjhCeXRlQXJyYXlgIGZ1bmN0aW9uIGluIHRoZSBHb29nbGVcbiAqIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZyb21VdGY4ID0gKGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5ID0+IHtcbiAgY29uc3QgYnl0ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGlucHV0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmICh2YWx1ZSA8IDB4ODApIHtcbiAgICAgIGJ5dGVzLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPCAweDgwMCkge1xuICAgICAgYnl0ZXMucHVzaCgodmFsdWUgPj4gNikgfCAwYjExMDAwMDAwLCAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKGkgKyAxIDwgaW5wdXQubGVuZ3RoICYmICh2YWx1ZSAmIDB4ZmMwMCkgPT09IDB4ZDgwMCAmJiAoaW5wdXQuY2hhckNvZGVBdChpICsgMSkgJiAweGZjMDApID09PSAweGRjMDApIHtcbiAgICAgIGNvbnN0IHN1cnJvZ2F0ZVBhaXIgPSAweDEwMDAwICsgKCh2YWx1ZSAmIDBiMTExMTExMTExMSkgPDwgMTApICsgKGlucHV0LmNoYXJDb2RlQXQoKytpKSAmIDBiMTExMTExMTExMSk7XG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICAoc3Vycm9nYXRlUGFpciA+PiAxOCkgfCAwYjExMTEwMDAwLFxuICAgICAgICAoKHN1cnJvZ2F0ZVBhaXIgPj4gMTIpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCxcbiAgICAgICAgKChzdXJyb2dhdGVQYWlyID4+IDYpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCxcbiAgICAgICAgKHN1cnJvZ2F0ZVBhaXIgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBieXRlcy5wdXNoKCh2YWx1ZSA+PiAxMikgfCAwYjExMTAwMDAwLCAoKHZhbHVlID4+IDYpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCwgKHZhbHVlICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShieXRlcyk7XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgdHlwZWQgYXJyYXkgb2YgYnl0ZXMgY29udGFpbmluZyBVVEYtOCBkYXRhIGludG8gYSBuYXRpdmUgSlNcbiAqIHN0cmluZy5cbiAqXG4gKiBQYXJ0bHkgY3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC51dGY4Qnl0ZUFycmF5VG9TdHJpbmdgIGZ1bmN0aW9uIGluIHRoZVxuICogR29vZ2xlIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cyBhbmQgdG8gYmV0dGVyXG4gKiBoYW5kbGUgYXN0cmFsIHBsYW5lIGNvZGUgcG9pbnRzLlxuICovXG5leHBvcnQgY29uc3QgdG9VdGY4ID0gKGlucHV0OiBVaW50OEFycmF5KTogc3RyaW5nID0+IHtcbiAgbGV0IGRlY29kZWQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5wdXQubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gaW5wdXRbaV07XG4gICAgaWYgKGJ5dGUgPCAweDgwKSB7XG4gICAgICBkZWNvZGVkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSk7XG4gICAgfSBlbHNlIGlmICgwYjExMDAwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTExMDAwMDApIHtcbiAgICAgIGNvbnN0IG5leHRCeXRlID0gaW5wdXRbKytpXTtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoKGJ5dGUgJiAwYjExMTExKSA8PCA2KSB8IChuZXh0Qnl0ZSAmIDBiMTExMTExKSk7XG4gICAgfSBlbHNlIGlmICgwYjExMTEwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTAxMTAxMTAxKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID0gW2J5dGUsIGlucHV0WysraV0sIGlucHV0WysraV0sIGlucHV0WysraV1dO1xuICAgICAgY29uc3QgZW5jb2RlZCA9IFwiJVwiICsgc3Vycm9nYXRlUGFpci5tYXAoKGJ5dGVWYWx1ZSkgPT4gYnl0ZVZhbHVlLnRvU3RyaW5nKDE2KSkuam9pbihcIiVcIik7XG4gICAgICBkZWNvZGVkICs9IGRlY29kZVVSSUNvbXBvbmVudChlbmNvZGVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb2RlZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKFxuICAgICAgICAoKGJ5dGUgJiAwYjExMTEpIDw8IDEyKSB8ICgoaW5wdXRbKytpXSAmIDBiMTExMTExKSA8PCA2KSB8IChpbnB1dFsrK2ldICYgMGIxMTExMTEpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZWNvZGVkO1xufTtcbiJdfQ==","export function fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexport function toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hhdHdnRW5jb2RpbmdBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2hhdHdnRW5jb2RpbmdBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUNBLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYTtJQUNwQyxPQUFPLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgZGVjbGFyYXRpb24gb2YgdGhlIGdsb2JhbCBUZXh0RW5jb2RlciBhbmQgVGV4dERlY29kZXIgY29uc3RydWN0b3JzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9lbmNvZGluZy5zcGVjLndoYXR3Zy5vcmcvXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXG5uYW1lc3BhY2UgRW5jb2Rpbmcge1xuICBpbnRlcmZhY2UgVGV4dERlY29kZXJPcHRpb25zIHtcbiAgICBmYXRhbD86IGJvb2xlYW47XG4gICAgaWdub3JlQk9NPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlT3B0aW9ucyB7XG4gICAgc3RyZWFtPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlciB7XG4gICAgcmVhZG9ubHkgZW5jb2Rpbmc6IHN0cmluZztcbiAgICByZWFkb25seSBmYXRhbDogYm9vbGVhbjtcbiAgICByZWFkb25seSBpZ25vcmVCT006IGJvb2xlYW47XG4gICAgZGVjb2RlKGlucHV0PzogQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcsIG9wdGlvbnM/OiBUZXh0RGVjb2RlT3B0aW9ucyk6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGV4dERlY29kZXJDb25zdHJ1Y3RvciB7XG4gICAgbmV3IChsYWJlbD86IHN0cmluZywgb3B0aW9ucz86IFRleHREZWNvZGVyT3B0aW9ucyk6IFRleHREZWNvZGVyO1xuICB9XG5cbiAgaW50ZXJmYWNlIFRleHRFbmNvZGVyIHtcbiAgICByZWFkb25seSBlbmNvZGluZzogXCJ1dGYtOFwiO1xuICAgIGVuY29kZShpbnB1dD86IHN0cmluZyk6IFVpbnQ4QXJyYXk7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRleHRFbmNvZGVyQ29uc3RydWN0b3Ige1xuICAgIG5ldyAoKTogVGV4dEVuY29kZXI7XG4gIH1cbn1cblxuZGVjbGFyZSBjb25zdCBUZXh0RGVjb2RlcjogRW5jb2RpbmcuVGV4dERlY29kZXJDb25zdHJ1Y3RvcjtcblxuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRW5jb2RpbmcuVGV4dEVuY29kZXJDb25zdHJ1Y3RvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IFRleHREZWNvZGVyKFwidXRmLThcIikuZGVjb2RlKGlucHV0KTtcbn1cbiJdfQ==","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport var fromUtf8 = function (input) {\n return typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\n};\nexport var toUtf8 = function (input) {\n return typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsSUFBSSxVQUFVLEVBQUUsTUFBTSxJQUFJLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sSUFBSSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBS25HLE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxVQUFDLEtBQWE7SUFDcEMsT0FBQSxPQUFPLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0FBQWxGLENBQWtGLENBQUM7QUFFckYsTUFBTSxDQUFDLElBQU0sTUFBTSxHQUFHLFVBQUMsS0FBaUI7SUFDdEMsT0FBQSxPQUFPLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0FBQTlFLENBQThFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVXRmOCBhcyBqc0Zyb21VdGY4LCB0b1V0ZjggYXMganNUb1V0ZjggfSBmcm9tIFwiLi9wdXJlSnNcIjtcbmltcG9ydCB7IGZyb21VdGY4IGFzIHRleHRFbmNvZGVyRnJvbVV0ZjgsIHRvVXRmOCBhcyB0ZXh0RW5jb2RlclRvVXRmOCB9IGZyb20gXCIuL3doYXR3Z0VuY29kaW5nQXBpXCI7XG5cbmRlY2xhcmUgY29uc3QgVGV4dERlY29kZXI6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBmcm9tVXRmOCA9IChpbnB1dDogc3RyaW5nKTogVWludDhBcnJheSA9PlxuICB0eXBlb2YgVGV4dEVuY29kZXIgPT09IFwiZnVuY3Rpb25cIiA/IHRleHRFbmNvZGVyRnJvbVV0ZjgoaW5wdXQpIDoganNGcm9tVXRmOChpbnB1dCk7XG5cbmV4cG9ydCBjb25zdCB0b1V0ZjggPSAoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcgPT5cbiAgdHlwZW9mIFRleHREZWNvZGVyID09PSBcImZ1bmN0aW9uXCIgPyB0ZXh0RW5jb2RlclRvVXRmOChpbnB1dCkgOiBqc1RvVXRmOChpbnB1dCk7XG4iXX0=","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar AuthenticationDetails = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationDetails object\n * @param {object=} data Creation options.\n * @param {string} data.Username User being authenticated.\n * @param {string} data.Password Plain-text password to authenticate with.\n * @param {(AttributeArg[])?} data.ValidationData Application extra metadata.\n * @param {(AttributeArg[])?} data.AuthParamaters Authentication paramaters for custom auth.\n */\n function AuthenticationDetails(data) {\n var _ref = data || {},\n ValidationData = _ref.ValidationData,\n Username = _ref.Username,\n Password = _ref.Password,\n AuthParameters = _ref.AuthParameters,\n ClientMetadata = _ref.ClientMetadata;\n\n this.validationData = ValidationData || {};\n this.authParameters = AuthParameters || {};\n this.clientMetadata = ClientMetadata || {};\n this.username = Username;\n this.password = Password;\n }\n /**\n * @returns {string} the record's username\n */\n\n\n var _proto = AuthenticationDetails.prototype;\n\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n /**\n * @returns {string} the record's password\n */\n ;\n\n _proto.getPassword = function getPassword() {\n return this.password;\n }\n /**\n * @returns {Array} the record's validationData\n */\n ;\n\n _proto.getValidationData = function getValidationData() {\n return this.validationData;\n }\n /**\n * @returns {Array} the record's authParameters\n */\n ;\n\n _proto.getAuthParameters = function getAuthParameters() {\n return this.authParameters;\n }\n /**\n * @returns {ClientMetadata} the clientMetadata for a Lambda trigger\n */\n ;\n\n _proto.getClientMetadata = function getClientMetadata() {\n return this.clientMetadata;\n };\n\n return AuthenticationDetails;\n}();\n\nexport { AuthenticationDetails as default };","var crypto; // Native crypto from window (Browser)\n\nif (typeof window !== 'undefined' && window.crypto) {\n crypto = window.crypto;\n} // Native (experimental IE 11) crypto from window (Browser)\n\n\nif (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n crypto = window.msCrypto;\n} // Native crypto from global (NodeJS)\n\n\nif (!crypto && typeof global !== 'undefined' && global.crypto) {\n crypto = global.crypto;\n} // Native crypto import via require (NodeJS)\n\n\nif (!crypto && typeof require === 'function') {\n try {\n crypto = require('crypto');\n } catch (err) {}\n}\n/*\n * Cryptographically secure pseudorandom number generator\n * As Math.random() is cryptographically not safe to use\n */\n\n\nexport default function cryptoSecureRandomInt() {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === 'function') {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n } catch (err) {}\n } // Use randomBytes method (NodeJS)\n\n\n if (typeof crypto.randomBytes === 'function') {\n try {\n return crypto.randomBytes(4).readInt32LE();\n } catch (err) {}\n }\n }\n\n throw new Error('Native crypto module could not be used to get secure random number.');\n}","import cryptoSecureRandomInt from './cryptoSecureRandomInt';\n/**\n * Hex encoding strategy.\n * Converts a word array to a hex string.\n * @param {WordArray} wordArray The word array.\n * @return {string} The hex string.\n * @static\n */\n\nfunction hexStringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes; // Convert\n\n var hexChars = [];\n\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n\n return hexChars.join('');\n}\n\nvar WordArray = /*#__PURE__*/function () {\n function WordArray(words, sigBytes) {\n words = this.words = words || [];\n\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 4;\n }\n }\n\n var _proto = WordArray.prototype;\n\n _proto.random = function random(nBytes) {\n var words = [];\n\n for (var i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n\n return new WordArray(words, nBytes);\n };\n\n _proto.toString = function toString() {\n return hexStringify(this);\n };\n\n return WordArray;\n}();\n\nexport { WordArray as default };","// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\nexport default BigInteger;\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n// (public) Constructor\n\nfunction BigInteger(a, b) {\n if (a != null) this.fromString(a, b);\n} // return new, unset BigInteger\n\n\nfunction nbi() {\n return new BigInteger(null);\n} // Bits per digit\n\n\nvar dbits; // JavaScript engine analysis\n\nvar canary = 0xdeadbeefcafe;\nvar j_lm = (canary & 0xffffff) == 0xefcafe; // am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n\n return c;\n} // am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n\n\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff,\n xh = x >> 15;\n\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n\n return c;\n} // Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\n\n\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff,\n xh = x >> 14;\n\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n\n return c;\n}\n\nvar inBrowser = typeof navigator !== 'undefined';\n\nif (inBrowser && j_lm && navigator.appName == 'Microsoft Internet Explorer') {\n BigInteger.prototype.am = am2;\n dbits = 30;\n} else if (inBrowser && j_lm && navigator.appName != 'Netscape') {\n BigInteger.prototype.am = am1;\n dbits = 26;\n} else {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\n\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP; // Digit conversions\n\nvar BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';\nvar BI_RC = new Array();\nvar rr, vv;\nrr = '0'.charCodeAt(0);\n\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\n\nrr = 'a'.charCodeAt(0);\n\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\n\nrr = 'A'.charCodeAt(0);\n\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\n\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n} // (protected) copy this to r\n\n\nfunction bnpCopyTo(r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n\n r.t = this.t;\n r.s = this.s;\n} // (protected) set from integer value x, -DV <= x < DV\n\n\nfunction bnpFromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0;\n} // return bigint initialized to value\n\n\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n} // (protected) set from string and radix\n\n\nfunction bnpFromString(s, b) {\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n this.t = 0;\n this.s = 0;\n var i = s.length,\n mi = false,\n sh = 0;\n\n while (--i >= 0) {\n var x = intAt(s, i);\n\n if (x < 0) {\n if (s.charAt(i) == '-') mi = true;\n continue;\n }\n\n mi = false;\n if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;\n this[this.t++] = x >> this.DB - sh;\n } else this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB) sh -= this.DB;\n }\n\n this.clamp();\n if (mi) BigInteger.ZERO.subTo(this, this);\n} // (protected) clamp off excess high words\n\n\nfunction bnpClamp() {\n var c = this.s & this.DM;\n\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n} // (public) return string representation in given radix\n\n\nfunction bnToString(b) {\n if (this.s < 0) return '-' + this.negate().toString(b);\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n var km = (1 << k) - 1,\n d,\n m = false,\n r = '',\n i = this.t;\n var p = this.DB - i * this.DB % k;\n\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & (1 << p) - 1) << k - p;\n d |= this[--i] >> (p += this.DB - k);\n } else {\n d = this[i] >> (p -= k) & km;\n\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n\n if (d > 0) m = true;\n if (m) r += int2char(d);\n }\n }\n\n return m ? r : '0';\n} // (public) -this\n\n\nfunction bnNegate() {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n} // (public) |this|\n\n\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n} // (public) return + if this > a, - if this < a, 0 if equal\n\n\nfunction bnCompareTo(a) {\n var r = this.s - a.s;\n if (r != 0) return r;\n var i = this.t;\n r = i - a.t;\n if (r != 0) return this.s < 0 ? -r : r;\n\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) return r;\n }\n\n return 0;\n} // returns bit length of the integer x\n\n\nfunction nbits(x) {\n var r = 1,\n t;\n\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n\n return r;\n} // (public) return the number of bits in \"this\"\n\n\nfunction bnBitLength() {\n if (this.t <= 0) return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);\n} // (protected) r = this << n*DB\n\n\nfunction bnpDLShiftTo(n, r) {\n var i;\n\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n\n r.t = this.t + n;\n r.s = this.s;\n} // (protected) r = this >> n*DB\n\n\nfunction bnpDRShiftTo(n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n} // (protected) r = this << n\n\n\nfunction bnpLShiftTo(n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB),\n c = this.s << bs & this.DM,\n i;\n\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = this[i] >> cbs | c;\n c = (this[i] & bm) << bs;\n }\n\n for (i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n} // (protected) r = this >> n\n\n\nfunction bnpRShiftTo(n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n\n if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n} // (protected) r = this - a\n\n\nfunction bnpSubTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n if (a.t < this.t) {\n c -= a.s;\n\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c += this.s;\n } else {\n c += this.s;\n\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c -= a.s;\n }\n\n r.s = c < 0 ? -1 : 0;\n if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n} // (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\n\n\nfunction bnpMultiplyTo(a, r) {\n var x = this.abs(),\n y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n\n while (--i >= 0) {\n r[i] = 0;\n }\n\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n\n r.s = 0;\n r.clamp();\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\n} // (protected) r = this^2, r != this (HAC 14.16)\n\n\nfunction bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n\n while (--i >= 0) {\n r[i] = 0;\n }\n\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n} // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\n\n\nfunction bnpDivRemTo(m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) return;\n var pt = this.abs();\n\n if (pt.t < pm.t) {\n if (q != null) q.fromInt(0);\n if (r != null) this.copyTo(r);\n return;\n }\n\n if (r == null) r = nbi();\n var y = nbi(),\n ts = this.s,\n ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\n\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n } else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) return;\n var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt,\n d2 = (1 << this.F1) / yt,\n e = 1 << this.F2;\n var i = r.t,\n j = i - ys,\n t = q == null ? nbi() : q;\n y.dlShiftTo(j, t);\n\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) BigInteger.ZERO.subTo(q, q);\n }\n\n r.t = ys;\n r.clamp();\n if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder\n\n if (ts < 0) BigInteger.ZERO.subTo(r, r);\n} // (public) this mod a\n\n\nfunction bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\n return r;\n} // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\n\n\nfunction bnpInvDigit() {\n if (this.t < 1) return 0;\n var x = this[0];\n if ((x & 1) == 0) return 0;\n var y = x & 3; // y == 1/x mod 2^2\n\n y = y * (2 - (x & 0xf) * y) & 0xf; // y == 1/x mod 2^4\n\n y = y * (2 - (x & 0xff) * y) & 0xff; // y == 1/x mod 2^8\n\n y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n\n y = y * (2 - x * y % this.DV) % this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n\n return y > 0 ? this.DV - y : -y;\n}\n\nfunction bnEquals(a) {\n return this.compareTo(a) == 0;\n} // (protected) r = this + a\n\n\nfunction bnpAddTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n if (a.t < this.t) {\n c += a.s;\n\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c += this.s;\n } else {\n c += this.s;\n\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c += a.s;\n }\n\n r.s = c < 0 ? -1 : 0;\n if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n} // (public) this + a\n\n\nfunction bnAdd(a) {\n var r = nbi();\n this.addTo(a, r);\n return r;\n} // (public) this - a\n\n\nfunction bnSubtract(a) {\n var r = nbi();\n this.subTo(a, r);\n return r;\n} // (public) this * a\n\n\nfunction bnMultiply(a) {\n var r = nbi();\n this.multiplyTo(a, r);\n return r;\n} // (public) this / a\n\n\nfunction bnDivide(a) {\n var r = nbi();\n this.divRemTo(a, r, null);\n return r;\n} // Montgomery reduction\n\n\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << m.DB - 15) - 1;\n this.mt2 = 2 * m.t;\n} // xR mod m\n\n\nfunction montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\n return r;\n} // x/R mod m\n\n\nfunction montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n} // x = x/R mod m (HAC 14.32)\n\n\nfunction montReduce(x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM; // use am to combine the multiply-shift-add into one call\n\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t); // propagate carry\n\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\n} // r = \"x^2/R mod m\"; x != r\n\n\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n} // r = \"xy/R mod m\"; x,y != r\n\n\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\n\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo; // (public) this^e % m (HAC 14.85)\n\nfunction bnModPow(e, m, callback) {\n var i = e.bitLength(),\n k,\n r = nbv(1),\n z = new Montgomery(m);\n if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6; // precomputation\n\n var g = new Array(),\n n = 3,\n k1 = k - 1,\n km = (1 << k) - 1;\n g[1] = z.convert(this);\n\n if (k > 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n\n var j = e.t - 1,\n w,\n is1 = true,\n r2 = nbi(),\n t;\n i = nbits(e[j]) - 1;\n\n while (j >= 0) {\n if (i >= k1) w = e[j] >> i - k1 & km;else {\n w = (e[j] & (1 << i + 1) - 1) << k1 - i;\n if (j > 0) w |= e[j - 1] >> this.DB + i - k1;\n }\n n = k;\n\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n } else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n\n if (n > 0) z.sqrTo(r, r2);else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n\n while (j >= 0 && (e[j] & 1 << i) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n\n var result = z.revert(r);\n callback(null, result);\n return result;\n} // protected\n\n\nBigInteger.prototype.copyTo = bnpCopyTo;\nBigInteger.prototype.fromInt = bnpFromInt;\nBigInteger.prototype.fromString = bnpFromString;\nBigInteger.prototype.clamp = bnpClamp;\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\nBigInteger.prototype.subTo = bnpSubTo;\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\nBigInteger.prototype.squareTo = bnpSquareTo;\nBigInteger.prototype.divRemTo = bnpDivRemTo;\nBigInteger.prototype.invDigit = bnpInvDigit;\nBigInteger.prototype.addTo = bnpAddTo; // public\n\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow; // \"constants\"\n\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { Buffer } from 'buffer';\nimport CryptoJS from 'crypto-js/core';\nimport 'crypto-js/lib-typedarrays'; // necessary for crypto js\n\nimport SHA256 from 'crypto-js/sha256';\nimport HmacSHA256 from 'crypto-js/hmac-sha256';\nimport WordArray from './utils/WordArray';\n/**\n * Returns a Buffer with a sequence of random nBytes\n *\n * @param {number} nBytes\n * @returns {Buffer} fixed-length sequence of random bytes\n */\n\nfunction randomBytes(nBytes) {\n return Buffer.from(new WordArray().random(nBytes).toString(), 'hex');\n}\n\nimport BigInteger from './BigInteger';\n/**\n * Tests if a hex string has it most significant bit set (case-insensitive regex)\n */\n\nvar HEX_MSB_REGEX = /^[89a-f]/i;\nvar initN = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' + '29024E088A67CC74020BBEA63B139B22514A08798E3404DD' + 'EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245' + 'E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D' + 'C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F' + '83655D23DCA3AD961C62F356208552BB9ED529077096966D' + '670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9' + 'DE2BCBF6955817183995497CEA956AE515D2261898FA0510' + '15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64' + 'ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7' + 'ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B' + 'F12FFA06D98A0864D87602733EC86A64521F2B18177B200C' + 'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' + '43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';\nvar newPasswordRequiredChallengeUserAttributePrefix = 'userAttributes.';\n/** @class */\n\nvar AuthenticationHelper = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationHelper object\n * @param {string} PoolName Cognito user pool name.\n */\n function AuthenticationHelper(PoolName) {\n this.N = new BigInteger(initN, 16);\n this.g = new BigInteger('2', 16);\n this.k = new BigInteger(this.hexHash(\"\" + this.padHex(this.N) + this.padHex(this.g)), 16);\n this.smallAValue = this.generateRandomSmallA();\n this.getLargeAValue(function () {});\n this.infoBits = Buffer.from('Caldera Derived Key', 'utf8');\n this.poolName = PoolName;\n }\n /**\n * @returns {BigInteger} small A, a random number\n */\n\n\n var _proto = AuthenticationHelper.prototype;\n\n _proto.getSmallAValue = function getSmallAValue() {\n return this.smallAValue;\n }\n /**\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n */\n ;\n\n _proto.getLargeAValue = function getLargeAValue(callback) {\n var _this = this;\n\n if (this.largeAValue) {\n callback(null, this.largeAValue);\n } else {\n this.calculateA(this.smallAValue, function (err, largeAValue) {\n if (err) {\n callback(err, null);\n }\n\n _this.largeAValue = largeAValue;\n callback(null, _this.largeAValue);\n });\n }\n }\n /**\n * helper function to generate a random big integer\n * @returns {BigInteger} a random value.\n * @private\n */\n ;\n\n _proto.generateRandomSmallA = function generateRandomSmallA() {\n // This will be interpreted as a postive 128-bit integer\n var hexRandom = randomBytes(128).toString('hex');\n var randomBigInt = new BigInteger(hexRandom, 16); // There is no need to do randomBigInt.mod(this.N - 1) as N (3072-bit) is > 128 bytes (1024-bit)\n\n return randomBigInt;\n }\n /**\n * helper function to generate a random string\n * @returns {string} a random value.\n * @private\n */\n ;\n\n _proto.generateRandomString = function generateRandomString() {\n return randomBytes(40).toString('base64');\n }\n /**\n * @returns {string} Generated random value included in password hash.\n */\n ;\n\n _proto.getRandomPassword = function getRandomPassword() {\n return this.randomPassword;\n }\n /**\n * @returns {string} Generated random value included in devices hash.\n */\n ;\n\n _proto.getSaltDevices = function getSaltDevices() {\n return this.SaltToHashDevices;\n }\n /**\n * @returns {string} Value used to verify devices.\n */\n ;\n\n _proto.getVerifierDevices = function getVerifierDevices() {\n return this.verifierDevices;\n }\n /**\n * Generate salts and compute verifier.\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n * @param {nodeCallback} callback Called with (err, null)\n * @returns {void}\n */\n ;\n\n _proto.generateHashDevice = function generateHashDevice(deviceGroupKey, username, callback) {\n var _this2 = this;\n\n this.randomPassword = this.generateRandomString();\n var combinedString = \"\" + deviceGroupKey + username + \":\" + this.randomPassword;\n var hashedString = this.hash(combinedString);\n var hexRandom = randomBytes(16).toString('hex'); // The random hex will be unambiguously represented as a postive integer\n\n this.SaltToHashDevices = this.padHex(new BigInteger(hexRandom, 16));\n this.g.modPow(new BigInteger(this.hexHash(this.SaltToHashDevices + hashedString), 16), this.N, function (err, verifierDevicesNotPadded) {\n if (err) {\n callback(err, null);\n }\n\n _this2.verifierDevices = _this2.padHex(verifierDevicesNotPadded);\n callback(null, null);\n });\n }\n /**\n * Calculate the client's public value A = g^a%N\n * with the generated random number a\n * @param {BigInteger} a Randomly generated small A.\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n * @private\n */\n ;\n\n _proto.calculateA = function calculateA(a, callback) {\n var _this3 = this;\n\n this.g.modPow(a, this.N, function (err, A) {\n if (err) {\n callback(err, null);\n }\n\n if (A.mod(_this3.N).equals(BigInteger.ZERO)) {\n callback(new Error('Illegal paramater. A mod N cannot be 0.'), null);\n }\n\n callback(null, A);\n });\n }\n /**\n * Calculate the client's value U which is the hash of A and B\n * @param {BigInteger} A Large A value.\n * @param {BigInteger} B Server B value.\n * @returns {BigInteger} Computed U value.\n * @private\n */\n ;\n\n _proto.calculateU = function calculateU(A, B) {\n this.UHexHash = this.hexHash(this.padHex(A) + this.padHex(B));\n var finalU = new BigInteger(this.UHexHash, 16);\n return finalU;\n }\n /**\n * Calculate a hash from a bitArray\n * @param {Buffer} buf Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */\n ;\n\n _proto.hash = function hash(buf) {\n var str = buf instanceof Buffer ? CryptoJS.lib.WordArray.create(buf) : buf;\n var hashHex = SHA256(str).toString();\n return new Array(64 - hashHex.length).join('0') + hashHex;\n }\n /**\n * Calculate a hash from a hex string\n * @param {String} hexStr Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */\n ;\n\n _proto.hexHash = function hexHash(hexStr) {\n return this.hash(Buffer.from(hexStr, 'hex'));\n }\n /**\n * Standard hkdf algorithm\n * @param {Buffer} ikm Input key material.\n * @param {Buffer} salt Salt value.\n * @returns {Buffer} Strong key material.\n * @private\n */\n ;\n\n _proto.computehkdf = function computehkdf(ikm, salt) {\n var infoBitsWordArray = CryptoJS.lib.WordArray.create(Buffer.concat([this.infoBits, Buffer.from(String.fromCharCode(1), 'utf8')]));\n var ikmWordArray = ikm instanceof Buffer ? CryptoJS.lib.WordArray.create(ikm) : ikm;\n var saltWordArray = salt instanceof Buffer ? CryptoJS.lib.WordArray.create(salt) : salt;\n var prk = HmacSHA256(ikmWordArray, saltWordArray);\n var hmac = HmacSHA256(infoBitsWordArray, prk);\n return Buffer.from(hmac.toString(), 'hex').slice(0, 16);\n }\n /**\n * Calculates the final hkdf based on computed S value, and computed U value and the key\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {BigInteger} serverBValue Server B value.\n * @param {BigInteger} salt Generated salt.\n * @param {nodeCallback} callback Called with (err, hkdfValue)\n * @returns {void}\n */\n ;\n\n _proto.getPasswordAuthenticationKey = function getPasswordAuthenticationKey(username, password, serverBValue, salt, callback) {\n var _this4 = this;\n\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n\n this.UValue = this.calculateU(this.largeAValue, serverBValue);\n\n if (this.UValue.equals(BigInteger.ZERO)) {\n throw new Error('U cannot be zero.');\n }\n\n var usernamePassword = \"\" + this.poolName + username + \":\" + password;\n var usernamePasswordHash = this.hash(usernamePassword);\n var xValue = new BigInteger(this.hexHash(this.padHex(salt) + usernamePasswordHash), 16);\n this.calculateS(xValue, serverBValue, function (err, sValue) {\n if (err) {\n callback(err, null);\n }\n\n var hkdf = _this4.computehkdf(Buffer.from(_this4.padHex(sValue), 'hex'), Buffer.from(_this4.padHex(_this4.UValue), 'hex'));\n\n callback(null, hkdf);\n });\n }\n /**\n * Calculates the S value used in getPasswordAuthenticationKey\n * @param {BigInteger} xValue Salted password hash value.\n * @param {BigInteger} serverBValue Server B value.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.calculateS = function calculateS(xValue, serverBValue, callback) {\n var _this5 = this;\n\n this.g.modPow(xValue, this.N, function (err, gModPowXN) {\n if (err) {\n callback(err, null);\n }\n\n var intValue2 = serverBValue.subtract(_this5.k.multiply(gModPowXN));\n intValue2.modPow(_this5.smallAValue.add(_this5.UValue.multiply(xValue)), _this5.N, function (err2, result) {\n if (err2) {\n callback(err2, null);\n }\n\n callback(null, result.mod(_this5.N));\n });\n });\n }\n /**\n * Return constant newPasswordRequiredChallengeUserAttributePrefix\n * @return {newPasswordRequiredChallengeUserAttributePrefix} constant prefix value\n */\n ;\n\n _proto.getNewPasswordRequiredChallengeUserAttributePrefix = function getNewPasswordRequiredChallengeUserAttributePrefix() {\n return newPasswordRequiredChallengeUserAttributePrefix;\n }\n /**\n * Returns an unambiguous, even-length hex string of the two's complement encoding of an integer.\n *\n * It is compatible with the hex encoding of Java's BigInteger's toByteArray(), wich returns a\n * byte array containing the two's-complement representation of a BigInteger. The array contains\n * the minimum number of bytes required to represent the BigInteger, including at least one sign bit.\n *\n * Examples showing how ambiguity is avoided by left padding with:\n * \t\"00\" (for positive values where the most-significant-bit is set)\n * \"FF\" (for negative values where the most-significant-bit is set)\n *\n * padHex(bigInteger.fromInt(-236)) === \"FF14\"\n * padHex(bigInteger.fromInt(20)) === \"14\"\n *\n * padHex(bigInteger.fromInt(-200)) === \"FF38\"\n * padHex(bigInteger.fromInt(56)) === \"38\"\n *\n * padHex(bigInteger.fromInt(-20)) === \"EC\"\n * padHex(bigInteger.fromInt(236)) === \"00EC\"\n *\n * padHex(bigInteger.fromInt(-56)) === \"C8\"\n * padHex(bigInteger.fromInt(200)) === \"00C8\"\n *\n * @param {BigInteger} bigInt Number to encode.\n * @returns {String} even-length hex string of the two's complement encoding.\n */\n ;\n\n _proto.padHex = function padHex(bigInt) {\n if (!(bigInt instanceof BigInteger)) {\n throw new Error('Not a BigInteger');\n }\n\n var isNegative = bigInt.compareTo(BigInteger.ZERO) < 0;\n /* Get a hex string for abs(bigInt) */\n\n var hexStr = bigInt.abs().toString(16);\n /* Pad hex to even length if needed */\n\n hexStr = hexStr.length % 2 !== 0 ? \"0\" + hexStr : hexStr;\n /* Prepend \"00\" if the most significant bit is set */\n\n hexStr = HEX_MSB_REGEX.test(hexStr) ? \"00\" + hexStr : hexStr;\n\n if (isNegative) {\n /* Flip the bits of the representation */\n var invertedNibbles = hexStr.split('').map(function (x) {\n var invertedNibble = ~parseInt(x, 16) & 0xf;\n return '0123456789ABCDEF'.charAt(invertedNibble);\n }).join('');\n /* After flipping the bits, add one to get the 2's complement representation */\n\n var flippedBitsBI = new BigInteger(invertedNibbles, 16).add(BigInteger.ONE);\n hexStr = flippedBitsBI.toString(16);\n /*\n For hex strings starting with 'FF8', 'FF' can be dropped, e.g. 0xFFFF80=0xFF80=0x80=-128\n \t\tAny sequence of '1' bits on the left can always be substituted with a single '1' bit\n without changing the represented value.\n \t\tThis only happens in the case when the input is 80...00\n */\n\n if (hexStr.toUpperCase().startsWith('FF8')) {\n hexStr = hexStr.substring(2);\n }\n }\n\n return hexStr;\n };\n\n return AuthenticationHelper;\n}();\n\nexport { AuthenticationHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { Buffer } from 'buffer';\n/** @class */\n\nvar CognitoJwtToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoJwtToken object\n * @param {string=} token The JWT token.\n */\n function CognitoJwtToken(token) {\n // Assign object\n this.jwtToken = token || '';\n this.payload = this.decodePayload();\n }\n /**\n * @returns {string} the record's token.\n */\n\n\n var _proto = CognitoJwtToken.prototype;\n\n _proto.getJwtToken = function getJwtToken() {\n return this.jwtToken;\n }\n /**\n * @returns {int} the token's expiration (exp member).\n */\n ;\n\n _proto.getExpiration = function getExpiration() {\n return this.payload.exp;\n }\n /**\n * @returns {int} the token's \"issued at\" (iat member).\n */\n ;\n\n _proto.getIssuedAt = function getIssuedAt() {\n return this.payload.iat;\n }\n /**\n * @returns {object} the token's payload.\n */\n ;\n\n _proto.decodePayload = function decodePayload() {\n var payload = this.jwtToken.split('.')[1];\n\n try {\n return JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));\n } catch (err) {\n return {};\n }\n };\n\n return CognitoJwtToken;\n}();\n\nexport { CognitoJwtToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport CognitoJwtToken from './CognitoJwtToken';\n/** @class */\n\nvar CognitoAccessToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoAccessToken, _CognitoJwtToken);\n\n /**\n * Constructs a new CognitoAccessToken object\n * @param {string=} AccessToken The JWT access token.\n */\n function CognitoAccessToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n AccessToken = _ref.AccessToken;\n\n return _CognitoJwtToken.call(this, AccessToken || '') || this;\n }\n\n return CognitoAccessToken;\n}(CognitoJwtToken);\n\nexport { CognitoAccessToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport CognitoJwtToken from './CognitoJwtToken';\n/** @class */\n\nvar CognitoIdToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoIdToken, _CognitoJwtToken);\n\n /**\n * Constructs a new CognitoIdToken object\n * @param {string=} IdToken The JWT Id token\n */\n function CognitoIdToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken;\n\n return _CognitoJwtToken.call(this, IdToken || '') || this;\n }\n\n return CognitoIdToken;\n}(CognitoJwtToken);\n\nexport { CognitoIdToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar CognitoRefreshToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoRefreshToken object\n * @param {string=} RefreshToken The JWT refresh token.\n */\n function CognitoRefreshToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n RefreshToken = _ref.RefreshToken;\n\n // Assign object\n this.token = RefreshToken || '';\n }\n /**\n * @returns {string} the record's token.\n */\n\n\n var _proto = CognitoRefreshToken.prototype;\n\n _proto.getToken = function getToken() {\n return this.token;\n };\n\n return CognitoRefreshToken;\n}();\n\nexport { CognitoRefreshToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar CognitoUserSession = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserSession object\n * @param {CognitoIdToken} IdToken The session's Id token.\n * @param {CognitoRefreshToken=} RefreshToken The session's refresh token.\n * @param {CognitoAccessToken} AccessToken The session's access token.\n * @param {int} ClockDrift The saved computer's clock drift or undefined to force calculation.\n */\n function CognitoUserSession(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken,\n RefreshToken = _ref.RefreshToken,\n AccessToken = _ref.AccessToken,\n ClockDrift = _ref.ClockDrift;\n\n if (AccessToken == null || IdToken == null) {\n throw new Error('Id token and Access Token must be present.');\n }\n\n this.idToken = IdToken;\n this.refreshToken = RefreshToken;\n this.accessToken = AccessToken;\n this.clockDrift = ClockDrift === undefined ? this.calculateClockDrift() : ClockDrift;\n }\n /**\n * @returns {CognitoIdToken} the session's Id token\n */\n\n\n var _proto = CognitoUserSession.prototype;\n\n _proto.getIdToken = function getIdToken() {\n return this.idToken;\n }\n /**\n * @returns {CognitoRefreshToken} the session's refresh token\n */\n ;\n\n _proto.getRefreshToken = function getRefreshToken() {\n return this.refreshToken;\n }\n /**\n * @returns {CognitoAccessToken} the session's access token\n */\n ;\n\n _proto.getAccessToken = function getAccessToken() {\n return this.accessToken;\n }\n /**\n * @returns {int} the session's clock drift\n */\n ;\n\n _proto.getClockDrift = function getClockDrift() {\n return this.clockDrift;\n }\n /**\n * @returns {int} the computer's clock drift\n */\n ;\n\n _proto.calculateClockDrift = function calculateClockDrift() {\n var now = Math.floor(new Date() / 1000);\n var iat = Math.min(this.accessToken.getIssuedAt(), this.idToken.getIssuedAt());\n return now - iat;\n }\n /**\n * Checks to see if the session is still valid based on session expiry information found\n * in tokens and the current time (adjusted with clock drift)\n * @returns {boolean} if the session is still valid\n */\n ;\n\n _proto.isValid = function isValid() {\n var now = Math.floor(new Date() / 1000);\n var adjusted = now - this.clockDrift;\n return adjusted < this.accessToken.getExpiration() && adjusted < this.idToken.getExpiration();\n };\n\n return CognitoUserSession;\n}();\n\nexport { CognitoUserSession as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar weekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n/** @class */\n\nvar DateHelper = /*#__PURE__*/function () {\n function DateHelper() {}\n\n var _proto = DateHelper.prototype;\n\n /**\n * @returns {string} The current time in \"ddd MMM D HH:mm:ss UTC YYYY\" format.\n */\n _proto.getNowString = function getNowString() {\n var now = new Date();\n var weekDay = weekNames[now.getUTCDay()];\n var month = monthNames[now.getUTCMonth()];\n var day = now.getUTCDate();\n var hours = now.getUTCHours();\n\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n\n var minutes = now.getUTCMinutes();\n\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n\n var seconds = now.getUTCSeconds();\n\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n\n var year = now.getUTCFullYear(); // ddd MMM D HH:mm:ss UTC YYYY\n\n var dateNow = weekDay + \" \" + month + \" \" + day + \" \" + hours + \":\" + minutes + \":\" + seconds + \" UTC \" + year;\n return dateNow;\n };\n\n return DateHelper;\n}();\n\nexport { DateHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar CognitoUserAttribute = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserAttribute object\n * @param {string=} Name The record's name\n * @param {string=} Value The record's value\n */\n function CognitoUserAttribute(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n Name = _ref.Name,\n Value = _ref.Value;\n\n this.Name = Name || '';\n this.Value = Value || '';\n }\n /**\n * @returns {string} the record's value.\n */\n\n\n var _proto = CognitoUserAttribute.prototype;\n\n _proto.getValue = function getValue() {\n return this.Value;\n }\n /**\n * Sets the record's value.\n * @param {string} value The new value.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */\n ;\n\n _proto.setValue = function setValue(value) {\n this.Value = value;\n return this;\n }\n /**\n * @returns {string} the record's name.\n */\n ;\n\n _proto.getName = function getName() {\n return this.Name;\n }\n /**\n * Sets the record's name\n * @param {string} name The new name.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */\n ;\n\n _proto.setName = function setName(name) {\n this.Name = name;\n return this;\n }\n /**\n * @returns {string} a string representation of the record.\n */\n ;\n\n _proto.toString = function toString() {\n return JSON.stringify(this);\n }\n /**\n * @returns {object} a flat object representing the record.\n */\n ;\n\n _proto.toJSON = function toJSON() {\n return {\n Name: this.Name,\n Value: this.Value\n };\n };\n\n return CognitoUserAttribute;\n}();\n\nexport { CognitoUserAttribute as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar dataMemory = {};\n/** @class */\n\nexport var MemoryStorage = /*#__PURE__*/function () {\n function MemoryStorage() {}\n\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function setItem(key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n ;\n\n MemoryStorage.getItem = function getItem(key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {boolean} return true\n */\n ;\n\n MemoryStorage.removeItem = function removeItem(key) {\n return delete dataMemory[key];\n }\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n ;\n\n MemoryStorage.clear = function clear() {\n dataMemory = {};\n return dataMemory;\n };\n\n return MemoryStorage;\n}();\n/** @class */\n\nvar StorageHelper = /*#__PURE__*/function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.cognito.test-ls', 1);\n this.storageWindow.removeItem('aws.cognito.test-ls');\n } catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n\n\n var _proto = StorageHelper.prototype;\n\n _proto.getStorage = function getStorage() {\n return this.storageWindow;\n };\n\n return StorageHelper;\n}();\n\nexport { StorageHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { Buffer } from 'buffer';\nimport CryptoJS from 'crypto-js/core';\nimport TypedArrays from 'crypto-js/lib-typedarrays'; // necessary for crypto js\n\nimport Base64 from 'crypto-js/enc-base64';\nimport HmacSHA256 from 'crypto-js/hmac-sha256';\nimport BigInteger from './BigInteger';\nimport AuthenticationHelper from './AuthenticationHelper';\nimport CognitoAccessToken from './CognitoAccessToken';\nimport CognitoIdToken from './CognitoIdToken';\nimport CognitoRefreshToken from './CognitoRefreshToken';\nimport CognitoUserSession from './CognitoUserSession';\nimport DateHelper from './DateHelper';\nimport CognitoUserAttribute from './CognitoUserAttribute';\nimport StorageHelper from './StorageHelper';\n/**\n * @callback nodeCallback\n * @template T result\n * @param {*} err The operation failure reason, or null.\n * @param {T} result The operation result.\n */\n\n/**\n * @callback onFailure\n * @param {*} err Failure reason.\n */\n\n/**\n * @callback onSuccess\n * @template T result\n * @param {T} result The operation result.\n */\n\n/**\n * @callback mfaRequired\n * @param {*} details MFA challenge details.\n */\n\n/**\n * @callback customChallenge\n * @param {*} details Custom challenge details.\n */\n\n/**\n * @callback inputVerificationCode\n * @param {*} data Server response.\n */\n\n/**\n * @callback authSuccess\n * @param {CognitoUserSession} session The new session.\n * @param {bool=} userConfirmationNecessary User must be confirmed.\n */\n\nvar isBrowser = typeof navigator !== 'undefined';\nvar userAgent = isBrowser ? navigator.userAgent : 'nodejs';\n/** @class */\n\nvar CognitoUser = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUser object\n * @param {object} data Creation options\n * @param {string} data.Username The user's username.\n * @param {CognitoUserPool} data.Pool Pool containing the user.\n * @param {object} data.Storage Optional storage object.\n */\n function CognitoUser(data) {\n if (data == null || data.Username == null || data.Pool == null) {\n throw new Error('Username and Pool information are required.');\n }\n\n this.username = data.Username || '';\n this.pool = data.Pool;\n this.Session = null;\n this.client = data.Pool.client;\n this.signInUserSession = null;\n this.authenticationFlowType = 'USER_SRP_AUTH';\n this.storage = data.Storage || new StorageHelper().getStorage();\n this.keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n this.userDataKey = this.keyPrefix + \".\" + this.username + \".userData\";\n }\n /**\n * Sets the session for this user\n * @param {CognitoUserSession} signInUserSession the session\n * @returns {void}\n */\n\n\n var _proto = CognitoUser.prototype;\n\n _proto.setSignInUserSession = function setSignInUserSession(signInUserSession) {\n this.clearCachedUserData();\n this.signInUserSession = signInUserSession;\n this.cacheTokens();\n }\n /**\n * @returns {CognitoUserSession} the current session for this user\n */\n ;\n\n _proto.getSignInUserSession = function getSignInUserSession() {\n return this.signInUserSession;\n }\n /**\n * @returns {string} the user's username\n */\n ;\n\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n /**\n * @returns {String} the authentication flow type\n */\n ;\n\n _proto.getAuthenticationFlowType = function getAuthenticationFlowType() {\n return this.authenticationFlowType;\n }\n /**\n * sets authentication flow type\n * @param {string} authenticationFlowType New value.\n * @returns {void}\n */\n ;\n\n _proto.setAuthenticationFlowType = function setAuthenticationFlowType(authenticationFlowType) {\n this.authenticationFlowType = authenticationFlowType;\n }\n /**\n * This is used for authenticating the user through the custom authentication flow.\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.initiateAuth = function initiateAuth(authDetails, callback) {\n var _this = this;\n\n var authParameters = authDetails.getAuthParameters();\n authParameters.USERNAME = this.username;\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeName = data.ChallengeName;\n var challengeParameters = data.ChallengeParameters;\n\n if (challengeName === 'CUSTOM_CHALLENGE') {\n _this.Session = data.Session;\n return callback.customChallenge(challengeParameters);\n }\n\n _this.signInUserSession = _this.getCognitoUserSession(data.AuthenticationResult);\n\n _this.cacheTokens();\n\n return callback.onSuccess(_this.signInUserSession);\n });\n }\n /**\n * This is used for authenticating the user.\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.authenticateUser = function authenticateUser(authDetails, callback) {\n if (this.authenticationFlowType === 'USER_PASSWORD_AUTH') {\n return this.authenticateUserPlainUsernamePassword(authDetails, callback);\n } else if (this.authenticationFlowType === 'USER_SRP_AUTH' || this.authenticationFlowType === 'CUSTOM_AUTH') {\n return this.authenticateUserDefaultAuth(authDetails, callback);\n }\n\n return callback.onFailure(new Error('Authentication flow type is invalid.'));\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * It calls the AuthenticationHelper for SRP related\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.authenticateUserDefaultAuth = function authenticateUserDefaultAuth(authDetails, callback) {\n var _this2 = this;\n\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n var dateHelper = new DateHelper();\n var serverBValue;\n var salt;\n var authParameters = {};\n\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n\n authParameters.USERNAME = this.username;\n authenticationHelper.getLargeAValue(function (errOnAValue, aValue) {\n // getLargeAValue callback start\n if (errOnAValue) {\n callback.onFailure(errOnAValue);\n }\n\n authParameters.SRP_A = aValue.toString(16);\n\n if (_this2.authenticationFlowType === 'CUSTOM_AUTH') {\n authParameters.CHALLENGE_NAME = 'SRP_A';\n }\n\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: _this2.authenticationFlowType,\n ClientId: _this2.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n\n if (_this2.getUserContextData(_this2.username)) {\n jsonReq.UserContextData = _this2.getUserContextData(_this2.username);\n }\n\n _this2.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeParameters = data.ChallengeParameters;\n _this2.username = challengeParameters.USER_ID_FOR_SRP;\n _this2.userDataKey = _this2.keyPrefix + \".\" + _this2.username + \".userData\";\n serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n salt = new BigInteger(challengeParameters.SALT, 16);\n\n _this2.getCachedDeviceKeyAndPassword();\n\n authenticationHelper.getPasswordAuthenticationKey(_this2.username, authDetails.getPassword(), serverBValue, salt, function (errOnHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errOnHkdf) {\n callback.onFailure(errOnHkdf);\n }\n\n var dateNow = dateHelper.getNowString();\n var message = CryptoJS.lib.WordArray.create(Buffer.concat([Buffer.from(_this2.pool.getUserPoolId().split('_')[1], 'utf8'), Buffer.from(_this2.username, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]));\n var key = CryptoJS.lib.WordArray.create(hkdf);\n var signatureString = Base64.stringify(HmacSHA256(message, key));\n var challengeResponses = {};\n challengeResponses.USERNAME = _this2.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n\n if (_this2.deviceKey != null) {\n challengeResponses.DEVICE_KEY = _this2.deviceKey;\n }\n\n var respondToAuthChallenge = function respondToAuthChallenge(challenge, challengeCallback) {\n return _this2.client.request('RespondToAuthChallenge', challenge, function (errChallenge, dataChallenge) {\n if (errChallenge && errChallenge.code === 'ResourceNotFoundException' && errChallenge.message.toLowerCase().indexOf('device') !== -1) {\n challengeResponses.DEVICE_KEY = null;\n _this2.deviceKey = null;\n _this2.randomPassword = null;\n _this2.deviceGroupKey = null;\n\n _this2.clearCachedDeviceKeyAndPassword();\n\n return respondToAuthChallenge(challenge, challengeCallback);\n }\n\n return challengeCallback(errChallenge, dataChallenge);\n });\n };\n\n var jsonReqResp = {\n ChallengeName: 'PASSWORD_VERIFIER',\n ClientId: _this2.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session,\n ClientMetadata: clientMetaData\n };\n\n if (_this2.getUserContextData()) {\n jsonReqResp.UserContextData = _this2.getUserContextData();\n }\n\n respondToAuthChallenge(jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n\n return _this2.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined; // getPasswordAuthenticationKey callback end\n });\n return undefined;\n }); // getLargeAValue callback end\n\n });\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {AuthenticationDetails} authDetails Contains the authentication data.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.authenticateUserPlainUsernamePassword = function authenticateUserPlainUsernamePassword(authDetails, callback) {\n var _this3 = this;\n\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.PASSWORD = authDetails.getPassword();\n\n if (!authParameters.PASSWORD) {\n callback.onFailure(new Error('PASSWORD parameter is required'));\n return;\n }\n\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n this.getCachedDeviceKeyAndPassword();\n\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n\n if (this.getUserContextData(this.username)) {\n jsonReq.UserContextData = this.getUserContextData(this.username);\n } // USER_PASSWORD_AUTH happens in a single round-trip: client sends userName and password,\n // Cognito UserPools verifies password and returns tokens.\n\n\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return _this3.authenticateUserInternal(authResult, authenticationHelper, callback);\n });\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {object} dataAuthenticate authentication data\n * @param {object} authenticationHelper helper created\n * @param {callback} callback passed on from caller\n * @returns {void}\n */\n ;\n\n _proto.authenticateUserInternal = function authenticateUserInternal(dataAuthenticate, authenticationHelper, callback) {\n var _this4 = this;\n\n var challengeName = dataAuthenticate.ChallengeName;\n var challengeParameters = dataAuthenticate.ChallengeParameters;\n\n if (challengeName === 'SMS_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaRequired(challengeName, challengeParameters);\n }\n\n if (challengeName === 'SELECT_MFA_TYPE') {\n this.Session = dataAuthenticate.Session;\n return callback.selectMFAType(challengeName, challengeParameters);\n }\n\n if (challengeName === 'MFA_SETUP') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaSetup(challengeName, challengeParameters);\n }\n\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.totpRequired(challengeName, challengeParameters);\n }\n\n if (challengeName === 'CUSTOM_CHALLENGE') {\n this.Session = dataAuthenticate.Session;\n return callback.customChallenge(challengeParameters);\n }\n\n if (challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.Session = dataAuthenticate.Session;\n var userAttributes = null;\n var rawRequiredAttributes = null;\n var requiredAttributes = [];\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n\n if (challengeParameters) {\n userAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.userAttributes);\n rawRequiredAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.requiredAttributes);\n }\n\n if (rawRequiredAttributes) {\n for (var i = 0; i < rawRequiredAttributes.length; i++) {\n requiredAttributes[i] = rawRequiredAttributes[i].substr(userAttributesPrefix.length);\n }\n }\n\n return callback.newPasswordRequired(userAttributes, requiredAttributes);\n }\n\n if (challengeName === 'DEVICE_SRP_AUTH') {\n this.Session = dataAuthenticate.Session;\n this.getDeviceResponse(callback);\n return undefined;\n }\n\n this.signInUserSession = this.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n this.challengeName = challengeName;\n this.cacheTokens();\n var newDeviceMetadata = dataAuthenticate.AuthenticationResult.NewDeviceMetadata;\n\n if (newDeviceMetadata == null) {\n return callback.onSuccess(this.signInUserSession);\n }\n\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this4.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this4.deviceGroupKey = newDeviceMetadata.DeviceGroupKey;\n _this4.randomPassword = authenticationHelper.getRandomPassword();\n\n _this4.client.request('ConfirmDevice', {\n DeviceKey: newDeviceMetadata.DeviceKey,\n AccessToken: _this4.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n\n _this4.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n\n _this4.cacheDeviceKeyAndPassword();\n\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this4.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n\n return callback.onSuccess(_this4.signInUserSession);\n });\n\n return undefined;\n });\n return undefined;\n }\n /**\n * This method is user to complete the NEW_PASSWORD_REQUIRED challenge.\n * Pass the new password with any new user attributes to be updated.\n * User attribute keys must be of format userAttributes..\n * @param {string} newPassword new password for this user\n * @param {object} requiredAttributeData map with values for all required attributes\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.completeNewPasswordChallenge = function completeNewPasswordChallenge(newPassword, requiredAttributeData, callback, clientMetadata) {\n var _this5 = this;\n\n if (!newPassword) {\n return callback.onFailure(new Error('New password is required.'));\n }\n\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n var finalUserAttributes = {};\n\n if (requiredAttributeData) {\n Object.keys(requiredAttributeData).forEach(function (key) {\n finalUserAttributes[userAttributesPrefix + key] = requiredAttributeData[key];\n });\n }\n\n finalUserAttributes.NEW_PASSWORD = newPassword;\n finalUserAttributes.USERNAME = this.username;\n var jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\n ClientId: this.pool.getClientId(),\n ChallengeResponses: finalUserAttributes,\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n\n return _this5.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n }\n /**\n * This is used to get a session using device authentication. It is called at the end of user\n * authentication\n *\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n * @private\n */\n ;\n\n _proto.getDeviceResponse = function getDeviceResponse(callback, clientMetadata) {\n var _this6 = this;\n\n var authenticationHelper = new AuthenticationHelper(this.deviceGroupKey);\n var dateHelper = new DateHelper();\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.DEVICE_KEY = this.deviceKey;\n authenticationHelper.getLargeAValue(function (errAValue, aValue) {\n // getLargeAValue callback start\n if (errAValue) {\n callback.onFailure(errAValue);\n }\n\n authParameters.SRP_A = aValue.toString(16);\n var jsonReq = {\n ChallengeName: 'DEVICE_SRP_AUTH',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: authParameters,\n ClientMetadata: clientMetadata,\n Session: _this6.Session\n };\n\n if (_this6.getUserContextData()) {\n jsonReq.UserContextData = _this6.getUserContextData();\n }\n\n _this6.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeParameters = data.ChallengeParameters;\n var serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n var salt = new BigInteger(challengeParameters.SALT, 16);\n authenticationHelper.getPasswordAuthenticationKey(_this6.deviceKey, _this6.randomPassword, serverBValue, salt, function (errHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errHkdf) {\n return callback.onFailure(errHkdf);\n }\n\n var dateNow = dateHelper.getNowString();\n var message = CryptoJS.lib.WordArray.create(Buffer.concat([Buffer.from(_this6.deviceGroupKey, 'utf8'), Buffer.from(_this6.deviceKey, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]));\n var key = CryptoJS.lib.WordArray.create(hkdf);\n var signatureString = Base64.stringify(HmacSHA256(message, key));\n var challengeResponses = {};\n challengeResponses.USERNAME = _this6.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n challengeResponses.DEVICE_KEY = _this6.deviceKey;\n var jsonReqResp = {\n ChallengeName: 'DEVICE_PASSWORD_VERIFIER',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session\n };\n\n if (_this6.getUserContextData()) {\n jsonReqResp.UserContextData = _this6.getUserContextData();\n }\n\n _this6.client.request('RespondToAuthChallenge', jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n\n _this6.signInUserSession = _this6.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n\n _this6.cacheTokens();\n\n return callback.onSuccess(_this6.signInUserSession);\n });\n\n return undefined; // getPasswordAuthenticationKey callback end\n });\n return undefined;\n }); // getLargeAValue callback end\n\n });\n }\n /**\n * This is used for a certain user to confirm the registration by using a confirmation code\n * @param {string} confirmationCode Code entered by user.\n * @param {bool} forceAliasCreation Allow migrating from an existing email / phone number.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.confirmRegistration = function confirmRegistration(confirmationCode, forceAliasCreation, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n ConfirmationCode: confirmationCode,\n Username: this.username,\n ForceAliasCreation: forceAliasCreation,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('ConfirmSignUp', jsonReq, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n }\n /**\n * This is used by the user once he has the responses to a custom challenge\n * @param {string} answerChallenge The custom challenge answer.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge\n * Custom challenge response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.sendCustomChallengeAnswer = function sendCustomChallengeAnswer(answerChallenge, callback, clientMetadata) {\n var _this7 = this;\n\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n this.getCachedDeviceKeyAndPassword();\n\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n\n var jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return _this7.authenticateUserInternal(data, authenticationHelper, callback);\n });\n }\n /**\n * This is used by the user once he has an MFA code\n * @param {string} confirmationCode The MFA code entered by the user.\n * @param {object} callback Result callback map.\n * @param {string} mfaType The mfa we are replying to.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.sendMFACode = function sendMFACode(confirmationCode, callback, mfaType, clientMetadata) {\n var _this8 = this;\n\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.SMS_MFA_CODE = confirmationCode;\n var mfaTypeSelection = mfaType || 'SMS_MFA';\n\n if (mfaTypeSelection === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = confirmationCode;\n }\n\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n\n var jsonReq = {\n ChallengeName: mfaTypeSelection,\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, dataAuthenticate) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeName = dataAuthenticate.ChallengeName;\n\n if (challengeName === 'DEVICE_SRP_AUTH') {\n _this8.getDeviceResponse(callback);\n\n return undefined;\n }\n\n _this8.signInUserSession = _this8.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n\n _this8.cacheTokens();\n\n if (dataAuthenticate.AuthenticationResult.NewDeviceMetadata == null) {\n return callback.onSuccess(_this8.signInUserSession);\n }\n\n var authenticationHelper = new AuthenticationHelper(_this8.pool.getUserPoolId().split('_')[1]);\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this8.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this8.deviceGroupKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey;\n _this8.randomPassword = authenticationHelper.getRandomPassword();\n\n _this8.client.request('ConfirmDevice', {\n DeviceKey: dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey,\n AccessToken: _this8.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n\n _this8.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n\n _this8.cacheDeviceKeyAndPassword();\n\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this8.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n\n return callback.onSuccess(_this8.signInUserSession);\n });\n\n return undefined;\n });\n return undefined;\n });\n }\n /**\n * This is used by an authenticated user to change the current password\n * @param {string} oldUserPassword The current password.\n * @param {string} newUserPassword The requested new password.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.changePassword = function changePassword(oldUserPassword, newUserPassword, callback, clientMetadata) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('ChangePassword', {\n PreviousPassword: oldUserPassword,\n ProposedPassword: newUserPassword,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.enableMFA = function enableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n var mfaOptions = [];\n var mfaEnabled = {\n DeliveryMedium: 'SMS',\n AttributeName: 'phone_number'\n };\n mfaOptions.push(mfaEnabled);\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @param {IMfaSettings} smsMfaSettings the sms mfa settings\n * @param {IMFASettings} softwareTokenMfaSettings the software token mfa settings\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.setUserMfaPreference = function setUserMfaPreference(smsMfaSettings, softwareTokenMfaSettings, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('SetUserMFAPreference', {\n SMSMfaSettings: smsMfaSettings,\n SoftwareTokenMfaSettings: softwareTokenMfaSettings,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to disable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.disableMFA = function disableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n var mfaOptions = [];\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to delete itself\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.deleteUser = function deleteUser(callback, clientMetadata) {\n var _this9 = this;\n\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('DeleteUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n _this9.clearCachedUser();\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * @typedef {CognitoUserAttribute | { Name:string, Value:string }} AttributeArg\n */\n\n /**\n * This is used by an authenticated user to change a list of attributes\n * @param {AttributeArg[]} attributes A list of the new user attributes.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.updateAttributes = function updateAttributes(attributes, callback, clientMetadata) {\n var _this10 = this;\n\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('UpdateUserAttributes', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserAttributes: attributes,\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n } // update cached user\n\n\n return _this10.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to get a list of attributes\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.getUserAttributes = function getUserAttributes(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n\n var attributeList = [];\n\n for (var i = 0; i < userData.UserAttributes.length; i++) {\n var attribute = {\n Name: userData.UserAttributes[i].Name,\n Value: userData.UserAttributes[i].Value\n };\n var userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n\n return callback(null, attributeList);\n });\n return undefined;\n }\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.getMFAOptions = function getMFAOptions(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, userData.MFAOptions);\n });\n return undefined;\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.createGetUserRequest = function createGetUserRequest() {\n return this.client.promisifyRequest('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n });\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.refreshSessionIfPossible = function refreshSessionIfPossible(options) {\n var _this11 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n // best effort, if not possible\n return new Promise(function (resolve) {\n var refresh = _this11.signInUserSession.getRefreshToken();\n\n if (refresh && refresh.getToken()) {\n _this11.refreshSession(refresh, resolve, options.clientMetadata);\n } else {\n resolve();\n }\n });\n }\n /**\n * @typedef {Object} GetUserDataOptions\n * @property {boolean} bypassCache - force getting data from Cognito service\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used by an authenticated users to get the userData\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetUserDataOptions} params\n * @returns {void}\n */\n ;\n\n _proto.getUserData = function getUserData(callback, params) {\n var _this12 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.clearCachedUserData();\n return callback(new Error('User is not authenticated'), null);\n }\n\n var userData = this.getUserDataFromCache();\n\n if (!userData) {\n this.fetchUserData().then(function (data) {\n callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n\n if (this.isFetchUserDataAndTokenRequired(params)) {\n this.fetchUserData().then(function (data) {\n return _this12.refreshSessionIfPossible(params).then(function () {\n return data;\n });\n }).then(function (data) {\n return callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n\n try {\n callback(null, JSON.parse(userData));\n return;\n } catch (err) {\n this.clearCachedUserData();\n callback(err, null);\n return;\n }\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.getUserDataFromCache = function getUserDataFromCache() {\n var userData = this.storage.getItem(this.userDataKey);\n return userData;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.isFetchUserDataAndTokenRequired = function isFetchUserDataAndTokenRequired(params) {\n var _ref = params || {},\n _ref$bypassCache = _ref.bypassCache,\n bypassCache = _ref$bypassCache === void 0 ? false : _ref$bypassCache;\n\n return bypassCache;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.fetchUserData = function fetchUserData() {\n var _this13 = this;\n\n return this.createGetUserRequest().then(function (data) {\n _this13.cacheUserData(data);\n\n return data;\n });\n }\n /**\n * This is used by an authenticated user to delete a list of attributes\n * @param {string[]} attributeList Names of the attributes to delete.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.deleteAttributes = function deleteAttributes(attributeList, callback) {\n var _this14 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('DeleteUserAttributes', {\n UserAttributeNames: attributeList,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n } // update cached user\n\n\n return _this14.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n /**\n * This is used by a user to resend a confirmation code\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.resendConfirmationCode = function resendConfirmationCode(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n this.client.request('ResendConfirmationCode', jsonReq, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, result);\n });\n }\n /**\n * @typedef {Object} GetSessionOptions\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used to get a session, either from the session object\n * or from the local storage, or by using a refresh token\n *\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetSessionOptions} options\n * @returns {void}\n */\n ;\n\n _proto.getSession = function getSession(callback, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (this.username == null) {\n return callback(new Error('Username is null. Cannot retrieve a new session'), null);\n }\n\n if (this.signInUserSession != null && this.signInUserSession.isValid()) {\n return callback(null, this.signInUserSession);\n }\n\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var idTokenKey = keyPrefix + \".idToken\";\n var accessTokenKey = keyPrefix + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".clockDrift\";\n\n if (this.storage.getItem(idTokenKey)) {\n var idToken = new CognitoIdToken({\n IdToken: this.storage.getItem(idTokenKey)\n });\n var accessToken = new CognitoAccessToken({\n AccessToken: this.storage.getItem(accessTokenKey)\n });\n var refreshToken = new CognitoRefreshToken({\n RefreshToken: this.storage.getItem(refreshTokenKey)\n });\n var clockDrift = parseInt(this.storage.getItem(clockDriftKey), 0) || 0;\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken,\n ClockDrift: clockDrift\n };\n var cachedSession = new CognitoUserSession(sessionData);\n\n if (cachedSession.isValid()) {\n this.signInUserSession = cachedSession;\n return callback(null, this.signInUserSession);\n }\n\n if (!refreshToken.getToken()) {\n return callback(new Error('Cannot retrieve a new session. Please authenticate.'), null);\n }\n\n this.refreshSession(refreshToken, callback, options.clientMetadata);\n } else {\n callback(new Error('Local storage is missing an ID Token, Please authenticate'), null);\n }\n\n return undefined;\n }\n /**\n * This uses the refreshToken to retrieve a new session\n * @param {CognitoRefreshToken} refreshToken A previous session's refresh token.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.refreshSession = function refreshSession(refreshToken, callback, clientMetadata) {\n var _this15 = this;\n\n var wrappedCallback = this.pool.wrapRefreshSessionCallback ? this.pool.wrapRefreshSessionCallback(callback) : callback;\n var authParameters = {};\n authParameters.REFRESH_TOKEN = refreshToken.getToken();\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n\n if (this.storage.getItem(lastUserKey)) {\n this.username = this.storage.getItem(lastUserKey);\n var deviceKeyKey = keyPrefix + \".\" + this.username + \".deviceKey\";\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n if (err.code === 'NotAuthorizedException') {\n _this15.clearCachedUser();\n }\n\n return wrappedCallback(err, null);\n }\n\n if (authResult) {\n var authenticationResult = authResult.AuthenticationResult;\n\n if (!Object.prototype.hasOwnProperty.call(authenticationResult, 'RefreshToken')) {\n authenticationResult.RefreshToken = refreshToken.getToken();\n }\n\n _this15.signInUserSession = _this15.getCognitoUserSession(authenticationResult);\n\n _this15.cacheTokens();\n\n return wrappedCallback(null, _this15.signInUserSession);\n }\n\n return undefined;\n });\n }\n /**\n * This is used to save the session tokens to local storage\n * @returns {void}\n */\n ;\n\n _proto.cacheTokens = function cacheTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n this.storage.setItem(idTokenKey, this.signInUserSession.getIdToken().getJwtToken());\n this.storage.setItem(accessTokenKey, this.signInUserSession.getAccessToken().getJwtToken());\n this.storage.setItem(refreshTokenKey, this.signInUserSession.getRefreshToken().getToken());\n this.storage.setItem(clockDriftKey, \"\" + this.signInUserSession.getClockDrift());\n this.storage.setItem(lastUserKey, this.username);\n }\n /**\n * This is to cache user data\n */\n ;\n\n _proto.cacheUserData = function cacheUserData(userData) {\n this.storage.setItem(this.userDataKey, JSON.stringify(userData));\n }\n /**\n * This is to remove cached user data\n */\n ;\n\n _proto.clearCachedUserData = function clearCachedUserData() {\n this.storage.removeItem(this.userDataKey);\n };\n\n _proto.clearCachedUser = function clearCachedUser() {\n this.clearCachedTokens();\n this.clearCachedUserData();\n }\n /**\n * This is used to cache the device key and device group and device password\n * @returns {void}\n */\n ;\n\n _proto.cacheDeviceKeyAndPassword = function cacheDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.setItem(deviceKeyKey, this.deviceKey);\n this.storage.setItem(randomPasswordKey, this.randomPassword);\n this.storage.setItem(deviceGroupKeyKey, this.deviceGroupKey);\n }\n /**\n * This is used to get current device key and device group and device password\n * @returns {void}\n */\n ;\n\n _proto.getCachedDeviceKeyAndPassword = function getCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n\n if (this.storage.getItem(deviceKeyKey)) {\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n this.randomPassword = this.storage.getItem(randomPasswordKey);\n this.deviceGroupKey = this.storage.getItem(deviceGroupKeyKey);\n }\n }\n /**\n * This is used to clear the device key info from local storage\n * @returns {void}\n */\n ;\n\n _proto.clearCachedDeviceKeyAndPassword = function clearCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.removeItem(deviceKeyKey);\n this.storage.removeItem(randomPasswordKey);\n this.storage.removeItem(deviceGroupKeyKey);\n }\n /**\n * This is used to clear the session tokens from local storage\n * @returns {void}\n */\n ;\n\n _proto.clearCachedTokens = function clearCachedTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n this.storage.removeItem(idTokenKey);\n this.storage.removeItem(accessTokenKey);\n this.storage.removeItem(refreshTokenKey);\n this.storage.removeItem(lastUserKey);\n this.storage.removeItem(clockDriftKey);\n }\n /**\n * This is used to build a user session from tokens retrieved in the authentication result\n * @param {object} authResult Successful auth response from server.\n * @returns {CognitoUserSession} The new user session.\n * @private\n */\n ;\n\n _proto.getCognitoUserSession = function getCognitoUserSession(authResult) {\n var idToken = new CognitoIdToken(authResult);\n var accessToken = new CognitoAccessToken(authResult);\n var refreshToken = new CognitoRefreshToken(authResult);\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken\n };\n return new CognitoUserSession(sessionData);\n }\n /**\n * This is used to initiate a forgot password request\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode?} callback.inputVerificationCode\n * Optional callback raised instead of onSuccess with response data.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.forgotPassword = function forgotPassword(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('ForgotPassword', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n\n return callback.onSuccess(data);\n });\n }\n /**\n * This is used to confirm a new password using a confirmationCode\n * @param {string} confirmationCode Code entered by user.\n * @param {string} newPassword Confirm new password.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.confirmPassword = function confirmPassword(confirmationCode, newPassword, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ConfirmationCode: confirmationCode,\n Password: newPassword,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('ConfirmForgotPassword', jsonReq, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n }\n /**\n * This is used to initiate an attribute confirmation request\n * @param {string} attributeName User attribute that needs confirmation.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode} callback.inputVerificationCode Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.getAttributeVerificationCode = function getAttributeVerificationCode(attributeName, callback, clientMetadata) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('GetUserAttributeVerificationCode', {\n AttributeName: attributeName,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to confirm an attribute using a confirmation code\n * @param {string} attributeName Attribute being confirmed.\n * @param {string} confirmationCode Code entered by user.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.verifyAttribute = function verifyAttribute(attributeName, confirmationCode, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('VerifyUserAttribute', {\n AttributeName: attributeName,\n Code: confirmationCode,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to get the device information using the current device key\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device data.\n * @returns {void}\n */\n ;\n\n _proto.getDevice = function getDevice(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('GetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess(data);\n });\n return undefined;\n }\n /**\n * This is used to forget a specific device\n * @param {string} deviceKey Device key.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.forgetSpecificDevice = function forgetSpecificDevice(deviceKey, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('ForgetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: deviceKey\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to forget the current device\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.forgetDevice = function forgetDevice(callback) {\n var _this16 = this;\n\n this.forgetSpecificDevice(this.deviceKey, {\n onFailure: callback.onFailure,\n onSuccess: function onSuccess(result) {\n _this16.deviceKey = null;\n _this16.deviceGroupKey = null;\n _this16.randomPassword = null;\n\n _this16.clearCachedDeviceKeyAndPassword();\n\n return callback.onSuccess(result);\n }\n });\n }\n /**\n * This is used to set the device status as remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.setDeviceStatusRemembered = function setDeviceStatusRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to set the device status as not remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.setDeviceStatusNotRemembered = function setDeviceStatusNotRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'not_remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to list all devices for a user\n *\n * @param {int} limit the number of devices returned in a call\n * @param {string | null} paginationToken the pagination token in case any was returned before\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device list.\n * @returns {void}\n */\n ;\n\n _proto.listDevices = function listDevices(limit, paginationToken, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n var requestParams = {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n Limit: limit\n };\n\n if (paginationToken) {\n requestParams.PaginationToken = paginationToken;\n }\n\n this.client.request('ListDevices', requestParams, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess(data);\n });\n return undefined;\n }\n /**\n * This is used to globally revoke all tokens issued to a user\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.globalSignOut = function globalSignOut(callback) {\n var _this17 = this;\n\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('GlobalSignOut', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this17.clearCachedUser();\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used for the user to signOut of the application and clear the cached tokens.\n * @returns {void}\n */\n ;\n\n _proto.signOut = function signOut(revokeTokenCallback) {\n var _this18 = this;\n\n // If tokens won't be revoked, we just clean the client data.\n if (!revokeTokenCallback || typeof revokeTokenCallback !== 'function') {\n this.cleanClientData();\n return;\n }\n\n this.getSession(function (error, _session) {\n if (error) {\n return revokeTokenCallback(error);\n }\n\n _this18.revokeTokens(function (err) {\n _this18.cleanClientData();\n\n revokeTokenCallback(err);\n });\n });\n };\n\n _proto.revokeTokens = function revokeTokens(revokeTokenCallback) {\n if (revokeTokenCallback === void 0) {\n revokeTokenCallback = function revokeTokenCallback() {};\n }\n\n if (typeof revokeTokenCallback !== 'function') {\n throw new Error('Invalid revokeTokenCallback. It should be a function.');\n }\n\n var tokensToBeRevoked = [];\n\n if (!this.signInUserSession) {\n var error = new Error('User is not authenticated');\n return revokeTokenCallback(error);\n }\n\n if (!this.signInUserSession.getAccessToken()) {\n var _error = new Error('No Access token available');\n\n return revokeTokenCallback(_error);\n }\n\n var refreshToken = this.signInUserSession.getRefreshToken().getToken();\n var accessToken = this.signInUserSession.getAccessToken();\n\n if (this.isSessionRevocable(accessToken)) {\n if (refreshToken) {\n return this.revokeToken({\n token: refreshToken,\n callback: revokeTokenCallback\n });\n }\n }\n\n revokeTokenCallback();\n };\n\n _proto.isSessionRevocable = function isSessionRevocable(token) {\n if (token && typeof token.decodePayload === 'function') {\n try {\n var _token$decodePayload = token.decodePayload(),\n origin_jti = _token$decodePayload.origin_jti;\n\n return !!origin_jti;\n } catch (err) {// Nothing to do, token doesnt have origin_jti claim\n }\n }\n\n return false;\n };\n\n _proto.cleanClientData = function cleanClientData() {\n this.signInUserSession = null;\n this.clearCachedUser();\n };\n\n _proto.revokeToken = function revokeToken(_ref2) {\n var token = _ref2.token,\n callback = _ref2.callback;\n this.client.requestWithRetry('RevokeToken', {\n Token: token,\n ClientId: this.pool.getClientId()\n }, function (err) {\n if (err) {\n return callback(err);\n }\n\n callback();\n });\n }\n /**\n * This is used by a user trying to select a given MFA\n * @param {string} answerChallenge the mfa the user wants\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.sendMFASelectionAnswer = function sendMFASelectionAnswer(answerChallenge, callback) {\n var _this19 = this;\n\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this19.Session = data.Session;\n\n if (answerChallenge === 'SMS_MFA') {\n return callback.mfaRequired(data.ChallengeName, data.ChallengeParameters);\n }\n\n if (answerChallenge === 'SOFTWARE_TOKEN_MFA') {\n return callback.totpRequired(data.ChallengeName, data.ChallengeParameters);\n }\n\n return undefined;\n });\n }\n /**\n * This returns the user context data for advanced security feature.\n * @returns {string} the user context data from CognitoUserPool\n */\n ;\n\n _proto.getUserContextData = function getUserContextData() {\n var pool = this.pool;\n return pool.getUserContextData(this.username);\n }\n /**\n * This is used by an authenticated or a user trying to authenticate to associate a TOTP MFA\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.associateSoftwareToken = function associateSoftwareToken(callback) {\n var _this20 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('AssociateSoftwareToken', {\n Session: this.Session\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this20.Session = data.Session;\n return callback.associateSecretCode(data.SecretCode);\n });\n } else {\n this.client.request('AssociateSoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.associateSecretCode(data.SecretCode);\n });\n }\n }\n /**\n * This is used by an authenticated or a user trying to authenticate to verify a TOTP MFA\n * @param {string} totpCode The MFA code entered by the user.\n * @param {string} friendlyDeviceName The device name we are assigning to the device.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.verifySoftwareToken = function verifySoftwareToken(totpCode, friendlyDeviceName, callback) {\n var _this21 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('VerifySoftwareToken', {\n Session: this.Session,\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this21.Session = data.Session;\n var challengeResponses = {};\n challengeResponses.USERNAME = _this21.username;\n var jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ClientId: _this21.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: _this21.Session\n };\n\n if (_this21.getUserContextData()) {\n jsonReq.UserContextData = _this21.getUserContextData();\n }\n\n _this21.client.request('RespondToAuthChallenge', jsonReq, function (errRespond, dataRespond) {\n if (errRespond) {\n return callback.onFailure(errRespond);\n }\n\n _this21.signInUserSession = _this21.getCognitoUserSession(dataRespond.AuthenticationResult);\n\n _this21.cacheTokens();\n\n return callback.onSuccess(_this21.signInUserSession);\n });\n\n return undefined;\n });\n } else {\n this.client.request('VerifySoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess(data);\n });\n }\n };\n\n return CognitoUser;\n}();\n\nexport { CognitoUser as default };","// generated by genversion\nexport var version = '5.0.4';","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false\n};\n\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\n\nexport var getUserAgent = function getUserAgent() {\n return Platform.userAgent;\n};\n/**\n * @deprecated use named import\n */\n\nexport default Platform;","import { getUserAgent } from \"./Platform\"; // constructor\n\nfunction UserAgent() {} // public\n\n\nUserAgent.prototype.userAgent = getUserAgent();\nexport var appendToCognitoUserAgent = function appendToCognitoUserAgent(content) {\n if (!content) {\n return;\n }\n\n if (UserAgent.prototype.userAgent && !UserAgent.prototype.userAgent.includes(content)) {\n UserAgent.prototype.userAgent = UserAgent.prototype.userAgent.concat(' ', content);\n }\n\n if (!UserAgent.prototype.userAgent || UserAgent.prototype.userAgent === '') {\n UserAgent.prototype.userAgent = content;\n }\n}; // class for defining the amzn user-agent\n\nexport default UserAgent;","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport 'isomorphic-unfetch';\nimport UserAgent from './UserAgent';\n\nvar CognitoError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(CognitoError, _Error);\n\n function CognitoError(message, code, name, statusCode) {\n var _this;\n\n _this = _Error.call(this, message) || this;\n _this.code = code;\n _this.name = name;\n _this.statusCode = statusCode;\n return _this;\n }\n\n return CognitoError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/** @class */\n\n\nvar Client = /*#__PURE__*/function () {\n /**\n * Constructs a new AWS Cognito Identity Provider client object\n * @param {string} region AWS region\n * @param {string} endpoint endpoint\n * @param {object} fetchOptions options for fetch API (only credentials is supported)\n */\n function Client(region, endpoint, fetchOptions) {\n this.endpoint = endpoint || \"https://cognito-idp.\" + region + \".amazonaws.com/\";\n\n var _ref = fetchOptions || {},\n credentials = _ref.credentials;\n\n this.fetchOptions = credentials ? {\n credentials: credentials\n } : {};\n }\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @returns Promise\n */\n\n\n var _proto = Client.prototype;\n\n _proto.promisifyRequest = function promisifyRequest(operation, params) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n _this2.request(operation, params, function (err, data) {\n if (err) {\n reject(new CognitoError(err.message, err.code, err.name, err.statusCode));\n } else {\n resolve(data);\n }\n });\n });\n };\n\n _proto.requestWithRetry = function requestWithRetry(operation, params, callback) {\n var _this3 = this;\n\n var MAX_DELAY_IN_MILLIS = 5 * 1000;\n jitteredExponentialRetry(function (p) {\n return new Promise(function (res, rej) {\n _this3.request(operation, p, function (error, result) {\n if (error) {\n rej(error);\n } else {\n res(result);\n }\n });\n });\n }, [params], MAX_DELAY_IN_MILLIS).then(function (result) {\n return callback(null, result);\n })[\"catch\"](function (error) {\n return callback(error);\n });\n }\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @param {function} callback Callback called when a response is returned\n * @returns {void}\n */\n ;\n\n _proto.request = function request(operation, params, callback) {\n var headers = {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': \"AWSCognitoIdentityProviderService.\" + operation,\n 'X-Amz-User-Agent': UserAgent.prototype.userAgent\n };\n var options = Object.assign({}, this.fetchOptions, {\n headers: headers,\n method: 'POST',\n mode: 'cors',\n cache: 'no-cache',\n body: JSON.stringify(params)\n });\n var response;\n var responseJsonData;\n fetch(this.endpoint, options).then(function (resp) {\n response = resp;\n return resp;\n }, function (err) {\n // If error happens here, the request failed\n // if it is TypeError throw network error\n if (err instanceof TypeError) {\n throw new Error('Network error');\n }\n\n throw err;\n }).then(function (resp) {\n return resp.json()[\"catch\"](function () {\n return {};\n });\n }).then(function (data) {\n // return parsed body stream\n if (response.ok) return callback(null, data);\n responseJsonData = data; // Taken from aws-sdk-js/lib/protocol/json.js\n // eslint-disable-next-line no-underscore-dangle\n\n var code = (data.__type || data.code).split('#').pop();\n var error = new Error(data.message || data.Message || null);\n error.name = code;\n error.code = code;\n return callback(error);\n })[\"catch\"](function (err) {\n // first check if we have a service error\n if (response && response.headers && response.headers.get('x-amzn-errortype')) {\n try {\n var code = response.headers.get('x-amzn-errortype').split(':')[0];\n var error = new Error(response.status ? response.status.toString() : null);\n error.code = code;\n error.name = code;\n error.statusCode = response.status;\n return callback(error);\n } catch (ex) {\n return callback(err);\n } // otherwise check if error is Network error\n\n } else if (err instanceof Error && err.message === 'Network error') {\n err.code = 'NetworkError';\n }\n\n return callback(err);\n });\n };\n\n return Client;\n}();\n\nexport { Client as default };\nvar logger = {\n debug: function debug() {// Intentionally blank. This package doesn't have logging\n }\n};\n/**\n * For now, all errors are retryable.\n */\n\nvar NonRetryableError = /*#__PURE__*/function (_Error2) {\n _inheritsLoose(NonRetryableError, _Error2);\n\n function NonRetryableError(message) {\n var _this4;\n\n _this4 = _Error2.call(this, message) || this;\n _this4.nonRetryable = true;\n return _this4;\n }\n\n return NonRetryableError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar isNonRetryableError = function isNonRetryableError(obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\n\nfunction retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) {\n attempt = 1;\n }\n\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with args: \" + JSON.stringify(args));\n return functionToRetry.apply(void 0, args)[\"catch\"](function (err) {\n logger.debug(\"error on \" + functionToRetry.name, err);\n\n if (isNonRetryableError(err)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err);\n throw err;\n }\n\n var retryIn = delayFn(attempt, args, err);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn + \" ms\");\n\n if (retryIn !== false) {\n return new Promise(function (res) {\n return setTimeout(res, retryIn);\n }).then(function () {\n return retry(functionToRetry, args, delayFn, attempt + 1);\n });\n } else {\n throw err;\n }\n });\n}\n\nfunction jitteredBackoff(maxDelayMs) {\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n\nvar MAX_DELAY_MS = 5 * 60 * 1000;\n\nfunction jitteredExponentialRetry(functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) {\n maxDelayMs = MAX_DELAY_MS;\n }\n\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n}\n\n;","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport Client from './Client';\nimport CognitoUser from './CognitoUser';\nimport StorageHelper from './StorageHelper';\nvar USER_POOL_ID_MAX_LENGTH = 55;\n/** @class */\n\nvar CognitoUserPool = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserPool object\n * @param {object} data Creation options.\n * @param {string} data.UserPoolId Cognito user pool id.\n * @param {string} data.ClientId User pool application client id.\n * @param {string} data.endpoint Optional custom service endpoint.\n * @param {object} data.fetchOptions Optional options for fetch API.\n * (only credentials option is supported)\n * @param {object} data.Storage Optional storage object.\n * @param {boolean} data.AdvancedSecurityDataCollectionFlag Optional:\n * boolean flag indicating if the data collection is enabled\n * to support cognito advanced security features. By default, this\n * flag is set to true.\n */\n function CognitoUserPool(data, wrapRefreshSessionCallback) {\n var _ref = data || {},\n UserPoolId = _ref.UserPoolId,\n ClientId = _ref.ClientId,\n endpoint = _ref.endpoint,\n fetchOptions = _ref.fetchOptions,\n AdvancedSecurityDataCollectionFlag = _ref.AdvancedSecurityDataCollectionFlag;\n\n if (!UserPoolId || !ClientId) {\n throw new Error('Both UserPoolId and ClientId are required.');\n }\n\n if (UserPoolId.length > USER_POOL_ID_MAX_LENGTH || !/^[\\w-]+_[0-9a-zA-Z]+$/.test(UserPoolId)) {\n throw new Error('Invalid UserPoolId format.');\n }\n\n var region = UserPoolId.split('_')[0];\n this.userPoolId = UserPoolId;\n this.clientId = ClientId;\n this.client = new Client(region, endpoint, fetchOptions);\n /**\n * By default, AdvancedSecurityDataCollectionFlag is set to true,\n * if no input value is provided.\n */\n\n this.advancedSecurityDataCollectionFlag = AdvancedSecurityDataCollectionFlag !== false;\n this.storage = data.Storage || new StorageHelper().getStorage();\n\n if (wrapRefreshSessionCallback) {\n this.wrapRefreshSessionCallback = wrapRefreshSessionCallback;\n }\n }\n /**\n * @returns {string} the user pool id\n */\n\n\n var _proto = CognitoUserPool.prototype;\n\n _proto.getUserPoolId = function getUserPoolId() {\n return this.userPoolId;\n }\n /**\n * @returns {string} the client id\n */\n ;\n\n _proto.getClientId = function getClientId() {\n return this.clientId;\n }\n /**\n * @typedef {object} SignUpResult\n * @property {CognitoUser} user New user.\n * @property {bool} userConfirmed If the user is already confirmed.\n */\n\n /**\n * method for signing up a user\n * @param {string} username User's username.\n * @param {string} password Plain-text initial password entered by user.\n * @param {(AttributeArg[])=} userAttributes New user attributes.\n * @param {(AttributeArg[])=} validationData Application metadata.\n * @param {(AttributeArg[])=} clientMetadata Client metadata.\n * @param {nodeCallback} callback Called on error or with the new user.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.signUp = function signUp(username, password, userAttributes, validationData, callback, clientMetadata) {\n var _this = this;\n\n var jsonReq = {\n ClientId: this.clientId,\n Username: username,\n Password: password,\n UserAttributes: userAttributes,\n ValidationData: validationData,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData(username)) {\n jsonReq.UserContextData = this.getUserContextData(username);\n }\n\n this.client.request('SignUp', jsonReq, function (err, data) {\n if (err) {\n return callback(err, null);\n }\n\n var cognitoUser = {\n Username: username,\n Pool: _this,\n Storage: _this.storage\n };\n var returnData = {\n user: new CognitoUser(cognitoUser),\n userConfirmed: data.UserConfirmed,\n userSub: data.UserSub,\n codeDeliveryDetails: data.CodeDeliveryDetails\n };\n return callback(null, returnData);\n });\n }\n /**\n * method for getting the current user of the application from the local storage\n *\n * @returns {CognitoUser} the user retrieved from storage\n */\n ;\n\n _proto.getCurrentUser = function getCurrentUser() {\n var lastUserKey = \"CognitoIdentityServiceProvider.\" + this.clientId + \".LastAuthUser\";\n var lastAuthUser = this.storage.getItem(lastUserKey);\n\n if (lastAuthUser) {\n var cognitoUser = {\n Username: lastAuthUser,\n Pool: this,\n Storage: this.storage\n };\n return new CognitoUser(cognitoUser);\n }\n\n return null;\n }\n /**\n * This method returns the encoded data string used for cognito advanced security feature.\n * This would be generated only when developer has included the JS used for collecting the\n * data on their client. Please refer to documentation to know more about using AdvancedSecurity\n * features\n * @param {string} username the username for the context data\n * @returns {string} the user context data\n **/\n ;\n\n _proto.getUserContextData = function getUserContextData(username) {\n if (typeof AmazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n /* eslint-disable */\n\n\n var amazonCognitoAdvancedSecurityDataConst = AmazonCognitoAdvancedSecurityData;\n /* eslint-enable */\n\n if (this.advancedSecurityDataCollectionFlag) {\n var advancedSecurityData = amazonCognitoAdvancedSecurityDataConst.getData(username, this.userPoolId, this.clientId);\n\n if (advancedSecurityData) {\n var userContextData = {\n EncodedData: advancedSecurityData\n };\n return userContextData;\n }\n }\n\n return {};\n };\n\n return CognitoUserPool;\n}();\n\nexport { CognitoUserPool as default };","import * as Cookies from 'js-cookie';\n/** @class */\n\nvar CookieStorage = /*#__PURE__*/function () {\n /**\n * Constructs a new CookieStorage object\n * @param {object} data Creation options.\n * @param {string} data.domain Cookies domain (mandatory).\n * @param {string} data.path Cookies path (default: '/')\n * @param {integer} data.expires Cookie expiration (in days, default: 365)\n * @param {boolean} data.secure Cookie secure flag (default: true)\n * @param {string} data.sameSite Cookie request behaviour (default: null)\n */\n function CookieStorage(data) {\n if (data.domain) {\n this.domain = data.domain;\n } else {\n throw new Error('The domain of cookieStorage can not be undefined.');\n }\n\n if (data.path) {\n this.path = data.path;\n } else {\n this.path = '/';\n }\n\n if (Object.prototype.hasOwnProperty.call(data, 'expires')) {\n this.expires = data.expires;\n } else {\n this.expires = 365;\n }\n\n if (Object.prototype.hasOwnProperty.call(data, 'secure')) {\n this.secure = data.secure;\n } else {\n this.secure = true;\n }\n\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!['strict', 'lax', 'none'].includes(data.sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n\n if (data.sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n\n this.sameSite = data.sameSite;\n } else {\n this.sameSite = null;\n }\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n\n\n var _proto = CookieStorage.prototype;\n\n _proto.setItem = function setItem(key, value) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n\n Cookies.set(key, value, options);\n return Cookies.get(key);\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n ;\n\n _proto.getItem = function getItem(key) {\n return Cookies.get(key);\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n ;\n\n _proto.removeItem = function removeItem(key) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n\n return Cookies.remove(key, options);\n }\n /**\n * This is used to clear the storage of optional\n * items that were previously set\n * @returns {} an empty object\n */\n ;\n\n _proto.clear = function clear() {\n var cookies = Cookies.get();\n var numKeys = Object.keys(cookies).length;\n\n for (var index = 0; index < numKeys; ++index) {\n this.removeItem(Object.keys(cookies)[index]);\n }\n\n return {};\n };\n\n return CookieStorage;\n}();\n\nexport { CookieStorage as default };","/*!\n * ApexCharts v3.35.5\n * (c) 2018-2022 ApexCharts\n * Released under the MIT License.\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){\"use strict\";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===i(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isIE11\",value:function(){if(-1!==window.navigator.userAgent.indexOf(\"MSIE\")||window.navigator.appVersion.indexOf(\"Trident/\")>-1)return!0}},{key:\"isIE\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"MSIE \");if(e>0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")>0){var i=t.indexOf(\"rv:\");return parseInt(t.substring(i+3,t.indexOf(\".\",i)),10)}var a=t.indexOf(\"Edge/\");return a>0&&parseInt(t.substring(a+5,t.indexOf(\".\",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1};break;default:t=\"<>\"}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:\"animateCircle\",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove(\"apexcharts-element-hidden\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,\"in\").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:\"dropShadow\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&\"radialBar\"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\",l=this.w,h=l.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n});return h}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w,d=c.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),d.node.setAttribute(\"fill\",r),d}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i});return r}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;t<0&&(t=0);var a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":p,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\"L\",t,e].join(\" \"):\"H\"===i?a=[\"H\",t].join(\" \"):\"V\"===i&&(a=[\"V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l=\"A\";n&&(l=\"a\");var h=[l,t,e,i,a,s,r,o].join(\" \");return h}},{key:\"renderPaths\",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?i=r:(i=o,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,I=0;I=Array.isArray(T)?T[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:I});if(z.attr(\"index\",s),x&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,o=r.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}));return o}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=this.w,e=[];if(0===t.globals.series.length)return e;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"isSeriesNull\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:\"extendArrayProps\",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(r+1)+\")\");o&&(i=parseFloat(o.getAttribute(\"y\")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return i}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),\"x1\"===t?o:n}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2(\"x2\",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add(\"apexcharts-annotation-rect\"),c.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d=\"right\"===t.label.position?s.globals.gridWidth:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});g.attr({rel:i}),e.appendChild(g.node)}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addPointAnnotation\",value:function(t,e,i){this.w;var a=this.helpers.getX1X2(\"x1\",t),s=this.helpers.getY1Y2(\"y1\",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:\"\",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});h.attr({transform:\"translate(\".concat(a+t.customSVG.offsetX,\", \").concat(s+t.customSVG.offsetY,\")\")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&o.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener(\"click\",t.click.bind(this,t))}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,radius:2,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:\"init\",value:function(){return{annotations:{position:\"front\",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"transparent\",locales:[C],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,rangeBarOverlap:!0,rangeBarGroupRows:!1,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\"}},bubble:{minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:\"#fff\",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"light\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-annotations\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var T=P.bbox();if(s){var I=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,p,d||\"transparent\",1,g,f,u);M.insertBefore(I.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-annotations\":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new L,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\");e.globals.memory.methodsToExec.map((function(t,i){\"addText\"!==t.label&&\"addAnnotation\"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),M=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w;return(\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||\"heatmap\"===e.config.chart.type||\"treemap\"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill(a,o,l,h)),\"gradient\"===n&&(s=this.handleGradientFill(o,l,this.seriesIndex)),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(c=x.getOpacityFromRGBA(h));var d=void 0===s.fill.gradient.opacityTo?e:Array.isArray(s.fill.gradient.opacityTo)?s.fill.gradient.opacityTo[i]:s.fill.gradient.opacityTo;if(void 0===s.fill.gradient.gradientToColors||0===s.fill.gradient.gradientToColors.length)a=\"dark\"===s.fill.gradient.shade?n.shadeColor(-1*parseFloat(s.fill.gradient.shadeIntensity),t.indexOf(\"rgb\")>-1?x.rgb2hex(t):t):n.shadeColor(parseFloat(s.fill.gradient.shadeIntensity),t.indexOf(\"rgb\")>-1?x.rgb2hex(t):t);else if(s.fill.gradient.gradientToColors[r.seriesNumber]){var g=s.fill.gradient.gradientToColors[r.seriesNumber];a=g,g.indexOf(\"rgba\")>-1&&(d=x.getOpacityFromRGBA(g))}else a=t;if(s.fill.gradient.inverseColors){var u=h;h=a,a=u}return h.indexOf(\"rgb\")>-1&&(h=x.rgb2hex(h)),a.indexOf(\"rgb\")>-1&&(a=x.rgb2hex(a)),o.drawGradient(l,h,a,c,d,r.size,s.fill.gradient.stops,s.fill.gradient.colorStops,i)}}]),t}(),T=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0;if(f||r||d){x.isNumber(l.y[g])?p+=\" w\".concat(x.randomId()):p=\"apexcharts-nullpoint\";var b=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(b.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(b.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(b.pSize=a),(s=c.drawMarker(l.x[g],l.y[g],b)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",b.pSize);var y=new v(this.ctx);y.setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new M(this.ctx),g=new T(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:l,dataPointIndex:r,finishRadius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&\"bubble\"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[s][o]});if(\"circle\"===p.shape?f=u.drawCircle(i):\"square\"!==p.shape&&\"rect\"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,\"fill-opacity\":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,\"stroke-width\":p.pointStrokeWidth,\"stroke-dasharray\":p.pointStrokeDashArray,\"stroke-opacity\":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,\"circle\"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&\"circle\"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width+2||e>p.y+p.height+2||t+c4&&void 0!==arguments[4]?arguments[4]:2,r=this.w,o=new m(this.ctx),n=r.config.dataLabels,l=0,h=0,c=i,d=null;if(!n.enabled||!Array.isArray(t.x))return d;d=o.group({class:\"apexcharts-data-labels\"});for(var g=0;ge.globals.gridWidth+f.textRects.width+10)&&(n=\"\");var x=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),\"function\"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"});if(w.attr({class:\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"===i.config.chart.background?\"#fff\":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;ii.globals.gridHeight&&(c=i.globals.gridHeight-g)),{bcx:o,bcy:r,dataLabelsX:e,dataLabelsY:c}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.bcy,o=t.barHeight,n=t.barWidth,l=t.textRects,h=t.dataLabelsX,c=t.strokeWidth,d=t.barDataLabelsConfig,g=t.offX,u=t.offY,p=e.globals.gridHeight/e.globals.dataPoints;n=Math.abs(n);var f=r-(this.barCtx.isRangeBar?0:p)+o/2+l.height/2+u-3,x=this.barCtx.series[a][s]<0,b=i;switch(this.barCtx.isReversed&&(b=i+n-(x?2*n:0),i=e.globals.gridWidth-n),d.position){case\"center\":h=x?b+n/2-g:Math.max(l.width/2,b-n/2)+g;break;case\"bottom\":h=x?b+n-c-Math.round(l.width/2)-g:b-n+c+Math.round(l.width/2)+g;break;case\"top\":h=x?b-c+Math.round(l.width/2)-g:b-c-Math.round(l.width/2)+g}return e.config.chart.stacked||(h<0?h=h+l.width+c:h+l.width/2>e.globals.gridWidth&&(h=e.globals.gridWidth-l.width-c)),{bcx:i,bcy:r,dataLabelsX:h,dataLabelsY:f}}},{key:\"drawCalculatedDataLabels\",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g=\"rotate(0)\";\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(i,\", \").concat(a,\")\"));var u=new z(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:\"apexcharts-data-labels\",transform:g});var v=\"\";void 0!==s&&(v=f(s,{seriesIndex:r,dataPointIndex:o,w:d}));var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===w&&(c.textAnchor=y?\"end\":\"start\"),\"center\"===w&&(c.textAnchor=\"middle\"),\"bottom\"===w&&(c.textAnchor=y?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=\"\"):n.height/1.6>Math.abs(l)&&(v=\"\"));var k=e({},c);this.barCtx.isHorizontal&&s<0&&(\"start\"===c.textAnchor?k.textAnchor=\"end\":\"end\"===c.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}}]),t}(),E=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.legendInactiveClass=\"legend-mouseover-inactive\"}return r(t,[{key:\"getAllSeriesEls\",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName(\"apexcharts-series\")}},{key:\"getSeriesByName\",value:function(t){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner .apexcharts-series[seriesName='\".concat(x.escapeString(t),\"']\"))}},{key:\"isSeriesHidden\",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute(\"data:realIndex\"),10);return{isHidden:e.classList.contains(\"apexcharts-series-collapsed\"),realIndex:i}}},{key:\"addCollapsedClassToSeries\",value:function(t,e){var i=this.w;function a(i){for(var a=0;a0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"toggleSeriesOnHover\",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels\");if(\"mousemove\"===t.type){var s=parseInt(e.getAttribute(\"rel\"),10)-1,r=null,o=null;i.globals.axisCharts||\"radialBar\"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(s,\"']\")),o=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(s,\"']\"))):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"']\")):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"'] path\"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else\"mouseout\"===t.type&&r(\"remove\")}},{key:\"getActiveConfigSeriesIndex\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"asc\",i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(e,a){var s=!1;return t&&(s=\"bar\"===i.config.series[a].type||\"column\"===i.config.series[a].type),e.data&&e.data.length>0&&!s?a:-1})),r=\"asc\"===e?0:s.length-1;\"asc\"===e?r=0;\"asc\"===e?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),Y=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s=this.w,r=new M(this.barCtx.ctx),o=null,n=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(o=a.color)}));return s.config.series[e].data[i]&&s.config.series[e].data[i].fillColor&&(o=s.config.series[e].data[i].fillColor),r.fillPath({seriesNumber:this.barCtx.barOptions.distributed?n:a,dataPointIndex:i,color:o,value:t[e][i]})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new E(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e=t.barWidth,i=t.barXPosition,a=t.yRatio,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.series,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u={barWidth:e,strokeWidth:o,yRatio:a,barXPosition:i,y1:s,y2:r},p=this.getRoundedBars(d,u,n,h,c),f=i,x=i+e,b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);return d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,p.y2)+p.pathWithRadius+g.line(x-o,p.y2)+y+y+\"z\",v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s),d.config.chart.stacked&&(this.barCtx.yArrj.push(p.y2WithRadius),this.barCtx.yArrjF.push(Math.abs(s-p.y2WithRadius)),this.barCtx.yArrjVal.push(this.barCtx.series[h][c])),{pathTo:b,pathFrom:v}}},{key:\"getBarpaths\",value:function(t){var e=t.barYPosition,i=t.barHeight,a=t.x1,s=t.x2,r=t.strokeWidth,o=t.series,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new m(this.barCtx.ctx);(r=Array.isArray(r)?r[n]:r)||(r=0);var g={barHeight:i,strokeWidth:r,barYPosition:e,x2:s,x1:a},u=this.getRoundedBars(c,g,o,l,h),p=d.move(a,e),f=d.move(a,e);c.globals.previousPaths.length>0&&(f=this.barCtx.getPreviousPath(n,h,!1));var x=e,b=e+i,v=d.line(a,b-r);return p=p+d.line(u.x2,x)+u.pathWithRadius+d.line(u.x2,b-r)+v+v+\"z\",f=f+d.line(a,x)+v+v+v+v+v+d.line(a,x),c.config.chart.stacked&&(this.barCtx.xArrj.push(u.x2WithRadius),this.barCtx.xArrjF.push(Math.abs(a-u.x2WithRadius)),this.barCtx.xArrjVal.push(this.barCtx.series[l][h])),{pathTo:p,pathFrom:f}}},{key:\"getRoundedBars\",value:function(t,e,i,a,s){var r=new m(this.barCtx.ctx),o=0,n=t.config.plotOptions.bar.borderRadius,l=Array.isArray(n);l?o=n[a>n.length-1?n.length-1:a]:o=n;if(t.config.chart.stacked&&i.length>1&&a!==this.barCtx.radiusOnSeriesNumber&&!l&&(o=0),this.barCtx.isHorizontal){var h=\"\",c=e.x2;if(Math.abs(e.x1-e.x2)0:i[a][s]<0;d&&(o*=-1),c-=o,h=r.quadraticCurve(c+o,e.barYPosition,c+o,e.barYPosition+(d?-1*o:o))+r.line(c+o,e.barYPosition+e.barHeight-e.strokeWidth-(d?-1*o:o))+r.quadraticCurve(c+o,e.barYPosition+e.barHeight-e.strokeWidth,c,e.barYPosition+e.barHeight-e.strokeWidth)}return{pathWithRadius:h,x2WithRadius:c+o,x2:c}}var g=\"\",u=e.y2;if(Math.abs(e.y1-e.y2)=0;o--)this.barCtx.zeroSerieses.indexOf(o)>-1&&o===this.radiusOnSeriesNumber&&(this.barCtx.radiusOnSeriesNumber-=1);for(var n=e.length-1;n>=0;n--)i.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber)>-1&&(this.barCtx.radiusOnSeriesNumber-=1)}},{key:\"getXForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}},{key:\"getYForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s){var r=this,n=this.w,l=[];return n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][s]&&Array.isArray(n.globals.seriesGoals[a][s])&&n.globals.seriesGoals[a][s].forEach((function(a){var s;l.push((o(s={},t,\"x\"===t?r.getXForValue(a.value,e,!1):r.getYForValue(a.value,i,!1)),o(s,\"attrs\",a),s))})),l}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"}),h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),F=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRangeBar.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0,this.barHelpers=new Y(this)}return r(t,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.\");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),L=s.group({class:\"apexcharts-bar-goals-markers\",style:\"pointer-events: none\"}),P=0;P0&&b.push(u+A/2),f.push(p);var X=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:X,j:P,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:M,elSeries:w,x:u,y:p,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:\"bar\"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}return o}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.pathFrom,n=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,g=t.y1,u=t.y2,p=t.series,f=t.barHeight,x=t.barWidth,b=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.visibleSeries,A=t.type,S=this.w,C=new m(this.ctx);a||(a=this.barOptions.distributed?S.globals.stroke.colors[s]:S.globals.stroke.colors[e]),S.config.series[r].data[s]&&S.config.series[r].data[s].strokeColor&&(a=S.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var L=s/S.config.chart.animations.animateGradually.delay*(S.config.chart.animations.speed/S.globals.dataPoints)/2.4,P=C.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:S.config.stroke.lineCap,fill:i,animationDelay:L,initialSpeed:S.config.chart.animations.speed,dataChangeSpeed:S.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(A,\"-area\")});P.attr(\"clip-path\",\"url(#gridRectMask\".concat(S.globals.cuid,\")\"));var M=S.config.forecastDataPoints;M.count>0&&s>=S.globals.dataPoints-M.count&&(P.node.setAttribute(\"stroke-dasharray\",M.dashArray),P.node.setAttribute(\"stroke-width\",M.strokeWidth),P.node.setAttribute(\"fill-opacity\",M.fillOpacity)),void 0!==g&&void 0!==u&&(P.attr(\"data-range-y1\",g),P.attr(\"data-range-y2\",u)),new v(this.ctx).setSelectionFilter(P,e,s),h.add(P);var T=new X(this).handleBarDataLabels({x:c,y:d,y1:g,y2:u,i:r,j:s,series:p,realIndex:e,barHeight:f,barWidth:x,barYPosition:b,renderedPath:P,visibleSeries:k});return null!==T&&y.add(T),h.add(y),w&&h.add(w),h}},{key:\"drawBarPaths\",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,o=t.y,n=t.yDivision,l=t.elSeries,h=this.w,c=e.i,d=e.j;h.globals.isXNumeric&&(o=(h.globals.seriesX[c][d]-h.globals.minX)/this.invertedXRatio-i);var g=o+i*this.visibleI;r=this.barHelpers.getXForValue(this.series[c][d],s);var u=this.barHelpers.getBarpaths({barYPosition:g,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(o+=n),this.barHelpers.barBackground({j:d,i:c,y1:g-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:u.pathTo,pathFrom:u.pathFrom,x:r,y:o,goalX:this.barHelpers.getGoalValues(\"x\",s,null,c,d),barYPosition:g}}},{key:\"drawColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.strokeWidth,l=t.elSeries,h=this.w,c=e.realIndex,d=e.i,g=e.j,u=e.bc;if(h.globals.isXNumeric){var p=c;h.globals.seriesX[c].length||(p=h.globals.maxValsInArrayIndex),i=(h.globals.seriesX[p][g]-h.globals.minX)/this.xRatio-r*this.seriesLen/2}var f=i+r*this.visibleI;a=this.barHelpers.getYForValue(this.series[d][g],o);var x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:o,y2:a,strokeWidth:n,series:this.series,realIndex:e.realIndex,i:d,j:g,w:h});return h.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:u,j:g,i:d,x1:f-n/2-r*this.visibleI,x2:r*this.seriesLen+n/2,elSeries:l}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x:i,y:a,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:f}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),R=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:\"isValidDate\",value:function(t){return!isNaN(this.parseDate(t))}},{key:\"getTimeStamp\",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:\"getDate\",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:\"parseDate\",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"));return i=this.getTimeStamp(i)}},{key:\"parseDateWithTimezone\",value:function(t){return Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"))}},{key:\"formatDate\",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=[\"\\0\"].concat(u(i.months)),r=[\"\\x01\"].concat(u(i.shortMonths)),o=[\"\\x02\"].concat(u(i.days)),n=[\"\\x03\"].concat(u(i.shortDays));function l(t,e){var i=t+\"\";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])h/g,\"$1\"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(f))).replace(/(^|[^\\\\])m/g,\"$1\"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),H=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),o=0;o0&&(this.visibleI=this.visibleI+1);var f=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),w=s.group({class:\"apexcharts-rangebar-goals-markers\",style:\"pointer-events: none\"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRangeBar[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var p=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var f=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:u,goalY:this.barHelpers.getGoalValues(\"y\",null,r,n,l),barXPosition:p}}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues(\"x\",l,null,e.realIndex,e.j),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}},{key:\"getTooltipValues\",value:function(t){var e=t.ctx,i=t.seriesIndex,a=t.dataPointIndex,s=t.y1,r=t.y2,o=t.w,n=o.globals.seriesRangeStart[i][a],l=o.globals.seriesRangeEnd[i][a],h=o.globals.labels[a],c=o.config.series[i].name?o.config.series[i].name:\"\",d=o.config.tooltip.y.formatter,g=o.config.tooltip.y.title.formatter,u={w:o,seriesIndex:i,dataPointIndex:a,start:n,end:l};\"function\"==typeof g&&(c=g(c,u)),Number.isFinite(s)&&Number.isFinite(r)&&(n=s,l=r,o.config.series[i].data[a].x&&(h=o.config.series[i].data[a].x+\":\"),\"function\"==typeof d&&(h=d(h,u)));var p=\"\",f=\"\",x=o.globals.colors[i];if(void 0===o.config.tooltip.x.formatter)if(\"datetime\"===o.config.xaxis.type){var b=new R(e);p=b.formatDate(b.getDate(n),o.config.tooltip.x.format),f=b.formatDate(b.getDate(l),o.config.tooltip.x.format)}else p=n,f=l;else p=o.config.tooltip.x.formatter(n),f=o.config.tooltip.x.formatter(l);return{start:n,end:l,startVal:p,endVal:f,ylabel:h,color:x,seriesName:c}}},{key:\"buildCustomTooltipHTML\",value:function(t){var e=t.color,i=t.seriesName;return'
'+(i||\"\")+'
'+t.ylabel+' '+t.start+' - '+t.end+\"
\"}}]),s}(F),D=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:5,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-r},background:{enabled:!1},style:{colors:[\"#fff\"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t):function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"brush\",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+o+\"
\"+(n?\"
\".concat(a[2],': ')+n+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),N=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new D(a);this.chartType=a.chart.type,\"histogram\"===this.chartType&&(a.chart.type=\"bar\",a=x.extend({plotOptions:{bar:{columnWidth:\"99.99%\"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&\"object\"===i(a)){var l={};l=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"histogram\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&\"100%\"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),n=x.extend(o,l)}var h=x.extend(n,window.Apex);return o=x.extend(h,a),o=this.handleUserInputErrors(o)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a=new D(i),s=(\"bar\"===t||\"boxPlot\"===t)&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,o=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,n=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!o||\"between\"===n||(i=a.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both.\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.chart.background||(t.chart.background=\"#424242\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),O=function(){function t(){a(this,t)}return r(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRangeBar=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasGroups=!1,t.groups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),W=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(){var t=new N(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new O).init(t)}}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new R(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasGroups&&(s.groups=a.xaxis.group.groups);for(var n=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return x.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push(\"series-\"+parseInt(l+1,10)),void 0!==t[l].color?s.seriesColors.push(t[l].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRangeBar.length&&(i.seriesRangeBar.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new D(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new V(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new R(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new R(this.ctx).formatDate,w:n})));var f=function(t){var i=null;return e.forEach((function(t){\"month\"===t.unit?i=\"year\":\"day\"===t.unit?i=\"month\":\"hour\"===t.unit?i=\"day\":\"minute\"===t.unit&&(i=\"hour\")})),i===t};e.length>0?(g=f(e[a].unit),i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var x=new m(this.ctx),b={};b=n.globals.rotateXLabels&&o?x.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):x.getTextRects(h,parseInt(r,10));var v=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf(\"NaN\")||0===h.toLowerCase().indexOf(\"invalid\")||h.toLowerCase().indexOf(\"infinity\")>=0||s.indexOf(h)>=0&&v)&&(h=\"\"),{x:i,text:h,textRect:b,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),\"heatmap\"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),j=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"fixSvgStringForIe11\",value:function(t){if(!x.isIE11())return t.replace(/ /g,\" \");var e=0,i=t.replace(/xmlns=\"http:\\/\\/www.w3.org\\/2000\\/svg\"/g,(function(t){return 2===++e?'xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:svgjs=\"http://svgjs.dev\"':t}));return i=(i=i.replace(/xmlns:NS\\d+=\"\"/g,\"\")).replace(/NS\\d+:(\\w+:\\w+=\")/g,\"$1\")}},{key:\"getSvgString\",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});return URL.createObjectURL(e)}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"===a.config.chart.background?\"#fff\":a.config.chart.background,n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d=\"data:image/svg+xml,\"+encodeURIComponent(l),g=new Image;g.crossOrigin=\"anonymous\",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},g.src=d}}))}},{key:\"exportToSVG\",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,\".svg\")}},{key:\"exportToPng\",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d=\"\",g=new B(this.ctx),u=new G(this.ctx),p=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new E(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=u.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(\" \")),x.isNumber(i)?i:i.split(r).join(\"\")};h.push(l.config.chart.toolbar.export.csv.headerCategory),\"boxPlot\"===l.config.chart.type?(h.push(\"minimum\"),h.push(\"q1\"),h.push(\"median\"),h.push(\"q3\"),h.push(\"maximum\")):\"candlestick\"===l.config.chart.type?(h.push(\"open\"),h.push(\"high\"),h.push(\"low\"),h.push(\"close\")):\"rangeBar\"===l.config.chart.type?(h.push(\"minimum\"),h.push(\"maximum\")):i.map((function(t,e){var i=t.name?t.name:\"series-\".concat(e);l.globals.axisCharts&&h.push(i.split(r).join(\"\")?i.split(r).join(\"\"):\"series-\".concat(e))})),l.globals.axisCharts||(h.push(l.config.chart.toolbar.export.csv.headerValue),c.push(h.join(r))),i.map((function(t,e){l.globals.axisCharts?function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data&&t.data.length)for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join(\"\")));for(var o=0;o0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===i.config.xaxis.position?this.offY=0:this.offY=i.globals.gridHeight+1,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===i.config.chart.type&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return r(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(t&&y.text&&d.globals.xaxisLabelsCount++,d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,\"#fff\");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({x1:i,y1:a,x2:s,y2:r,parent:n});var h=0;if(l.globals.hasGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,xAxisTickWidth:t.globals.gridWidth/i}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}]),t}(),q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"niceScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if(\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn(\"axis.min cannot be greater than axis.max\"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&(\"candlestick\"===r.config.chart.type||\"candlestick\"===r.config.series[a].type||\"boxPlot\"===r.config.chart.type||\"boxPlot\"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=o/h,d=Math.floor(x.log10(c)),g=Math.pow(10,d),u=Math.round(c/g);u<1&&(u=1);var p=u*g,f=p*Math.floor(t/p),b=p*Math.ceil(e/p),v=f;if(s&&o>2){for(;l.push(v),!((v+=p)>b););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var m=t;(l=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,l.push(m);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:\"setMultipleYScales\",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:\"sameScaleInMultipleAxes\",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o=\"function\"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n=\"function\"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:\"autoScaleY\",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn(\"autoScaleYaxis is not supported in a multi-yaxis chart.\"),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new q(e)}return r(t,[{key:\"init\",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:\"getMinYMaxY\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&(\"number\"==typeof e.max?t.maxYArr[i]=e.max:\"function\"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&(\"number\"==typeof e.min?t.minYArr[i]=e.min:\"function\"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){[\"min\",\"max\"].forEach((function(i){void 0!==e.xaxis[i]&&\"number\"==typeof e.xaxis[i]&&(\"min\"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:\"setXRange\",value:function(){var t=this.w.globals,e=this.w.config,i=\"numeric\"===e.xaxis.type||\"datetime\"===e.xaxis.type||\"category\"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):\"dataPoints\"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:r+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(r));for(var n=0;n=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:\"apexcharts-yaxis-title\"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,\"title\");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=x.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,o=new _(this.ctx),n=new $(this.ctx);s.axisCharts&&\"radar\"!==t&&(s.isBarHorizontal?(a=n.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=n.drawYaxis(e),s.dom.Paper.add(a))}))))}}]),t}(),tt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(y=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new N({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&\"function\"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),\"function\"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new V(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(p),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new G(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new G(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new st(this),this.dimYAxis=new ot(this),this.dimXAxis=new rt(this),this.dimGrid=new nt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case\"right\":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new $(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),ht=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:\"getLegendStyles\",value:function(){var t=document.createElement(\"style\");t.setAttribute(\"type\",\"text/css\");var e=document.createTextNode(\"\\t\\n \\t\\n .apexcharts-legend {\\t\\n display: flex;\\t\\n overflow: auto;\\t\\n padding: 0 10px;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\t\\n flex-wrap: wrap\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n flex-direction: column;\\t\\n bottom: 0;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n justify-content: flex-start;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\t\\n justify-content: center; \\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\t\\n justify-content: flex-end;\\t\\n }\\t\\n .apexcharts-legend-series {\\t\\n cursor: pointer;\\t\\n line-height: normal;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\\t\\n display: flex;\\t\\n align-items: center;\\t\\n }\\t\\n .apexcharts-legend-text {\\t\\n position: relative;\\t\\n font-size: 14px;\\t\\n }\\t\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\t\\n pointer-events: none;\\t\\n }\\t\\n .apexcharts-legend-marker {\\t\\n position: relative;\\t\\n display: inline-block;\\t\\n cursor: pointer;\\t\\n margin-right: 3px;\\t\\n border-style: solid;\\n }\\t\\n \\t\\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\\t\\n display: inline-block;\\t\\n }\\t\\n .apexcharts-legend-series.apexcharts-no-click {\\t\\n cursor: auto;\\t\\n }\\t\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\t\\n display: none !important;\\t\\n }\\t\\n .apexcharts-inactive-legend {\\t\\n opacity: 0.45;\\t\\n }\");return t.appendChild(e),t}},{key:\"getLegendBBox\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\");var e=t.dom.elLegendForeign;e.setAttribute(\"x\",0),e.setAttribute(\"y\",0),e.setAttribute(\"width\",t.svgWidth),e.setAttribute(\"height\",t.svgHeight),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"hideSeries\",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),ct=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed=\"bar\"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new ht(this)}return r(t,[{key:\"init\",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName(\"head\")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(\".apexcharts-legend\").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new lt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new E(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new E(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(p={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new q(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new q(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(dt),ut=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(){return this.getElMarkers().length>0}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==p&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==p?p:\"\");o&&f[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display=\"none\":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:\"toggleActiveInactiveSeries\",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var i=e.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group\");i&&(i.classList.add(\"apexcharts-active\"),i.style.display=e.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new V(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new R(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ft=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-o.ttHeight/2}else a.globals.isBarHorizontal||(o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY),h<0&&(h=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0&&(h.setAttribute(\"r\",n),h.setAttribute(\"cx\",i),h.setAttribute(\"cy\",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new E(this.ctx).getActiveConfigSeriesIndex(!0);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute(\"r\",n),l[h]&&l[h].setAttribute(\"cy\",d)):l[h]&&l[h].setAttribute(\"r\",0)}}if(this.moveXCrosshairs(s),!i.fixedTooltip){var g=r||a.globals.gridHeight;this.moveTooltip(s,g,n)}}},{key:\"moveStickyTooltipOverBars\",value:function(t){var e=this.w,i=this.ttCtx,a=e.globals.columnSeries?e.globals.columnSeries.length:e.globals.series.length,s=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;e.globals.isBarHorizontal&&(s=new E(this.ctx).getActiveConfigSeriesIndex(!1,\"desc\")+1);var r=e.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"']\")),o=r?parseFloat(r.getAttribute(\"cx\")):0,n=r?parseFloat(r.getAttribute(\"cy\")):0,l=r?parseFloat(r.getAttribute(\"barWidth\")):0,h=r?parseFloat(r.getAttribute(\"barHeight\")):0,c=i.getElGrid().getBoundingClientRect(),d=r.classList.contains(\"apexcharts-candlestick-area\")||r.classList.contains(\"apexcharts-boxPlot-area\");if(e.globals.isXNumeric?(r&&!d&&(o-=a%2!=0?l/2:0),r&&d&&e.globals.comboCharts&&(o-=l/2)):e.globals.isBarHorizontal||(o=i.xAxisTicksPositions[t-1]+i.dataPointsDividedWidth/2,isNaN(o)&&(o=i.xAxisTicksPositions[t]-i.dataPointsDividedWidth/2)),e.globals.isBarHorizontal?(n>e.globals.gridHeight/2&&(n-=i.tooltipRect.ttHeight),(n=n+e.config.grid.padding.top+h/3)+h>e.globals.gridHeight&&(n=e.globals.gridHeight-h)):e.config.tooltip.followCursor?n=i.e.clientY-c.top-i.tooltipRect.ttHeight/2:n+i.tooltipRect.ttHeight+15>e.globals.gridHeight&&(n=e.globals.gridHeight),n<-10&&(n=-10),e.globals.isBarHorizontal||this.moveXCrosshairs(o),!i.fixedTooltip){var g=n||e.globals.gridHeight;this.moveTooltip(o,g)}}}]),t}(),xt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ft(e)}return r(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new m(this.ctx),i=new T(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid(),l=n.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute(\"r\",i):t[e].setAttribute(\"r\",0)}}}]),t}(),bt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=x.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)?c=r.globals.svgHeight-o.tooltipRect.ttHeight:c<0&&(c=0);var p=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),o.tooltipRect.ttHeight+c>r.globals.gridHeight?c=r.globals.gridHeight-o.tooltipRect.ttHeight+r.globals.translateY:(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2)<0&&(c=0),n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains(\"apexcharts-bar-area\")||d.contains(\"apexcharts-candlestick-area\")||d.contains(\"apexcharts-boxPlot-area\")||d.contains(\"apexcharts-rangebar-area\")){var g=e.target,u=g.getBoundingClientRect(),p=i.elGrid.getBoundingClientRect(),f=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute(\"cx\"),10),v=parseInt(g.getAttribute(\"cy\"),10);h=parseFloat(g.getAttribute(\"barWidth\"));var m=\"touchmove\"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute(\"j\"),10),o=parseInt(g.parentNode.getAttribute(\"rel\"),10)-1;var y=g.getAttribute(\"data-range-y1\"),w=g.getAttribute(\"data-range-y2\");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute(\"data:realIndex\"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-p.left+15,l=v-r.dataPointsDividedHeight+f/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-p.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),mt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new ut(this),this.tooltipLabels=new pt(this),this.tooltipPosition=new ft(this),this.marker=new xt(this),this.intersect=new bt(this),this.axesTooltip=new vt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new _(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add(\"apexcharts-tooltip-series-group-hidden\");var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new E(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width?this.handleMouseOut(a):null!==n?this.handleStickyCapturedSeries(t,n,a,o):(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal)&&this.create(t,this,0,o,a.ttItems)}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems)}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,o=this.w,n=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),h=this.tooltipUtil.getElBars();if(o.config.legend.tooltipHoverFormatter){var c=o.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var g=0;g0?n.marker.enlargePoints(a):n.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),this.barSeriesHeight>0)){var b=new m(this.ctx),v=o.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;y0&&(this.totalItems+=t[o].length);for(var n=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),l=0,h=0,c=function(r,o){var c=void 0,d=void 0,g=void 0,u=void 0,p=[],f=[],b=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=b),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var v=a.graphics.group({class:\"apexcharts-series\",seriesName:x.escapeString(s.globals.seriesNames[b]),rel:r+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(v,b);var m=a.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),y=0,w=0,k=a.initialPositions(l,h,c,d,g,u);h=k.y,y=k.barHeight,d=k.yDivision,u=k.zeroW,l=k.x,w=k.barWidth,c=k.xDivision,g=k.zeroH,a.yArrj=[],a.yArrjF=[],a.yArrjVal=[],a.xArrj=[],a.xArrjF=[],a.xArrjVal=[],1===a.prevY.length&&a.prevY[0].every((function(t){return isNaN(t)}))&&(a.prevY[0]=a.prevY[0].map((function(t){return g})),a.prevYF[0]=a.prevYF[0].map((function(t){return 0})));for(var A=0;A1?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(l.config.plotOptions.bar.columnWidth,10)/100,s=this.baseLineY[this.yaxisIndex]+(this.isReversed?l.globals.gridHeight:0)-(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-n)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=n,g=i.i,u=i.j,p=0,f=0;f0){var x=r;this.prevXVal[g-1][u]<0?x=this.series[g][u]>=0?this.prevX[g-1][u]+p-2*(this.isReversed?p:0):this.prevX[g-1][u]:this.prevXVal[g-1][u]>=0&&(x=this.series[g][u]>=0?this.prevX[g-1][u]:this.prevX[g-1][u]-p+2*(this.isReversed?p:0)),e=x}else e=r;o=null===this.series[g][u]?e:e+this.series[g][u]/this.invertedYRatio-2*(this.isReversed?this.series[g][u]/this.invertedYRatio:0);var b=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return this.barHelpers.barBackground({j:u,i:g,y1:d,y2:a,elSeries:h}),n+=l,{pathTo:b.pathTo,pathFrom:b.pathFrom,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH;t.strokeWidth;var n=t.elSeries,l=this.w,h=e.i,c=e.j,d=e.bc;if(l.globals.isXNumeric){var g=l.globals.seriesX[h][c];g||(g=0),i=(g-l.globals.minX)/this.xRatio-r/2}for(var u,p=i,f=0,x=0;x0&&!l.globals.isXNumeric||h>0&&l.globals.isXNumeric&&l.globals.seriesX[h-1][c]===l.globals.seriesX[h][c]){var b,v,m=Math.min(this.yRatio.length+1,h+1);if(void 0!==this.prevY[h-1])for(var y=1;y=0?v-f+2*(this.isReversed?f:0):v;break}if(this.prevYVal[h-w][c]>=0){b=this.series[h][c]>=0?v:v+f-2*(this.isReversed?f:0);break}}void 0===b&&(b=l.globals.gridHeight),u=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,h).every((function(t){return t.every((function(t){return isNaN(t)}))}))?l.globals.gridHeight-o:b}else u=l.globals.gridHeight-o;a=u-this.series[h][c]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[h][c]/this.yRatio[this.yaxisIndex]:0);var k=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:r,y1:u,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:h,j:c,w:l});return this.barHelpers.barBackground({bc:d,j:c,i:h,x1:p,x2:r,elSeries:n}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,x:l.globals.isXNumeric?i-s:i,y:a}}}]),s}(F),wt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this,s=this.w,r=new m(this.ctx),o=new M(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var n=new y(this.ctx,s);t=n.getLogSeries(t),this.series=t,this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var l=r.group({class:\"apexcharts-\".concat(s.config.chart.type,\"-series apexcharts-plot-series\")}),h=function(n){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[n].type;var h,c,d,g,u=void 0,p=void 0,f=[],b=[],v=s.globals.comboCharts?i[n]:n,m=r.group({class:\"apexcharts-series\",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:n+1,\"data:realIndex\":v});a.ctx.series.addCollapsedClassToSeries(m,v),t[n].length>0&&(a.visibleI=a.visibleI+1);var y,w;a.yRatio.length>1&&(a.yaxisIndex=v);var k=a.barHelpers.initialPositions();p=k.y,y=k.barHeight,c=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,h=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),S=function(i){var r=a.barHelpers.getStrokeWidth(n,i,v),l=null,x={indexes:{i:n,j:i,realIndex:v},x:u,y:p,strokeWidth:r,elSeries:m};l=a.isHorizontal?a.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:c,barHeight:y,zeroW:g})):a.drawVerticalBoxPaths(e(e({},x),{},{xDivision:h,barWidth:w,zeroH:d})),p=l.y,u=l.x,i>0&&b.push(u+w/2),f.push(p),l.pathTo.forEach((function(e,h){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?l.color[h]:s.globals.stroke.colors[n],d=o.fillPath({seriesNumber:v,dataPointIndex:i,color:l.color[h],value:t[n][i]});a.renderSeries({realIndex:v,pathFill:d,lineFill:c,j:i,i:n,pathFrom:l.pathFrom,pathTo:e,strokeWidth:r,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:a.visibleI,type:s.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+\"z\"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+\"z\"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(F),kt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l=\"dark\"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new z(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new m(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),At=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new kt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:\"draw\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),p=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),f=a>180?1:0,b=[\"M\",h,c,\"A\",s,s,0,f,1,d,g];return\"donut\"===e.chartType?[].concat(b,[\"L\",u.x,u.y,\"A\",e.donutSize,e.donutSize,0,f,0,p.x,p.y,\"L\",h,c,\"z\"]).join(\" \"):\"pie\"===e.chartType||\"polarArea\"===e.chartType?[].concat(b,[\"L\",e.centerX,e.centerY,\"L\",h,c]).join(\" \"):[].concat(b).join(\" \")}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new q(this.ctx),a=new m(this.ctx),s=new St(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(this.chartType.toLowerCase(),\"-slice-\").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new m(this.ctx),a=new M(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,T=i.drawPath({d:\"\",stroke:y,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+f,strokeDashArray:P});if(m.setAttrs(T.node,{\"data:angle\":L,\"data:value\":t.series[f]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;s.dropShadow(T,I,f)}s.setSelectionFilter(T,0,f),this.addListeners(T,this.radialDataLabels),b.add(T),T.attr({index:0,j:f});var z=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(z=e.config.chart.animations.speed),e.globals.dataChanged&&(z=e.config.chart.animations.dynamicAnimation.speed),this.animDur=z/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(T,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:z,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new M(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(Ct),Mt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if(\"line\"===i.config.chart.type&&(\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e=t.i,i=t.series,a=t.prevY,s=t.lineYPosition,r=this.w;if(void 0!==i[e][0])a=(s=r.config.chart.stacked&&e>0?this.lineCtx.prevSeriesY[e-1][0]:this.lineCtx.zeroY)-i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(r.config.chart.stacked&&e>0&&void 0===i[e][0])for(var o=e-1;o>=0;o--)if(null!==i[o][0]&&void 0!==i[o][0]){a=s=this.lineCtx.prevSeriesY[o][0];break}return{prevY:a,lineYPosition:s}}}]),t}(),Tt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new I(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Mt(this),this.markers=new T(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=a.globals.comboCharts?e:a.config.chart.type,o=s.group({class:\"apexcharts-\".concat(r,\"-series apexcharts-plot-series\")}),n=new y(this.ctx,a);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=n.getLogSeries(t),this.yRatio=n.getLogYRatios(this.yRatio);for(var l=[],h=0;h0&&(u=(a.globals.seriesX[c][0]-a.globals.minX)/this.xRatio),g.push(u);var p,f=u,x=f,b=this.zeroY;b=this.lineHelpers.determineFirstPrevY({i:h,series:t,prevY:b,lineYPosition:0}).prevY,d.push(b),p=b;var v=this._calculatePathsFrom({series:t,i:h,realIndex:c,prevX:x,prevY:b}),w=this._iterateOverDataPoints({series:t,realIndex:c,i:h,x:u,y:1,pX:f,pY:p,pathsFrom:v,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:g,yArrj:d});this._handlePaths({type:r,realIndex:c,i:h,paths:w}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),l.push(this.elSeries)}if(a.config.chart.stacked)for(var k=l.length;k>0;k--)o.add(l[k-1]);else for(var A=0;A1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":r,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.series,o=t.i,n=t.realIndex,l=t.prevX,h=t.prevY,c=this.w,d=new m(this.ctx);if(null===r[o][0]){for(var g=0;g0){var u=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:n});a=u.pathFromLine,s=u.pathFromArea}return{prevX:l,prevY:h,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new M(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(i)};if(\"area\"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0){var A=n.renderPaths(w);A.node.setAttribute(\"stroke-dasharray\",h.dashArray),h.strokeWidth&&A.node.setAttribute(\"stroke-width\",h.strokeWidth),this.elSeries.add(A),A.attr(\"clip-path\",\"url(#forecastMask\".concat(o.globals.cuid,\")\")),k.attr(\"clip-path\",\"url(#nonForecastMask\".concat(o.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){for(var e=t.series,i=t.realIndex,a=t.i,s=t.x,r=t.y,o=t.pX,n=t.pY,l=t.pathsFrom,h=t.linePaths,c=t.areaPaths,d=t.seriesIndex,g=t.lineYPosition,u=t.xArrj,p=t.yArrj,f=this.w,b=new m(this.ctx),v=this.yRatio,y=l.prevY,w=l.linePath,k=l.areaPath,A=l.pathFromLine,S=l.pathFromArea,C=x.isNumber(f.globals.minYArr[i])?f.globals.minYArr[i]:f.globals.minY,L=f.globals.dataPoints>1?f.globals.dataPoints-1:f.globals.dataPoints,P=0;P0&&f.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(a-1)][P+1]}else g=this.zeroY;else g=this.zeroY;r=M?g-C/v[this.yaxisIndex]+2*(this.isReversed?C/v[this.yaxisIndex]:0):g-e[a][P+1]/v[this.yaxisIndex]+2*(this.isReversed?e[a][P+1]/v[this.yaxisIndex]:0),u.push(s),p.push(r);var I=this.lineHelpers.calculatePoints({series:e,x:s,y:r,realIndex:i,i:a,j:P,prevY:y}),z=this._createPaths({series:e,i:a,realIndex:i,j:P,x:s,y:r,pX:o,pY:n,linePath:w,areaPath:k,linePaths:h,areaPaths:c,seriesIndex:d});c=z.areaPaths,h=z.linePaths,o=z.pX,n=z.pY,k=z.areaPath,w=z.linePath,this.appendPathFrom&&(A+=b.line(s,this.zeroY),S+=b.line(s,this.zeroY)),this.handleNullDataPoints(e,I,a,P,i),this._handleMarkersAndLabels({pointsPos:I,series:e,x:s,y:r,prevY:y,i:a,j:P,realIndex:i})}return{yArrj:p,xArrj:u,pathFromArea:S,areaPaths:c,pathFromLine:A,linePaths:h}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.pointsPos;t.series,t.x,t.y,t.prevY;var i=t.i,a=t.j,s=t.realIndex,r=this.w,o=new z(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,a,{realIndex:s,pointsPos:e,zRatio:this.zRatio,elParent:this.elPointsMain});else{r.globals.series[i].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var n=this.markers.plotChartMarkers(e,s,a+1);null!==n&&this.elPointsMain.add(n)}var l=o.drawDataLabel(e,s,a+1,null);null!==l&&this.elDataLabelsWrap.add(l)}},{key:\"_createPaths\",value:function(t){var e=t.series,i=t.i,a=t.realIndex,s=t.j,r=t.x,o=t.y,n=t.pX,l=t.pY,h=t.linePath,c=t.areaPath,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=this.w,f=new m(this.ctx),x=p.config.stroke.curve,b=this.areaBottomY;if(Array.isArray(p.config.stroke.curve)&&(x=Array.isArray(u)?p.config.stroke.curve[u[i]]:p.config.stroke.curve[i]),\"smooth\"===x){var v=.35*(r-n);p.globals.hasNullValues?(null!==e[i][s]&&(null!==e[i][s+1]?(h=f.move(n,l)+f.curve(n+v,l,r-v,o,r+1,o),c=f.move(n+1,l)+f.curve(n+v,l,r-v,o,r+1,o)+f.line(r,b)+f.line(n,b)+\"z\"):(h=f.move(n,l),c=f.move(n,l)+\"z\")),d.push(h),g.push(c)):(h+=f.curve(n+v,l,r-v,o,r,o),c+=f.curve(n+v,l,r-v,o,r,o)),n=r,l=o,s===e[i].length-2&&(c=c+f.curve(n,l,r,o,r,b)+f.move(r,o)+\"z\",p.globals.hasNullValues||(d.push(h),g.push(c)))}else{if(null===e[i][s+1]){h+=f.move(r,o);var y=p.globals.isXNumeric?(p.globals.seriesX[a][s]-p.globals.minX)/this.xRatio:r-this.xDivision;c=c+f.line(y,b)+f.move(r,o)+\"z\"}null===e[i][s]&&(h+=f.move(r,o),c+=f.move(r,b)),\"stepline\"===x?(h=h+f.line(r,null,\"H\")+f.line(null,o,\"V\"),c=c+f.line(r,null,\"H\")+f.line(null,o,\"V\")):\"straight\"===x&&(h+=f.line(r,o),c+=f.line(r,o)),s===e[i].length-2&&(c=c+f.line(r,b)+f.move(r,o)+\"z\",d.push(h),g.push(c))}return{linePaths:d,areaPaths:g,pX:n,pY:l,linePath:h,areaPath:c}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){return o=void 0===o?0:o,n=void 0===n?0:n,function(t){var e,i,a=[];for(e=0;e=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Et=86400,Yt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:\"calculateTimeScaleTicks\",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new R(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Et),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?e(e({},i),{},{value:t.value}):\"minute\"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):\"second\"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0);break;case\"seconds_fives\":r%5!=0&&(n=!0)}if(\"hours\"===a.tickInterval||\"minutes_fives\"===a.tickInterval||\"seconds_tens\"===a.tickInterval||\"seconds_fives\"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new lt(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new R(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c=\"year\",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n=\"month\",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u+1;60===d&&(g=0,p=(u=e.minHour)+1);var f=i,b=c(f,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)p=0,l=\"day\",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=0===p&&0===m?d*r:60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:\"minute\",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:\"second\",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new R(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Ft=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].indexOf(i)>-1,t.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].indexOf(i)>-1,t.isBarHorizontal=(\"bar\"===e.chart.type||\"rangeBar\"===e.chart.type||\"boxPlot\"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=\".apexcharts\"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(e.chart.offsetX,\", \").concat(e.chart.offsetY,\")\")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:\"apexcharts-annotations\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]};s.series.map((function(e,g){var u=0;void 0!==t[g].type?(\"column\"===t[g].type||\"bar\"===t[g].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"),h.series.push(e),h.i.push(g),u++,i.globals.columnSeries=h.series):\"area\"===t[g].type?(o.series.push(e),o.i.push(g),u++):\"line\"===t[g].type?(r.series.push(e),r.i.push(g),u++):\"scatter\"===t[g].type?(n.series.push(e),n.i.push(g)):\"bubble\"===t[g].type?(l.series.push(e),l.i.push(g),u++):\"candlestick\"===t[g].type?(c.series.push(e),c.i.push(g),u++):\"boxPlot\"===t[g].type?(d.series.push(e),d.i.push(g),u++):console.warn(\"You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble\"),u>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(g))}));var g=new Tt(this.ctx,e),u=new wt(this.ctx,e);this.ctx.pie=new Ct(this.ctx);var p=new Pt(this.ctx);this.ctx.rangeBar=new H(this.ctx,e);var f=new Lt(this.ctx),x=[];if(s.comboCharts){if(o.series.length>0&&x.push(g.draw(o.series,\"area\",o.i)),h.series.length>0)if(i.config.chart.stacked){var b=new yt(this.ctx,e);x.push(b.draw(h.series,h.i))}else this.ctx.bar=new F(this.ctx,e),x.push(this.ctx.bar.draw(h.series,h.i));if(r.series.length>0&&x.push(g.draw(r.series,\"line\",r.i)),c.series.length>0&&x.push(u.draw(c.series,c.i)),d.series.length>0&&x.push(u.draw(d.series,d.i)),n.series.length>0){var v=new Tt(this.ctx,e,!0);x.push(v.draw(n.series,\"scatter\",n.i))}if(l.series.length>0){var m=new Tt(this.ctx,e,!0);x.push(m.draw(l.series,\"bubble\",l.i))}}else switch(a.chart.type){case\"line\":x=g.draw(s.series,\"line\");break;case\"area\":x=g.draw(s.series,\"area\");break;case\"bar\":if(a.chart.stacked)x=new yt(this.ctx,e).draw(s.series);else this.ctx.bar=new F(this.ctx,e),x=this.ctx.bar.draw(s.series);break;case\"candlestick\":x=new wt(this.ctx,e).draw(s.series);break;case\"boxPlot\":x=new wt(this.ctx,e).draw(s.series);break;case\"rangeBar\":x=this.ctx.rangeBar.draw(s.series);break;case\"heatmap\":x=new At(this.ctx,e).draw(s.series);break;case\"treemap\":x=new Xt(this.ctx,e).draw(s.series);break;case\"pie\":case\"donut\":case\"polarArea\":x=this.ctx.pie.draw(s.series);break;case\"radialBar\":x=p.draw(s.series);break;case\"radar\":x=f.draw(s.series);break;default:x=g.draw(s.series)}return x}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):\"px\"!==a&&\"\"!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if(\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),\"%\"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+\"px\"}t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,\"top\"!==t.config.legend.position&&\"bottom\"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ct(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).indexOf(\"%\")>0||(e.dom.elWrap.style.height=l+\"px\",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+\"px\")}},{key:\"coreCalculations\",value:function(){new Z(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new O,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if(\"back\"===e.config.xaxis.crosshairs.position)new tt(this.ctx).drawXCrosshairs();if(\"back\"===e.config.yaxis[0].crosshairs.position)new tt(this.ctx).drawYCrosshairs();if(\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Yt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&\"function\"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new q(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Rt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"_updateOptions\",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&\"object\"===i(t)&&(r.config=new N(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new D(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();It=\"undefined\"!=typeof window?window:void 0,zt=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns=\"http://www.w3.org/2000/svg\",a.xmlns=\"http://www.w3.org/2000/xmlns/\",a.xlink=\"http://www.w3.org/1999/xlink\",a.svgjs=\"http://svgjs.dev\",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return\"Svgjs\"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:\"linearGradient\"==e.nodeName?new a.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new a.Gradient(\"radial\"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:i.polyline().node,path:i.path().node,native:a.create(\"svg\")}},a.parser={native:a.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+=\"\",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},r=\"mlhvqtcsaz\".split(\"\"),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute(\"d\",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if(\"string\"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||\"#document\"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement(\"svg\");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement(\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");i.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=i.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){\"object\"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||\"-\"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off(\"during.fx\",i).on(\"during.fx\",i),this.after((function(){this.off(\"during.fx\",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[m[s]]=null!=t[m[s]]?t[m[s]]:e[m[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=m.length-1;e>=0;e--)t[m[e]]=this[m[e]];return t},toString:function(){return\"matrix(\"+v(this.a)+\",\"+v(this.b)+\",\"+v(this.c)+\",\"+v(this.d)+\",\"+v(this.e)+\",\"+v(this.f)+\")\"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if(\"object\"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return\"object\"!==i(t)?(s=new a.Matrix(this).extract(),\"string\"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr(\"transform\",s))}}),a.extend(a.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||a.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)\"function\"==typeof a.Shape.prototype[e]&&\"function\"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||\"\").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var m=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var y=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};y.prototype=t.Event.prototype,a.CustomEvent=y}else a.CustomEvent=t.CustomEvent;return a},\"function\"==typeof define&&define.amd?define((function(){return zt(It,It.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":i(exports))&&\"undefined\"!=typeof module?module.exports=It.document?zt(It,It.document):function(t){return zt(t,t.document)}:It.SVG=zt(It,It.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n * https://github.com/wout/svg.filter.js\n * Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",r(Array.prototype.slice.call(arguments))):this.attr(\"stdDeviation\",\"0 0\")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i1&&(M*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(I).scale(1/M,1/T).rotate(-I),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new K(this.ctx),this.ctx.core=new Ft(this.ctx.el,this.ctx),this.ctx.config=new N({}),this.ctx.data=new B(this.ctx),this.ctx.grid=new U(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new tt(this.ctx),this.ctx.events=new J(this.ctx),this.ctx.exports=new j(this.ctx),this.ctx.localization=new Q(this.ctx),this.ctx.options=new L,this.ctx.responsive=new et(this.ctx),this.ctx.series=new E(this.ctx),this.ctx.theme=new it(this.ctx),this.ctx.formatters=new V(this.ctx),this.ctx.titleSubtitle=new at(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.dimensions=new lt(this.ctx),this.ctx.updateHelpers=new Rt(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new mt(this.ctx)}}]),t}(),Dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(t,e){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elAnnotations=null,r.elLegendWrap=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Nt=new WeakMap;return function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new W(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Ht(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if(\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Nt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=o.getElementById(\"apexcharts-css\");!r&&n||(t.css=document.createElement(\"style\"),t.css.id=\"apexcharts-css\",t.css.textContent='.apexcharts-canvas {\\n position: relative;\\n user-select: none;\\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\\n}\\n\\n\\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px;\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0, 0, 0, .5);\\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);\\n}\\n\\n\\n.apexcharts-inner {\\n position: relative;\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit;\\n}\\n\\n.legend-mouseover-inactive {\\n transition: 0.15s ease all;\\n opacity: 0.20;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0;\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: 0.15s ease all;\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: 0.15s ease all;\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255, 255, 255, 0.96);\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30, 30, 30, 0.8);\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit;\\n}\\n\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px;\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #ECEFF1;\\n border-bottom: 1px solid #ddd;\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0, 0, 0, 0.7);\\n border-bottom: 1px solid #333;\\n}\\n\\n.apexcharts-tooltip-text-y-value,\\n.apexcharts-tooltip-text-goals-value,\\n.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n font-weight: 600;\\n margin-left: 5px;\\n}\\n\\n.apexcharts-tooltip-title:empty,\\n.apexcharts-tooltip-text-y-label:empty,\\n.apexcharts-tooltip-text-y-value:empty,\\n.apexcharts-tooltip-text-goals-label:empty,\\n.apexcharts-tooltip-text-goals-value:empty,\\n.apexcharts-tooltip-text-z-value:empty {\\n display: none;\\n}\\n\\n.apexcharts-tooltip-text-y-value,\\n.apexcharts-tooltip-text-goals-value,\\n.apexcharts-tooltip-text-z-value {\\n font-weight: 600;\\n}\\n\\n.apexcharts-tooltip-text-goals-label, \\n.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px;\\n}\\n\\n.apexcharts-tooltip-goals-group, \\n.apexcharts-tooltip-text-goals-label, \\n.apexcharts-tooltip-text-goals-value {\\n display: flex;\\n}\\n.apexcharts-tooltip-text-goals-label:not(:empty),\\n.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px;\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0px;\\n margin-right: 10px;\\n border-radius: 50%;\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center;\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1;\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,\\n.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px;\\n}\\n\\n.apexcharts-tooltip-series-group-hidden {\\n opacity: 0;\\n height: 0;\\n line-height: 0;\\n padding: 0 !important;\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px;\\n}\\n\\n.apexcharts-tooltip-box, .apexcharts-custom-tooltip {\\n padding: 4px 8px;\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse;\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0;\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: bold;\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px;\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777;\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: bold;\\n display: block;\\n margin-bottom: 5px;\\n}\\n\\n.apexcharts-xaxistooltip {\\n opacity: 0;\\n padding: 9px 10px;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #ECEFF1;\\n border: 1px solid #90A4AE;\\n transition: 0.15s ease all;\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, 0.7);\\n border: 1px solid rgba(0, 0, 0, 0.5);\\n color: #fff;\\n}\\n\\n.apexcharts-xaxistooltip:after,\\n.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: rgba(236, 239, 241, 0);\\n border-width: 6px;\\n margin-left: -6px;\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: rgba(144, 164, 174, 0);\\n border-width: 7px;\\n margin-left: -7px;\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,\\n.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%;\\n}\\n\\n.apexcharts-xaxistooltip-top:after,\\n.apexcharts-xaxistooltip-top:before {\\n top: 100%;\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #ECEFF1;\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90A4AE;\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {\\n border-bottom-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #ECEFF1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90A4AE;\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {\\n border-top-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: 0.15s ease all;\\n}\\n\\n.apexcharts-yaxistooltip {\\n opacity: 0;\\n padding: 4px 10px;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #ECEFF1;\\n border: 1px solid #90A4AE;\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0, 0, 0, 0.7);\\n border: 1px solid rgba(0, 0, 0, 0.5);\\n color: #fff;\\n}\\n\\n.apexcharts-yaxistooltip:after,\\n.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: rgba(236, 239, 241, 0);\\n border-width: 6px;\\n margin-top: -6px;\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: rgba(144, 164, 174, 0);\\n border-width: 7px;\\n margin-top: -7px;\\n}\\n\\n.apexcharts-yaxistooltip-left:after,\\n.apexcharts-yaxistooltip-left:before {\\n left: 100%;\\n}\\n\\n.apexcharts-yaxistooltip-right:after,\\n.apexcharts-yaxistooltip-right:before {\\n right: 100%;\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #ECEFF1;\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90A4AE;\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {\\n border-left-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #ECEFF1;\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90A4AE;\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {\\n border-right-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0, 0, 0, 0.5);\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1;\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none;\\n}\\n\\n.apexcharts-xcrosshairs,\\n.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: 0.15s ease all;\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,\\n.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: 0.15s ease all;\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0;\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move;\\n}\\n\\n.svg_select_boundingRect, .svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden;\\n}\\n.apexcharts-selection-rect + g .svg_select_boundingRect,\\n.apexcharts-selection-rect + g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden;\\n}\\n\\n.apexcharts-selection-rect + g .svg_select_points_l,\\n.apexcharts-selection-rect + g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible;\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2;\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-zoom-icon,\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-pan-icon,\\n.apexcharts-selection-icon,\\n.apexcharts-menu-icon,\\n.apexcharts-toolbar-custom-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6E8192;\\n text-align: center;\\n}\\n\\n.apexcharts-zoom-icon svg,\\n.apexcharts-zoomin-icon svg,\\n.apexcharts-zoomout-icon svg,\\n.apexcharts-reset-icon svg,\\n.apexcharts-menu-icon svg {\\n fill: #6E8192;\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(0.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg,\\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\\n fill: #f3f4f5;\\n}\\n\\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\\n fill: #008FFB;\\n}\\n\\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\\n fill: #333;\\n}\\n\\n.apexcharts-selection-icon,\\n.apexcharts-menu-icon {\\n position: relative;\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px;\\n}\\n\\n.apexcharts-zoom-icon,\\n.apexcharts-reset-icon,\\n.apexcharts-menu-icon {\\n transform: scale(0.85);\\n}\\n\\n.apexcharts-zoomin-icon,\\n.apexcharts-zoomout-icon {\\n transform: scale(0.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px;\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(0.62);\\n position: relative;\\n left: 1px;\\n top: 0px;\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6E8192;\\n stroke-width: 2;\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008FFB;\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333;\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0px 6px 2px 6px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: 0.15s ease all;\\n pointer-events: none;\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: 0.15s ease all;\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer;\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee;\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0, 0, 0, 0.7);\\n color: #fff;\\n}\\n\\n@media screen and (min-width: 768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1;\\n }\\n}\\n\\n.apexcharts-datalabel.apexcharts-element-hidden {\\n opacity: 0;\\n}\\n\\n.apexcharts-pie-label,\\n.apexcharts-datalabels,\\n.apexcharts-datalabel,\\n.apexcharts-datalabel-label,\\n.apexcharts-datalabel-value {\\n cursor: default;\\n pointer-events: none;\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: 0.3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease;\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden {\\n opacity: 0;\\n}\\n\\n.apexcharts-hide .apexcharts-series-points {\\n opacity: 0;\\n}\\n\\n.apexcharts-gridline,\\n.apexcharts-annotation-rect,\\n.apexcharts-xaxis-annotation-label,\\n.apexcharts-yaxis-annotation-label,\\n.apexcharts-point-annotation-label,\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-line,\\n.apexcharts-zoom-rect,\\n.apexcharts-toolbar svg,\\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-radar-series path,\\n.apexcharts-radar-series polygon {\\n pointer-events: none;\\n}\\n\\n\\n/* markers */\\n\\n.apexcharts-marker {\\n transition: 0.15s ease all;\\n}\\n\\n@keyframes opaque {\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n}\\n\\n\\n/* Resize generated styles */\\n\\n@keyframes resizeanim {\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 0;\\n }\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n}\\n\\n.resize-triggers,\\n.resize-triggers>div,\\n.contract-trigger:before {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n}\\n\\n.resize-triggers>div {\\n background: #eee;\\n overflow: auto;\\n}\\n\\n.contract-trigger:before {\\n width: 200%;\\n height: 200%;\\n}',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this.w;new Ht(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new D(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new T(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),\"category\"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new z(this);l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition();var h={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:o,elInner:i.globals.dom.elGraphical,dimensions:h}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),\"treemap\"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new U(i);var o=i.grid.drawGrid();i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el);var n=new _(t.ctx),l=new $(t.ctx);if(null!==o&&(n.xAxisLabelCorrections(o.xAxisTickWidth),l.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&l.yAxisTitleRotate(e,t.opposite)}))),\"back\"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Nt.get(t))&&(e.disconnect(),Nt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Dt(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new j(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new j(this.ctx);return e.exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),o=2;o

\n * This programming interface lets a JavaScript client application use the MQTT V3.1 or\n * V3.1.1 protocol to connect to an MQTT-supporting messaging server.\n *\n * The function supported includes:\n *

    \n *
  1. Connecting to and disconnecting from a server. The server is identified by its host name and port number.\n *
  2. Specifying options that relate to the communications link with the server,\n * for example the frequency of keep-alive heartbeats, and whether SSL/TLS is required.\n *
  3. Subscribing to and receiving messages from MQTT Topics.\n *
  4. Publishing messages to MQTT Topics.\n *
\n *

\n * The API consists of two main objects:\n *

\n *
{@link Paho.Client}
\n *
This contains methods that provide the functionality of the API,\n * including provision of callbacks that notify the application when a message\n * arrives from or is delivered to the messaging server,\n * or when the status of its connection to the messaging server changes.
\n *
{@link Paho.Message}
\n *
This encapsulates the payload of the message along with various attributes\n * associated with its delivery, in particular the destination to which it has\n * been (or is about to be) sent.
\n *
\n *

\n * The programming interface validates parameters passed to it, and will throw\n * an Error containing an error message intended for developer use, if it detects\n * an error with any parameter.\n *

\n * Example:\n *\n *

\nvar client = new Paho.MQTT.Client(location.hostname, Number(location.port), \"clientId\");\nclient.onConnectionLost = onConnectionLost;\nclient.onMessageArrived = onMessageArrived;\nclient.connect({onSuccess:onConnect});\n\nfunction onConnect() {\n  // Once a connection has been made, make a subscription and send a message.\n  console.log(\"onConnect\");\n  client.subscribe(\"/World\");\n  var message = new Paho.MQTT.Message(\"Hello\");\n  message.destinationName = \"/World\";\n  client.send(message);\n};\nfunction onConnectionLost(responseObject) {\n  if (responseObject.errorCode !== 0)\n\tconsole.log(\"onConnectionLost:\"+responseObject.errorMessage);\n};\nfunction onMessageArrived(message) {\n  console.log(\"onMessageArrived:\"+message.payloadString);\n  client.disconnect();\n};\n * 
\n * @namespace Paho\n */\n\n/* jshint shadow:true */\n(function ExportLibrary(root, factory) {\n\tif(typeof exports === \"object\" && typeof module === \"object\"){\n\t\tmodule.exports = factory();\n\t} else if (typeof define === \"function\" && define.amd){\n\t\tdefine(factory);\n\t} else if (typeof exports === \"object\"){\n\t\texports = factory();\n\t} else {\n\t\t//if (typeof root.Paho === \"undefined\"){\n\t\t//\troot.Paho = {};\n\t\t//}\n\t\troot.Paho = factory();\n\t}\n})(this, function LibraryFactory(){\n\n\n\tvar PahoMQTT = (function (global) {\n\n\t// Private variables below, these are only visible inside the function closure\n\t// which is used to define the module.\n\tvar version = \"@VERSION@-@BUILDLEVEL@\";\n\n\t/**\n\t * @private\n\t */\n\tvar localStorage = global.localStorage || (function () {\n\t\tvar data = {};\n\n\t\treturn {\n\t\t\tsetItem: function (key, item) { data[key] = item; },\n\t\t\tgetItem: function (key) { return data[key]; },\n\t\t\tremoveItem: function (key) { delete data[key]; },\n\t\t};\n\t})();\n\n\t\t/**\n\t * Unique message type identifiers, with associated\n\t * associated integer values.\n\t * @private\n\t */\n\t\tvar MESSAGE_TYPE = {\n\t\t\tCONNECT: 1,\n\t\t\tCONNACK: 2,\n\t\t\tPUBLISH: 3,\n\t\t\tPUBACK: 4,\n\t\t\tPUBREC: 5,\n\t\t\tPUBREL: 6,\n\t\t\tPUBCOMP: 7,\n\t\t\tSUBSCRIBE: 8,\n\t\t\tSUBACK: 9,\n\t\t\tUNSUBSCRIBE: 10,\n\t\t\tUNSUBACK: 11,\n\t\t\tPINGREQ: 12,\n\t\t\tPINGRESP: 13,\n\t\t\tDISCONNECT: 14\n\t\t};\n\n\t\t// Collection of utility methods used to simplify module code\n\t\t// and promote the DRY pattern.\n\n\t\t/**\n\t * Validate an object's parameter names to ensure they\n\t * match a list of expected variables name for this option\n\t * type. Used to ensure option object passed into the API don't\n\t * contain erroneous parameters.\n\t * @param {Object} obj - User options object\n\t * @param {Object} keys - valid keys and types that may exist in obj.\n\t * @throws {Error} Invalid option parameter found.\n\t * @private\n\t */\n\t\tvar validate = function(obj, keys) {\n\t\t\tfor (var key in obj) {\n\t\t\t\tif (obj.hasOwnProperty(key)) {\n\t\t\t\t\tif (keys.hasOwnProperty(key)) {\n\t\t\t\t\t\tif (typeof obj[key] !== keys[key])\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof obj[key], key]));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar errorStr = \"Unknown property, \" + key + \". Valid properties are:\";\n\t\t\t\t\t\tfor (var validKey in keys)\n\t\t\t\t\t\t\tif (keys.hasOwnProperty(validKey))\n\t\t\t\t\t\t\t\terrorStr = errorStr+\" \"+validKey;\n\t\t\t\t\t\tthrow new Error(errorStr);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t * Return a new function which runs the user function bound\n\t * to a fixed scope.\n\t * @param {function} User function\n\t * @param {object} Function scope\n\t * @return {function} User function bound to another scope\n\t * @private\n\t */\n\t\tvar scope = function (f, scope) {\n\t\t\treturn function () {\n\t\t\t\treturn f.apply(scope, arguments);\n\t\t\t};\n\t\t};\n\n\t\t/**\n\t * Unique message type identifiers, with associated\n\t * associated integer values.\n\t * @private\n\t */\n\t\tvar ERROR = {\n\t\t\tOK: {code:0, text:\"AMQJSC0000I OK.\"},\n\t\t\tCONNECT_TIMEOUT: {code:1, text:\"AMQJSC0001E Connect timed out.\"},\n\t\t\tSUBSCRIBE_TIMEOUT: {code:2, text:\"AMQJS0002E Subscribe timed out.\"},\n\t\t\tUNSUBSCRIBE_TIMEOUT: {code:3, text:\"AMQJS0003E Unsubscribe timed out.\"},\n\t\t\tPING_TIMEOUT: {code:4, text:\"AMQJS0004E Ping timed out.\"},\n\t\t\tINTERNAL_ERROR: {code:5, text:\"AMQJS0005E Internal error. Error Message: {0}, Stack trace: {1}\"},\n\t\t\tCONNACK_RETURNCODE: {code:6, text:\"AMQJS0006E Bad Connack return code:{0} {1}.\"},\n\t\t\tSOCKET_ERROR: {code:7, text:\"AMQJS0007E Socket error:{0}.\"},\n\t\t\tSOCKET_CLOSE: {code:8, text:\"AMQJS0008I Socket closed.\"},\n\t\t\tMALFORMED_UTF: {code:9, text:\"AMQJS0009E Malformed UTF data:{0} {1} {2}.\"},\n\t\t\tUNSUPPORTED: {code:10, text:\"AMQJS0010E {0} is not supported by this browser.\"},\n\t\t\tINVALID_STATE: {code:11, text:\"AMQJS0011E Invalid state {0}.\"},\n\t\t\tINVALID_TYPE: {code:12, text:\"AMQJS0012E Invalid type {0} for {1}.\"},\n\t\t\tINVALID_ARGUMENT: {code:13, text:\"AMQJS0013E Invalid argument {0} for {1}.\"},\n\t\t\tUNSUPPORTED_OPERATION: {code:14, text:\"AMQJS0014E Unsupported operation.\"},\n\t\t\tINVALID_STORED_DATA: {code:15, text:\"AMQJS0015E Invalid data in local storage key={0} value={1}.\"},\n\t\t\tINVALID_MQTT_MESSAGE_TYPE: {code:16, text:\"AMQJS0016E Invalid MQTT message type {0}.\"},\n\t\t\tMALFORMED_UNICODE: {code:17, text:\"AMQJS0017E Malformed Unicode string:{0} {1}.\"},\n\t\t\tBUFFER_FULL: {code:18, text:\"AMQJS0018E Message buffer is full, maximum buffer size: {0}.\"},\n\t\t};\n\n\t\t/** CONNACK RC Meaning. */\n\t\tvar CONNACK_RC = {\n\t\t\t0:\"Connection Accepted\",\n\t\t\t1:\"Connection Refused: unacceptable protocol version\",\n\t\t\t2:\"Connection Refused: identifier rejected\",\n\t\t\t3:\"Connection Refused: server unavailable\",\n\t\t\t4:\"Connection Refused: bad user name or password\",\n\t\t\t5:\"Connection Refused: not authorized\"\n\t\t};\n\n\t/**\n\t * Format an error message text.\n\t * @private\n\t * @param {error} ERROR value above.\n\t * @param {substitutions} [array] substituted into the text.\n\t * @return the text with the substitutions made.\n\t */\n\t\tvar format = function(error, substitutions) {\n\t\t\tvar text = error.text;\n\t\t\tif (substitutions) {\n\t\t\t\tvar field,start;\n\t\t\t\tfor (var i=0; i 0) {\n\t\t\t\t\t\tvar part1 = text.substring(0,start);\n\t\t\t\t\t\tvar part2 = text.substring(start+field.length);\n\t\t\t\t\t\ttext = part1+substitutions[i]+part2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn text;\n\t\t};\n\n\t\t//MQTT protocol and version 6 M Q I s d p 3\n\t\tvar MqttProtoIdentifierv3 = [0x00,0x06,0x4d,0x51,0x49,0x73,0x64,0x70,0x03];\n\t\t//MQTT proto/version for 311 4 M Q T T 4\n\t\tvar MqttProtoIdentifierv4 = [0x00,0x04,0x4d,0x51,0x54,0x54,0x04];\n\n\t\t/**\n\t * Construct an MQTT wire protocol message.\n\t * @param type MQTT packet type.\n\t * @param options optional wire message attributes.\n\t *\n\t * Optional properties\n\t *\n\t * messageIdentifier: message ID in the range [0..65535]\n\t * payloadMessage:\tApplication Message - PUBLISH only\n\t * connectStrings:\tarray of 0 or more Strings to be put into the CONNECT payload\n\t * topics:\t\t\tarray of strings (SUBSCRIBE, UNSUBSCRIBE)\n\t * requestQoS:\t\tarray of QoS values [0..2]\n\t *\n\t * \"Flag\" properties\n\t * cleanSession:\ttrue if present / false if absent (CONNECT)\n\t * willMessage: \ttrue if present / false if absent (CONNECT)\n\t * isRetained:\t\ttrue if present / false if absent (CONNECT)\n\t * userName:\t\ttrue if present / false if absent (CONNECT)\n\t * password:\t\ttrue if present / false if absent (CONNECT)\n\t * keepAliveInterval:\tinteger [0..65535] (CONNECT)\n\t *\n\t * @private\n\t * @ignore\n\t */\n\t\tvar WireMessage = function (type, options) {\n\t\t\tthis.type = type;\n\t\t\tfor (var name in options) {\n\t\t\t\tif (options.hasOwnProperty(name)) {\n\t\t\t\t\tthis[name] = options[name];\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tWireMessage.prototype.encode = function() {\n\t\t// Compute the first byte of the fixed header\n\t\t\tvar first = ((this.type & 0x0f) << 4);\n\n\t\t\t/*\n\t\t * Now calculate the length of the variable header + payload by adding up the lengths\n\t\t * of all the component parts\n\t\t */\n\n\t\t\tvar remLength = 0;\n\t\t\tvar topicStrLength = [];\n\t\t\tvar destinationNameLength = 0;\n\t\t\tvar willMessagePayloadBytes;\n\n\t\t\t// if the message contains a messageIdentifier then we need two bytes for that\n\t\t\tif (this.messageIdentifier !== undefined)\n\t\t\t\tremLength += 2;\n\n\t\t\tswitch(this.type) {\n\t\t\t// If this a Connect then we need to include 12 bytes for its header\n\t\t\tcase MESSAGE_TYPE.CONNECT:\n\t\t\t\tswitch(this.mqttVersion) {\n\t\t\t\tcase 3:\n\t\t\t\t\tremLength += MqttProtoIdentifierv3.length + 3;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tremLength += MqttProtoIdentifierv4.length + 3;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tremLength += UTF8Length(this.clientId) + 2;\n\t\t\t\tif (this.willMessage !== undefined) {\n\t\t\t\t\tremLength += UTF8Length(this.willMessage.destinationName) + 2;\n\t\t\t\t\t// Will message is always a string, sent as UTF-8 characters with a preceding length.\n\t\t\t\t\twillMessagePayloadBytes = this.willMessage.payloadBytes;\n\t\t\t\t\tif (!(willMessagePayloadBytes instanceof Uint8Array))\n\t\t\t\t\t\twillMessagePayloadBytes = new Uint8Array(payloadBytes);\n\t\t\t\t\tremLength += willMessagePayloadBytes.byteLength +2;\n\t\t\t\t}\n\t\t\t\tif (this.userName !== undefined)\n\t\t\t\t\tremLength += UTF8Length(this.userName) + 2;\n\t\t\t\tif (this.password !== undefined)\n\t\t\t\t\tremLength += UTF8Length(this.password) + 2;\n\t\t\t\tbreak;\n\n\t\t\t// Subscribe, Unsubscribe can both contain topic strings\n\t\t\tcase MESSAGE_TYPE.SUBSCRIBE:\n\t\t\t\tfirst |= 0x02; // Qos = 1;\n\t\t\t\tfor ( var i = 0; i < this.topics.length; i++) {\n\t\t\t\t\ttopicStrLength[i] = UTF8Length(this.topics[i]);\n\t\t\t\t\tremLength += topicStrLength[i] + 2;\n\t\t\t\t}\n\t\t\t\tremLength += this.requestedQos.length; // 1 byte for each topic's Qos\n\t\t\t\t// QoS on Subscribe only\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.UNSUBSCRIBE:\n\t\t\t\tfirst |= 0x02; // Qos = 1;\n\t\t\t\tfor ( var i = 0; i < this.topics.length; i++) {\n\t\t\t\t\ttopicStrLength[i] = UTF8Length(this.topics[i]);\n\t\t\t\t\tremLength += topicStrLength[i] + 2;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBREL:\n\t\t\t\tfirst |= 0x02; // Qos = 1;\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\tif (this.payloadMessage.duplicate) first |= 0x08;\n\t\t\t\tfirst = first |= (this.payloadMessage.qos << 1);\n\t\t\t\tif (this.payloadMessage.retained) first |= 0x01;\n\t\t\t\tdestinationNameLength = UTF8Length(this.payloadMessage.destinationName);\n\t\t\t\tremLength += destinationNameLength + 2;\n\t\t\t\tvar payloadBytes = this.payloadMessage.payloadBytes;\n\t\t\t\tremLength += payloadBytes.byteLength;\n\t\t\t\tif (payloadBytes instanceof ArrayBuffer)\n\t\t\t\t\tpayloadBytes = new Uint8Array(payloadBytes);\n\t\t\t\telse if (!(payloadBytes instanceof Uint8Array))\n\t\t\t\t\tpayloadBytes = new Uint8Array(payloadBytes.buffer);\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.DISCONNECT:\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Now we can allocate a buffer for the message\n\n\t\t\tvar mbi = encodeMBI(remLength); // Convert the length to MQTT MBI format\n\t\t\tvar pos = mbi.length + 1; // Offset of start of variable header\n\t\t\tvar buffer = new ArrayBuffer(remLength + pos);\n\t\t\tvar byteStream = new Uint8Array(buffer); // view it as a sequence of bytes\n\n\t\t\t//Write the fixed header into the buffer\n\t\t\tbyteStream[0] = first;\n\t\t\tbyteStream.set(mbi,1);\n\n\t\t\t// If this is a PUBLISH then the variable header starts with a topic\n\t\t\tif (this.type == MESSAGE_TYPE.PUBLISH)\n\t\t\t\tpos = writeString(this.payloadMessage.destinationName, destinationNameLength, byteStream, pos);\n\t\t\t// If this is a CONNECT then the variable header contains the protocol name/version, flags and keepalive time\n\n\t\t\telse if (this.type == MESSAGE_TYPE.CONNECT) {\n\t\t\t\tswitch (this.mqttVersion) {\n\t\t\t\tcase 3:\n\t\t\t\t\tbyteStream.set(MqttProtoIdentifierv3, pos);\n\t\t\t\t\tpos += MqttProtoIdentifierv3.length;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tbyteStream.set(MqttProtoIdentifierv4, pos);\n\t\t\t\t\tpos += MqttProtoIdentifierv4.length;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tvar connectFlags = 0;\n\t\t\t\tif (this.cleanSession)\n\t\t\t\t\tconnectFlags = 0x02;\n\t\t\t\tif (this.willMessage !== undefined ) {\n\t\t\t\t\tconnectFlags |= 0x04;\n\t\t\t\t\tconnectFlags |= (this.willMessage.qos<<3);\n\t\t\t\t\tif (this.willMessage.retained) {\n\t\t\t\t\t\tconnectFlags |= 0x20;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.userName !== undefined)\n\t\t\t\t\tconnectFlags |= 0x80;\n\t\t\t\tif (this.password !== undefined)\n\t\t\t\t\tconnectFlags |= 0x40;\n\t\t\t\tbyteStream[pos++] = connectFlags;\n\t\t\t\tpos = writeUint16 (this.keepAliveInterval, byteStream, pos);\n\t\t\t}\n\n\t\t\t// Output the messageIdentifier - if there is one\n\t\t\tif (this.messageIdentifier !== undefined)\n\t\t\t\tpos = writeUint16 (this.messageIdentifier, byteStream, pos);\n\n\t\t\tswitch(this.type) {\n\t\t\tcase MESSAGE_TYPE.CONNECT:\n\t\t\t\tpos = writeString(this.clientId, UTF8Length(this.clientId), byteStream, pos);\n\t\t\t\tif (this.willMessage !== undefined) {\n\t\t\t\t\tpos = writeString(this.willMessage.destinationName, UTF8Length(this.willMessage.destinationName), byteStream, pos);\n\t\t\t\t\tpos = writeUint16(willMessagePayloadBytes.byteLength, byteStream, pos);\n\t\t\t\t\tbyteStream.set(willMessagePayloadBytes, pos);\n\t\t\t\t\tpos += willMessagePayloadBytes.byteLength;\n\n\t\t\t\t}\n\t\t\t\tif (this.userName !== undefined)\n\t\t\t\t\tpos = writeString(this.userName, UTF8Length(this.userName), byteStream, pos);\n\t\t\t\tif (this.password !== undefined)\n\t\t\t\t\tpos = writeString(this.password, UTF8Length(this.password), byteStream, pos);\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\t// PUBLISH has a text or binary payload, if text do not add a 2 byte length field, just the UTF characters.\n\t\t\t\tbyteStream.set(payloadBytes, pos);\n\n\t\t\t\tbreak;\n\n\t\t\t\t// \t case MESSAGE_TYPE.PUBREC:\n\t\t\t\t// \t case MESSAGE_TYPE.PUBREL:\n\t\t\t\t// \t case MESSAGE_TYPE.PUBCOMP:\n\t\t\t\t// \t \tbreak;\n\n\t\t\tcase MESSAGE_TYPE.SUBSCRIBE:\n\t\t\t\t// SUBSCRIBE has a list of topic strings and request QoS\n\t\t\t\tfor (var i=0; i> 4;\n\t\t\tvar messageInfo = first &= 0x0f;\n\t\t\tpos += 1;\n\n\n\t\t\t// Decode the remaining length (MBI format)\n\n\t\t\tvar digit;\n\t\t\tvar remLength = 0;\n\t\t\tvar multiplier = 1;\n\t\t\tdo {\n\t\t\t\tif (pos == input.length) {\n\t\t\t\t\treturn [null,startingPos];\n\t\t\t\t}\n\t\t\t\tdigit = input[pos++];\n\t\t\t\tremLength += ((digit & 0x7F) * multiplier);\n\t\t\t\tmultiplier *= 128;\n\t\t\t} while ((digit & 0x80) !== 0);\n\n\t\t\tvar endPos = pos+remLength;\n\t\t\tif (endPos > input.length) {\n\t\t\t\treturn [null,startingPos];\n\t\t\t}\n\n\t\t\tvar wireMessage = new WireMessage(type);\n\t\t\tswitch(type) {\n\t\t\tcase MESSAGE_TYPE.CONNACK:\n\t\t\t\tvar connectAcknowledgeFlags = input[pos++];\n\t\t\t\tif (connectAcknowledgeFlags & 0x01)\n\t\t\t\t\twireMessage.sessionPresent = true;\n\t\t\t\twireMessage.returnCode = input[pos++];\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\tvar qos = (messageInfo >> 1) & 0x03;\n\n\t\t\t\tvar len = readUint16(input, pos);\n\t\t\t\tpos += 2;\n\t\t\t\tvar topicName = parseUTF8(input, pos, len);\n\t\t\t\tpos += len;\n\t\t\t\t// If QoS 1 or 2 there will be a messageIdentifier\n\t\t\t\tif (qos > 0) {\n\t\t\t\t\twireMessage.messageIdentifier = readUint16(input, pos);\n\t\t\t\t\tpos += 2;\n\t\t\t\t}\n\n\t\t\t\tvar message = new Message(input.subarray(pos, endPos));\n\t\t\t\tif ((messageInfo & 0x01) == 0x01)\n\t\t\t\t\tmessage.retained = true;\n\t\t\t\tif ((messageInfo & 0x08) == 0x08)\n\t\t\t\t\tmessage.duplicate = true;\n\t\t\t\tmessage.qos = qos;\n\t\t\t\tmessage.destinationName = topicName;\n\t\t\t\twireMessage.payloadMessage = message;\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBACK:\n\t\t\tcase MESSAGE_TYPE.PUBREC:\n\t\t\tcase MESSAGE_TYPE.PUBREL:\n\t\t\tcase MESSAGE_TYPE.PUBCOMP:\n\t\t\tcase MESSAGE_TYPE.UNSUBACK:\n\t\t\t\twireMessage.messageIdentifier = readUint16(input, pos);\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.SUBACK:\n\t\t\t\twireMessage.messageIdentifier = readUint16(input, pos);\n\t\t\t\tpos += 2;\n\t\t\t\twireMessage.returnCode = input.subarray(pos, endPos);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn [wireMessage,endPos];\n\t\t}\n\n\t\tfunction writeUint16(input, buffer, offset) {\n\t\t\tbuffer[offset++] = input >> 8; //MSB\n\t\t\tbuffer[offset++] = input % 256; //LSB\n\t\t\treturn offset;\n\t\t}\n\n\t\tfunction writeString(input, utf8Length, buffer, offset) {\n\t\t\toffset = writeUint16(utf8Length, buffer, offset);\n\t\t\tstringToUTF8(input, buffer, offset);\n\t\t\treturn offset + utf8Length;\n\t\t}\n\n\t\tfunction readUint16(buffer, offset) {\n\t\t\treturn 256*buffer[offset] + buffer[offset+1];\n\t\t}\n\n\t\t/**\n\t * Encodes an MQTT Multi-Byte Integer\n\t * @private\n\t */\n\t\tfunction encodeMBI(number) {\n\t\t\tvar output = new Array(1);\n\t\t\tvar numBytes = 0;\n\n\t\t\tdo {\n\t\t\t\tvar digit = number % 128;\n\t\t\t\tnumber = number >> 7;\n\t\t\t\tif (number > 0) {\n\t\t\t\t\tdigit |= 0x80;\n\t\t\t\t}\n\t\t\t\toutput[numBytes++] = digit;\n\t\t\t} while ( (number > 0) && (numBytes<4) );\n\n\t\t\treturn output;\n\t\t}\n\n\t\t/**\n\t * Takes a String and calculates its length in bytes when encoded in UTF8.\n\t * @private\n\t */\n\t\tfunction UTF8Length(input) {\n\t\t\tvar output = 0;\n\t\t\tfor (var i = 0; i 0x7FF)\n\t\t\t\t{\n\t\t\t\t\t// Surrogate pair means its a 4 byte character\n\t\t\t\t\tif (0xD800 <= charCode && charCode <= 0xDBFF)\n\t\t\t\t\t{\n\t\t\t\t\t\ti++;\n\t\t\t\t\t\toutput++;\n\t\t\t\t\t}\n\t\t\t\t\toutput +=3;\n\t\t\t\t}\n\t\t\t\telse if (charCode > 0x7F)\n\t\t\t\t\toutput +=2;\n\t\t\t\telse\n\t\t\t\t\toutput++;\n\t\t\t}\n\t\t\treturn output;\n\t\t}\n\n\t\t/**\n\t * Takes a String and writes it into an array as UTF8 encoded bytes.\n\t * @private\n\t */\n\t\tfunction stringToUTF8(input, output, start) {\n\t\t\tvar pos = start;\n\t\t\tfor (var i = 0; i>6 & 0x1F | 0xC0;\n\t\t\t\t\toutput[pos++] = charCode & 0x3F | 0x80;\n\t\t\t\t} else if (charCode <= 0xFFFF) {\n\t\t\t\t\toutput[pos++] = charCode>>12 & 0x0F | 0xE0;\n\t\t\t\t\toutput[pos++] = charCode>>6 & 0x3F | 0x80;\n\t\t\t\t\toutput[pos++] = charCode & 0x3F | 0x80;\n\t\t\t\t} else {\n\t\t\t\t\toutput[pos++] = charCode>>18 & 0x07 | 0xF0;\n\t\t\t\t\toutput[pos++] = charCode>>12 & 0x3F | 0x80;\n\t\t\t\t\toutput[pos++] = charCode>>6 & 0x3F | 0x80;\n\t\t\t\t\toutput[pos++] = charCode & 0x3F | 0x80;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn output;\n\t\t}\n\n\t\tfunction parseUTF8(input, offset, length) {\n\t\t\tvar output = \"\";\n\t\t\tvar utf16;\n\t\t\tvar pos = offset;\n\n\t\t\twhile (pos < offset+length)\n\t\t\t{\n\t\t\t\tvar byte1 = input[pos++];\n\t\t\t\tif (byte1 < 128)\n\t\t\t\t\tutf16 = byte1;\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tvar byte2 = input[pos++]-128;\n\t\t\t\t\tif (byte2 < 0)\n\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16),\"\"]));\n\t\t\t\t\tif (byte1 < 0xE0) // 2 byte character\n\t\t\t\t\t\tutf16 = 64*(byte1-0xC0) + byte2;\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tvar byte3 = input[pos++]-128;\n\t\t\t\t\t\tif (byte3 < 0)\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16), byte3.toString(16)]));\n\t\t\t\t\t\tif (byte1 < 0xF0) // 3 byte character\n\t\t\t\t\t\t\tutf16 = 4096*(byte1-0xE0) + 64*byte2 + byte3;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvar byte4 = input[pos++]-128;\n\t\t\t\t\t\t\tif (byte4 < 0)\n\t\t\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16), byte3.toString(16), byte4.toString(16)]));\n\t\t\t\t\t\t\tif (byte1 < 0xF8) // 4 byte character\n\t\t\t\t\t\t\t\tutf16 = 262144*(byte1-0xF0) + 4096*byte2 + 64*byte3 + byte4;\n\t\t\t\t\t\t\telse // longer encodings are not supported\n\t\t\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16), byte3.toString(16), byte4.toString(16)]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (utf16 > 0xFFFF) // 4 byte character - express as a surrogate pair\n\t\t\t\t{\n\t\t\t\t\tutf16 -= 0x10000;\n\t\t\t\t\toutput += String.fromCharCode(0xD800 + (utf16 >> 10)); // lead character\n\t\t\t\t\tutf16 = 0xDC00 + (utf16 & 0x3FF); // trail character\n\t\t\t\t}\n\t\t\t\toutput += String.fromCharCode(utf16);\n\t\t\t}\n\t\t\treturn output;\n\t\t}\n\n\t\t/**\n\t * Repeat keepalive requests, monitor responses.\n\t * @ignore\n\t */\n\t\tvar Pinger = function(client, keepAliveInterval) {\n\t\t\tthis._client = client;\n\t\t\tthis._keepAliveInterval = keepAliveInterval*1000;\n\t\t\tthis.isReset = false;\n\n\t\t\tvar pingReq = new WireMessage(MESSAGE_TYPE.PINGREQ).encode();\n\n\t\t\tvar doTimeout = function (pinger) {\n\t\t\t\treturn function () {\n\t\t\t\t\treturn doPing.apply(pinger);\n\t\t\t\t};\n\t\t\t};\n\n\t\t\t/** @ignore */\n\t\t\tvar doPing = function() {\n\t\t\t\tif (!this.isReset) {\n\t\t\t\t\tthis._client._trace(\"Pinger.doPing\", \"Timed out\");\n\t\t\t\t\tthis._client._disconnected( ERROR.PING_TIMEOUT.code , format(ERROR.PING_TIMEOUT));\n\t\t\t\t} else {\n\t\t\t\t\tthis.isReset = false;\n\t\t\t\t\tthis._client._trace(\"Pinger.doPing\", \"send PINGREQ\");\n\t\t\t\t\tthis._client.socket.send(pingReq);\n\t\t\t\t\tthis.timeout = setTimeout(doTimeout(this), this._keepAliveInterval);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis.reset = function() {\n\t\t\t\tthis.isReset = true;\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t\tif (this._keepAliveInterval > 0)\n\t\t\t\t\tthis.timeout = setTimeout(doTimeout(this), this._keepAliveInterval);\n\t\t\t};\n\n\t\t\tthis.cancel = function() {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t};\n\t\t};\n\n\t\t/**\n\t * Monitor request completion.\n\t * @ignore\n\t */\n\t\tvar Timeout = function(client, timeoutSeconds, action, args) {\n\t\t\tif (!timeoutSeconds)\n\t\t\t\ttimeoutSeconds = 30;\n\n\t\t\tvar doTimeout = function (action, client, args) {\n\t\t\t\treturn function () {\n\t\t\t\t\treturn action.apply(client, args);\n\t\t\t\t};\n\t\t\t};\n\t\t\tthis.timeout = setTimeout(doTimeout(action, client, args), timeoutSeconds * 1000);\n\n\t\t\tthis.cancel = function() {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t};\n\t\t};\n\n\t/**\n\t * Internal implementation of the Websockets MQTT V3.1 client.\n\t *\n\t * @name Paho.ClientImpl @constructor\n\t * @param {String} host the DNS nameof the webSocket host.\n\t * @param {Number} port the port number for that host.\n\t * @param {String} clientId the MQ client identifier.\n\t */\n\t\tvar ClientImpl = function (uri, host, port, path, clientId) {\n\t\t// Check dependencies are satisfied in this browser.\n\t\t\tif (!(\"WebSocket\" in global && global.WebSocket !== null)) {\n\t\t\t\tthrow new Error(format(ERROR.UNSUPPORTED, [\"WebSocket\"]));\n\t\t\t}\n\t\t\tif (!(\"ArrayBuffer\" in global && global.ArrayBuffer !== null)) {\n\t\t\t\tthrow new Error(format(ERROR.UNSUPPORTED, [\"ArrayBuffer\"]));\n\t\t\t}\n\t\t\tthis._trace(\"Paho.Client\", uri, host, port, path, clientId);\n\n\t\t\tthis.host = host;\n\t\t\tthis.port = port;\n\t\t\tthis.path = path;\n\t\t\tthis.uri = uri;\n\t\t\tthis.clientId = clientId;\n\t\t\tthis._wsuri = null;\n\n\t\t\t// Local storagekeys are qualified with the following string.\n\t\t\t// The conditional inclusion of path in the key is for backward\n\t\t\t// compatibility to when the path was not configurable and assumed to\n\t\t\t// be /mqtt\n\t\t\tthis._localKey=host+\":\"+port+(path!=\"/mqtt\"?\":\"+path:\"\")+\":\"+clientId+\":\";\n\n\t\t\t// Create private instance-only message queue\n\t\t\t// Internal queue of messages to be sent, in sending order.\n\t\t\tthis._msg_queue = [];\n\t\t\tthis._buffered_msg_queue = [];\n\n\t\t\t// Messages we have sent and are expecting a response for, indexed by their respective message ids.\n\t\t\tthis._sentMessages = {};\n\n\t\t\t// Messages we have received and acknowleged and are expecting a confirm message for\n\t\t\t// indexed by their respective message ids.\n\t\t\tthis._receivedMessages = {};\n\n\t\t\t// Internal list of callbacks to be executed when messages\n\t\t\t// have been successfully sent over web socket, e.g. disconnect\n\t\t\t// when it doesn't have to wait for ACK, just message is dispatched.\n\t\t\tthis._notify_msg_sent = {};\n\n\t\t\t// Unique identifier for SEND messages, incrementing\n\t\t\t// counter as messages are sent.\n\t\t\tthis._message_identifier = 1;\n\n\t\t\t// Used to determine the transmission sequence of stored sent messages.\n\t\t\tthis._sequence = 0;\n\n\n\t\t\t// Load the local state, if any, from the saved version, only restore state relevant to this client.\n\t\t\tfor (var key in localStorage)\n\t\t\t\tif ( key.indexOf(\"Sent:\"+this._localKey) === 0 || key.indexOf(\"Received:\"+this._localKey) === 0)\n\t\t\t\t\tthis.restore(key);\n\t\t};\n\n\t\t// Messaging Client public instance members.\n\t\tClientImpl.prototype.host = null;\n\t\tClientImpl.prototype.port = null;\n\t\tClientImpl.prototype.path = null;\n\t\tClientImpl.prototype.uri = null;\n\t\tClientImpl.prototype.clientId = null;\n\n\t\t// Messaging Client private instance members.\n\t\tClientImpl.prototype.socket = null;\n\t\t/* true once we have received an acknowledgement to a CONNECT packet. */\n\t\tClientImpl.prototype.connected = false;\n\t\t/* The largest message identifier allowed, may not be larger than 2**16 but\n\t\t * if set smaller reduces the maximum number of outbound messages allowed.\n\t\t */\n\t\tClientImpl.prototype.maxMessageIdentifier = 65536;\n\t\tClientImpl.prototype.connectOptions = null;\n\t\tClientImpl.prototype.hostIndex = null;\n\t\tClientImpl.prototype.onConnected = null;\n\t\tClientImpl.prototype.onConnectionLost = null;\n\t\tClientImpl.prototype.onMessageDelivered = null;\n\t\tClientImpl.prototype.onMessageArrived = null;\n\t\tClientImpl.prototype.traceFunction = null;\n\t\tClientImpl.prototype._msg_queue = null;\n\t\tClientImpl.prototype._buffered_msg_queue = null;\n\t\tClientImpl.prototype._connectTimeout = null;\n\t\t/* The sendPinger monitors how long we allow before we send data to prove to the server that we are alive. */\n\t\tClientImpl.prototype.sendPinger = null;\n\t\t/* The receivePinger monitors how long we allow before we require evidence that the server is alive. */\n\t\tClientImpl.prototype.receivePinger = null;\n\t\tClientImpl.prototype._reconnectInterval = 1; // Reconnect Delay, starts at 1 second\n\t\tClientImpl.prototype._reconnecting = false;\n\t\tClientImpl.prototype._reconnectTimeout = null;\n\t\tClientImpl.prototype.disconnectedPublishing = false;\n\t\tClientImpl.prototype.disconnectedBufferSize = 5000;\n\n\t\tClientImpl.prototype.receiveBuffer = null;\n\n\t\tClientImpl.prototype._traceBuffer = null;\n\t\tClientImpl.prototype._MAX_TRACE_ENTRIES = 100;\n\n\t\tClientImpl.prototype.connect = function (connectOptions) {\n\t\t\tvar connectOptionsMasked = this._traceMask(connectOptions, \"password\");\n\t\t\tthis._trace(\"Client.connect\", connectOptionsMasked, this.socket, this.connected);\n\n\t\t\tif (this.connected)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"already connected\"]));\n\t\t\tif (this.socket)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"already connected\"]));\n\n\t\t\tif (this._reconnecting) {\n\t\t\t// connect() function is called while reconnect is in progress.\n\t\t\t// Terminate the auto reconnect process to use new connect options.\n\t\t\t\tthis._reconnectTimeout.cancel();\n\t\t\t\tthis._reconnectTimeout = null;\n\t\t\t\tthis._reconnecting = false;\n\t\t\t}\n\n\t\t\tthis.connectOptions = connectOptions;\n\t\t\tthis._reconnectInterval = 1;\n\t\t\tthis._reconnecting = false;\n\t\t\tif (connectOptions.uris) {\n\t\t\t\tthis.hostIndex = 0;\n\t\t\t\tthis._doConnect(connectOptions.uris[0]);\n\t\t\t} else {\n\t\t\t\tthis._doConnect(this.uri);\n\t\t\t}\n\n\t\t};\n\n\t\tClientImpl.prototype.subscribe = function (filter, subscribeOptions) {\n\t\t\tthis._trace(\"Client.subscribe\", filter, subscribeOptions);\n\n\t\t\tif (!this.connected)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connected\"]));\n\n var wireMessage = new WireMessage(MESSAGE_TYPE.SUBSCRIBE);\n wireMessage.topics = filter.constructor === Array ? filter : [filter];\n if (subscribeOptions.qos === undefined)\n subscribeOptions.qos = 0;\n wireMessage.requestedQos = [];\n for (var i = 0; i < wireMessage.topics.length; i++)\n wireMessage.requestedQos[i] = subscribeOptions.qos;\n\n\t\t\tif (subscribeOptions.onSuccess) {\n\t\t\t\twireMessage.onSuccess = function(grantedQos) {subscribeOptions.onSuccess({invocationContext:subscribeOptions.invocationContext,grantedQos:grantedQos});};\n\t\t\t}\n\n\t\t\tif (subscribeOptions.onFailure) {\n\t\t\t\twireMessage.onFailure = function(errorCode) {subscribeOptions.onFailure({invocationContext:subscribeOptions.invocationContext,errorCode:errorCode, errorMessage:format(errorCode)});};\n\t\t\t}\n\n\t\t\tif (subscribeOptions.timeout) {\n\t\t\t\twireMessage.timeOut = new Timeout(this, subscribeOptions.timeout, subscribeOptions.onFailure,\n\t\t\t\t\t[{invocationContext:subscribeOptions.invocationContext,\n\t\t\t\t\t\terrorCode:ERROR.SUBSCRIBE_TIMEOUT.code,\n\t\t\t\t\t\terrorMessage:format(ERROR.SUBSCRIBE_TIMEOUT)}]);\n\t\t\t}\n\n\t\t\t// All subscriptions return a SUBACK.\n\t\t\tthis._requires_ack(wireMessage);\n\t\t\tthis._schedule_message(wireMessage);\n\t\t};\n\n\t\t/** @ignore */\n\t\tClientImpl.prototype.unsubscribe = function(filter, unsubscribeOptions) {\n\t\t\tthis._trace(\"Client.unsubscribe\", filter, unsubscribeOptions);\n\n\t\t\tif (!this.connected)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connected\"]));\n\n var wireMessage = new WireMessage(MESSAGE_TYPE.UNSUBSCRIBE);\n wireMessage.topics = filter.constructor === Array ? filter : [filter];\n\n\t\t\tif (unsubscribeOptions.onSuccess) {\n\t\t\t\twireMessage.callback = function() {unsubscribeOptions.onSuccess({invocationContext:unsubscribeOptions.invocationContext});};\n\t\t\t}\n\t\t\tif (unsubscribeOptions.timeout) {\n\t\t\t\twireMessage.timeOut = new Timeout(this, unsubscribeOptions.timeout, unsubscribeOptions.onFailure,\n\t\t\t\t\t[{invocationContext:unsubscribeOptions.invocationContext,\n\t\t\t\t\t\terrorCode:ERROR.UNSUBSCRIBE_TIMEOUT.code,\n\t\t\t\t\t\terrorMessage:format(ERROR.UNSUBSCRIBE_TIMEOUT)}]);\n\t\t\t}\n\n\t\t\t// All unsubscribes return a SUBACK.\n\t\t\tthis._requires_ack(wireMessage);\n\t\t\tthis._schedule_message(wireMessage);\n\t\t};\n\n\t\tClientImpl.prototype.send = function (message) {\n\t\t\tthis._trace(\"Client.send\", message);\n\n\t\t\tvar wireMessage = new WireMessage(MESSAGE_TYPE.PUBLISH);\n\t\t\twireMessage.payloadMessage = message;\n\n\t\t\tif (this.connected) {\n\t\t\t// Mark qos 1 & 2 message as \"ACK required\"\n\t\t\t// For qos 0 message, invoke onMessageDelivered callback if there is one.\n\t\t\t// Then schedule the message.\n\t\t\t\tif (message.qos > 0) {\n\t\t\t\t\tthis._requires_ack(wireMessage);\n\t\t\t\t} else if (this.onMessageDelivered) {\n\t\t\t\t\tthis._notify_msg_sent[wireMessage] = this.onMessageDelivered(wireMessage.payloadMessage);\n\t\t\t\t}\n\t\t\t\tthis._schedule_message(wireMessage);\n\t\t\t} else {\n\t\t\t// Currently disconnected, will not schedule this message\n\t\t\t// Check if reconnecting is in progress and disconnected publish is enabled.\n\t\t\t\tif (this._reconnecting && this.disconnectedPublishing) {\n\t\t\t\t// Check the limit which include the \"required ACK\" messages\n\t\t\t\t\tvar messageCount = Object.keys(this._sentMessages).length + this._buffered_msg_queue.length;\n\t\t\t\t\tif (messageCount > this.disconnectedBufferSize) {\n\t\t\t\t\t\tthrow new Error(format(ERROR.BUFFER_FULL, [this.disconnectedBufferSize]));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (message.qos > 0) {\n\t\t\t\t\t\t// Mark this message as \"ACK required\"\n\t\t\t\t\t\t\tthis._requires_ack(wireMessage);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twireMessage.sequence = ++this._sequence;\n\t\t\t\t\t\t\t// Add messages in fifo order to array, by adding to start\n\t\t\t\t\t\t\tthis._buffered_msg_queue.unshift(wireMessage);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connected\"]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype.disconnect = function () {\n\t\t\tthis._trace(\"Client.disconnect\");\n\n\t\t\tif (this._reconnecting) {\n\t\t\t// disconnect() function is called while reconnect is in progress.\n\t\t\t// Terminate the auto reconnect process.\n\t\t\t\tthis._reconnectTimeout.cancel();\n\t\t\t\tthis._reconnectTimeout = null;\n\t\t\t\tthis._reconnecting = false;\n\t\t\t}\n\n\t\t\tif (!this.socket)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connecting or connected\"]));\n\n\t\t\tvar wireMessage = new WireMessage(MESSAGE_TYPE.DISCONNECT);\n\n\t\t\t// Run the disconnected call back as soon as the message has been sent,\n\t\t\t// in case of a failure later on in the disconnect processing.\n\t\t\t// as a consequence, the _disconected call back may be run several times.\n\t\t\tthis._notify_msg_sent[wireMessage] = scope(this._disconnected, this);\n\n\t\t\tthis._schedule_message(wireMessage);\n\t\t};\n\n\t\tClientImpl.prototype.getTraceLog = function () {\n\t\t\tif ( this._traceBuffer !== null ) {\n\t\t\t\tthis._trace(\"Client.getTraceLog\", new Date());\n\t\t\t\tthis._trace(\"Client.getTraceLog in flight messages\", this._sentMessages.length);\n\t\t\t\tfor (var key in this._sentMessages)\n\t\t\t\t\tthis._trace(\"_sentMessages \",key, this._sentMessages[key]);\n\t\t\t\tfor (var key in this._receivedMessages)\n\t\t\t\t\tthis._trace(\"_receivedMessages \",key, this._receivedMessages[key]);\n\n\t\t\t\treturn this._traceBuffer;\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype.startTrace = function () {\n\t\t\tif ( this._traceBuffer === null ) {\n\t\t\t\tthis._traceBuffer = [];\n\t\t\t}\n\t\t\tthis._trace(\"Client.startTrace\", new Date(), version);\n\t\t};\n\n\t\tClientImpl.prototype.stopTrace = function () {\n\t\t\tdelete this._traceBuffer;\n\t\t};\n\n\t\tClientImpl.prototype._doConnect = function (wsurl) {\n\t\t// When the socket is open, this client will send the CONNECT WireMessage using the saved parameters.\n\t\t\tif (this.connectOptions.useSSL) {\n\t\t\t\tvar uriParts = wsurl.split(\":\");\n\t\t\t\turiParts[0] = \"wss\";\n\t\t\t\twsurl = uriParts.join(\":\");\n\t\t\t}\n\t\t\tthis._wsuri = wsurl;\n\t\t\tthis.connected = false;\n\n\n\n\t\t\tif (this.connectOptions.mqttVersion < 4) {\n\t\t\t\tthis.socket = new WebSocket(wsurl, [\"mqttv3.1\"]);\n\t\t\t} else {\n\t\t\t\tthis.socket = new WebSocket(wsurl, [\"mqtt\"]);\n\t\t\t}\n\t\t\tthis.socket.binaryType = \"arraybuffer\";\n\t\t\tthis.socket.onopen = scope(this._on_socket_open, this);\n\t\t\tthis.socket.onmessage = scope(this._on_socket_message, this);\n\t\t\tthis.socket.onerror = scope(this._on_socket_error, this);\n\t\t\tthis.socket.onclose = scope(this._on_socket_close, this);\n\n\t\t\tthis.sendPinger = new Pinger(this, this.connectOptions.keepAliveInterval);\n\t\t\tthis.receivePinger = new Pinger(this, this.connectOptions.keepAliveInterval);\n\t\t\tif (this._connectTimeout) {\n\t\t\t\tthis._connectTimeout.cancel();\n\t\t\t\tthis._connectTimeout = null;\n\t\t\t}\n\t\t\tthis._connectTimeout = new Timeout(this, this.connectOptions.timeout, this._disconnected, [ERROR.CONNECT_TIMEOUT.code, format(ERROR.CONNECT_TIMEOUT)]);\n\t\t};\n\n\n\t\t// Schedule a new message to be sent over the WebSockets\n\t\t// connection. CONNECT messages cause WebSocket connection\n\t\t// to be started. All other messages are queued internally\n\t\t// until this has happened. When WS connection starts, process\n\t\t// all outstanding messages.\n\t\tClientImpl.prototype._schedule_message = function (message) {\n\t\t\t// Add messages in fifo order to array, by adding to start\n\t\t\tthis._msg_queue.unshift(message);\n\t\t\t// Process outstanding messages in the queue if we have an open socket, and have received CONNACK.\n\t\t\tif (this.connected) {\n\t\t\t\tthis._process_queue();\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype.store = function(prefix, wireMessage) {\n\t\t\tvar storedMessage = {type:wireMessage.type, messageIdentifier:wireMessage.messageIdentifier, version:1};\n\n\t\t\tswitch(wireMessage.type) {\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\tif(wireMessage.pubRecReceived)\n\t\t\t\t\tstoredMessage.pubRecReceived = true;\n\n\t\t\t\t// Convert the payload to a hex string.\n\t\t\t\tstoredMessage.payloadMessage = {};\n\t\t\t\tvar hex = \"\";\n\t\t\t\tvar messageBytes = wireMessage.payloadMessage.payloadBytes;\n\t\t\t\tfor (var i=0; i= 2) {\n\t\t\t\t\tvar x = parseInt(hex.substring(0, 2), 16);\n\t\t\t\t\thex = hex.substring(2, hex.length);\n\t\t\t\t\tbyteStream[i++] = x;\n\t\t\t\t}\n\t\t\t\tvar payloadMessage = new Message(byteStream);\n\n\t\t\t\tpayloadMessage.qos = storedMessage.payloadMessage.qos;\n\t\t\t\tpayloadMessage.destinationName = storedMessage.payloadMessage.destinationName;\n\t\t\t\tif (storedMessage.payloadMessage.duplicate)\n\t\t\t\t\tpayloadMessage.duplicate = true;\n\t\t\t\tif (storedMessage.payloadMessage.retained)\n\t\t\t\t\tpayloadMessage.retained = true;\n\t\t\t\twireMessage.payloadMessage = payloadMessage;\n\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthrow Error(format(ERROR.INVALID_STORED_DATA, [key, value]));\n\t\t\t}\n\n\t\t\tif (key.indexOf(\"Sent:\"+this._localKey) === 0) {\n\t\t\t\twireMessage.payloadMessage.duplicate = true;\n\t\t\t\tthis._sentMessages[wireMessage.messageIdentifier] = wireMessage;\n\t\t\t} else if (key.indexOf(\"Received:\"+this._localKey) === 0) {\n\t\t\t\tthis._receivedMessages[wireMessage.messageIdentifier] = wireMessage;\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype._process_queue = function () {\n\t\t\tvar message = null;\n\n\t\t\t// Send all queued messages down socket connection\n\t\t\twhile ((message = this._msg_queue.pop())) {\n\t\t\t\tthis._socket_send(message);\n\t\t\t\t// Notify listeners that message was successfully sent\n\t\t\t\tif (this._notify_msg_sent[message]) {\n\t\t\t\t\tthis._notify_msg_sent[message]();\n\t\t\t\t\tdelete this._notify_msg_sent[message];\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t * Expect an ACK response for this message. Add message to the set of in progress\n\t * messages and set an unused identifier in this message.\n\t * @ignore\n\t */\n\t\tClientImpl.prototype._requires_ack = function (wireMessage) {\n\t\t\tvar messageCount = Object.keys(this._sentMessages).length;\n\t\t\tif (messageCount > this.maxMessageIdentifier)\n\t\t\t\tthrow Error (\"Too many messages:\"+messageCount);\n\n\t\t\twhile(this._sentMessages[this._message_identifier] !== undefined) {\n\t\t\t\tthis._message_identifier++;\n\t\t\t}\n\t\t\twireMessage.messageIdentifier = this._message_identifier;\n\t\t\tthis._sentMessages[wireMessage.messageIdentifier] = wireMessage;\n\t\t\tif (wireMessage.type === MESSAGE_TYPE.PUBLISH) {\n\t\t\t\tthis.store(\"Sent:\", wireMessage);\n\t\t\t}\n\t\t\tif (this._message_identifier === this.maxMessageIdentifier) {\n\t\t\t\tthis._message_identifier = 1;\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t * Called when the underlying websocket has been opened.\n\t * @ignore\n\t */\n\t\tClientImpl.prototype._on_socket_open = function () {\n\t\t// Create the CONNECT message object.\n\t\t\tvar wireMessage = new WireMessage(MESSAGE_TYPE.CONNECT, this.connectOptions);\n\t\t\twireMessage.clientId = this.clientId;\n\t\t\tthis._socket_send(wireMessage);\n\t\t};\n\n\t\t/**\n\t * Called when the underlying websocket has received a complete packet.\n\t * @ignore\n\t */\n\t\tClientImpl.prototype._on_socket_message = function (event) {\n\t\t\tthis._trace(\"Client._on_socket_message\", event.data);\n\t\t\tvar messages = this._deframeMessages(event.data);\n\t\t\tfor (var i = 0; i < messages.length; i+=1) {\n\t\t\t\tthis._handleMessage(messages[i]);\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype._deframeMessages = function(data) {\n\t\t\tvar byteArray = new Uint8Array(data);\n\t\t\tvar messages = [];\n\t\t\tif (this.receiveBuffer) {\n\t\t\t\tvar newData = new Uint8Array(this.receiveBuffer.length+byteArray.length);\n\t\t\t\tnewData.set(this.receiveBuffer);\n\t\t\t\tnewData.set(byteArray,this.receiveBuffer.length);\n\t\t\t\tbyteArray = newData;\n\t\t\t\tdelete this.receiveBuffer;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tvar offset = 0;\n\t\t\t\twhile(offset < byteArray.length) {\n\t\t\t\t\tvar result = decodeMessage(byteArray,offset);\n\t\t\t\t\tvar wireMessage = result[0];\n\t\t\t\t\toffset = result[1];\n\t\t\t\t\tif (wireMessage !== null) {\n\t\t\t\t\t\tmessages.push(wireMessage);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (offset < byteArray.length) {\n\t\t\t\t\tthis.receiveBuffer = byteArray.subarray(offset);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tvar errorStack = ((error.hasOwnProperty(\"stack\") == \"undefined\") ? error.stack.toString() : \"No Error Stack Available\");\n\t\t\t\tthis._disconnected(ERROR.INTERNAL_ERROR.code , format(ERROR.INTERNAL_ERROR, [error.message,errorStack]));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn messages;\n\t\t};\n\n\t\tClientImpl.prototype._handleMessage = function(wireMessage) {\n\n\t\t\tthis._trace(\"Client._handleMessage\", wireMessage);\n\n\t\t\ttry {\n\t\t\t\tswitch(wireMessage.type) {\n\t\t\t\tcase MESSAGE_TYPE.CONNACK:\n\t\t\t\t\tthis._connectTimeout.cancel();\n\t\t\t\t\tif (this._reconnectTimeout)\n\t\t\t\t\t\tthis._reconnectTimeout.cancel();\n\n\t\t\t\t\t// If we have started using clean session then clear up the local state.\n\t\t\t\t\tif (this.connectOptions.cleanSession) {\n\t\t\t\t\t\tfor (var key in this._sentMessages) {\n\t\t\t\t\t\t\tvar sentMessage = this._sentMessages[key];\n\t\t\t\t\t\t\tlocalStorage.removeItem(\"Sent:\"+this._localKey+sentMessage.messageIdentifier);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._sentMessages = {};\n\n\t\t\t\t\t\tfor (var key in this._receivedMessages) {\n\t\t\t\t\t\t\tvar receivedMessage = this._receivedMessages[key];\n\t\t\t\t\t\t\tlocalStorage.removeItem(\"Received:\"+this._localKey+receivedMessage.messageIdentifier);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._receivedMessages = {};\n\t\t\t\t\t}\n\t\t\t\t\t// Client connected and ready for business.\n\t\t\t\t\tif (wireMessage.returnCode === 0) {\n\n\t\t\t\t\t\tthis.connected = true;\n\t\t\t\t\t\t// Jump to the end of the list of uris and stop looking for a good host.\n\n\t\t\t\t\t\tif (this.connectOptions.uris)\n\t\t\t\t\t\t\tthis.hostIndex = this.connectOptions.uris.length;\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._disconnected(ERROR.CONNACK_RETURNCODE.code , format(ERROR.CONNACK_RETURNCODE, [wireMessage.returnCode, CONNACK_RC[wireMessage.returnCode]]));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Resend messages.\n\t\t\t\t\tvar sequencedMessages = [];\n\t\t\t\t\tfor (var msgId in this._sentMessages) {\n\t\t\t\t\t\tif (this._sentMessages.hasOwnProperty(msgId))\n\t\t\t\t\t\t\tsequencedMessages.push(this._sentMessages[msgId]);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Also schedule qos 0 buffered messages if any\n\t\t\t\t\tif (this._buffered_msg_queue.length > 0) {\n\t\t\t\t\t\tvar msg = null;\n\t\t\t\t\t\twhile ((msg = this._buffered_msg_queue.pop())) {\n\t\t\t\t\t\t\tsequencedMessages.push(msg);\n\t\t\t\t\t\t\tif (this.onMessageDelivered)\n\t\t\t\t\t\t\t\tthis._notify_msg_sent[msg] = this.onMessageDelivered(msg.payloadMessage);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Sort sentMessages into the original sent order.\n\t\t\t\t\tvar sequencedMessages = sequencedMessages.sort(function(a,b) {return a.sequence - b.sequence;} );\n\t\t\t\t\tfor (var i=0, len=sequencedMessages.length; i\n\t * Most applications will create just one Client object and then call its connect() method,\n\t * however applications can create more than one Client object if they wish.\n\t * In this case the combination of host, port and clientId attributes must be different for each Client object.\n\t *

\n\t * The send, subscribe and unsubscribe methods are implemented as asynchronous JavaScript methods\n\t * (even though the underlying protocol exchange might be synchronous in nature).\n\t * This means they signal their completion by calling back to the application,\n\t * via Success or Failure callback functions provided by the application on the method in question.\n\t * Such callbacks are called at most once per method invocation and do not persist beyond the lifetime\n\t * of the script that made the invocation.\n\t *

\n\t * In contrast there are some callback functions, most notably onMessageArrived,\n\t * that are defined on the {@link Paho.Client} object.\n\t * These may get called multiple times, and aren't directly related to specific method invocations made by the client.\n\t *\n\t * @name Paho.Client\n\t *\n\t * @constructor\n\t *\n\t * @param {string} host - the address of the messaging server, as a fully qualified WebSocket URI, as a DNS name or dotted decimal IP address.\n\t * @param {number} port - the port number to connect to - only required if host is not a URI\n\t * @param {string} path - the path on the host to connect to - only used if host is not a URI. Default: '/mqtt'.\n\t * @param {string} clientId - the Messaging client identifier, between 1 and 23 characters in length.\n\t *\n\t * @property {string} host - read only the server's DNS hostname or dotted decimal IP address.\n\t * @property {number} port - read only the server's port.\n\t * @property {string} path - read only the server's path.\n\t * @property {string} clientId - read only used when connecting to the server.\n\t * @property {function} onConnectionLost - called when a connection has been lost.\n\t * after a connect() method has succeeded.\n\t * Establish the call back used when a connection has been lost. The connection may be\n\t * lost because the client initiates a disconnect or because the server or network\n\t * cause the client to be disconnected. The disconnect call back may be called without\n\t * the connectionComplete call back being invoked if, for example the client fails to\n\t * connect.\n\t * A single response object parameter is passed to the onConnectionLost callback containing the following fields:\n\t *

    \n\t *
  1. errorCode\n\t *
  2. errorMessage\n\t *
\n\t * @property {function} onMessageDelivered - called when a message has been delivered.\n\t * All processing that this Client will ever do has been completed. So, for example,\n\t * in the case of a Qos=2 message sent by this client, the PubComp flow has been received from the server\n\t * and the message has been removed from persistent storage before this callback is invoked.\n\t * Parameters passed to the onMessageDelivered callback are:\n\t *
    \n\t *
  1. {@link Paho.Message} that was delivered.\n\t *
\n\t * @property {function} onMessageArrived - called when a message has arrived in this Paho.client.\n\t * Parameters passed to the onMessageArrived callback are:\n\t *
    \n\t *
  1. {@link Paho.Message} that has arrived.\n\t *
\n\t * @property {function} onConnected - called when a connection is successfully made to the server.\n\t * after a connect() method.\n\t * Parameters passed to the onConnected callback are:\n\t *
    \n\t *
  1. reconnect (boolean) - If true, the connection was the result of a reconnect.
  2. \n\t *
  3. URI (string) - The URI used to connect to the server.
  4. \n\t *
\n\t * @property {boolean} disconnectedPublishing - if set, will enable disconnected publishing in\n\t * in the event that the connection to the server is lost.\n\t * @property {number} disconnectedBufferSize - Used to set the maximum number of messages that the disconnected\n\t * buffer will hold before rejecting new messages. Default size: 5000 messages\n\t * @property {function} trace - called whenever trace is called. TODO\n\t */\n\t\tvar Client = function (host, port, path, clientId) {\n\n\t\t\tvar uri;\n\n\t\t\tif (typeof host !== \"string\")\n\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof host, \"host\"]));\n\n\t\t\tif (arguments.length == 2) {\n\t\t\t// host: must be full ws:// uri\n\t\t\t// port: clientId\n\t\t\t\tclientId = port;\n\t\t\t\turi = host;\n\t\t\t\tvar match = uri.match(/^(wss?):\\/\\/((\\[(.+)\\])|([^\\/]+?))(:(\\d+))?(\\/.*)$/);\n\t\t\t\tif (match) {\n\t\t\t\t\thost = match[4]||match[2];\n\t\t\t\t\tport = parseInt(match[7]);\n\t\t\t\t\tpath = match[8];\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT,[host,\"host\"]));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (arguments.length == 3) {\n\t\t\t\t\tclientId = path;\n\t\t\t\t\tpath = \"/mqtt\";\n\t\t\t\t}\n\t\t\t\tif (typeof port !== \"number\" || port < 0)\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof port, \"port\"]));\n\t\t\t\tif (typeof path !== \"string\")\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof path, \"path\"]));\n\n\t\t\t\tvar ipv6AddSBracket = (host.indexOf(\":\") !== -1 && host.slice(0,1) !== \"[\" && host.slice(-1) !== \"]\");\n\t\t\t\turi = \"ws://\"+(ipv6AddSBracket?\"[\"+host+\"]\":host)+\":\"+port+path;\n\t\t\t}\n\n\t\t\tvar clientIdLength = 0;\n\t\t\tfor (var i = 0; i 65535)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [clientId, \"clientId\"]));\n\n\t\t\tvar client = new ClientImpl(uri, host, port, path, clientId);\n\n\t\t\t//Public Properties\n\t\t\tObject.defineProperties(this,{\n\t\t\t\t\"host\":{\n\t\t\t\t\tget: function() { return host; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"port\":{\n\t\t\t\t\tget: function() { return port; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"path\":{\n\t\t\t\t\tget: function() { return path; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"uri\":{\n\t\t\t\t\tget: function() { return uri; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"clientId\":{\n\t\t\t\t\tget: function() { return client.clientId; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"onConnected\":{\n\t\t\t\t\tget: function() { return client.onConnected; },\n\t\t\t\t\tset: function(newOnConnected) {\n\t\t\t\t\t\tif (typeof newOnConnected === \"function\")\n\t\t\t\t\t\t\tclient.onConnected = newOnConnected;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnConnected, \"onConnected\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"disconnectedPublishing\":{\n\t\t\t\t\tget: function() { return client.disconnectedPublishing; },\n\t\t\t\t\tset: function(newDisconnectedPublishing) {\n\t\t\t\t\t\tclient.disconnectedPublishing = newDisconnectedPublishing;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"disconnectedBufferSize\":{\n\t\t\t\t\tget: function() { return client.disconnectedBufferSize; },\n\t\t\t\t\tset: function(newDisconnectedBufferSize) {\n\t\t\t\t\t\tclient.disconnectedBufferSize = newDisconnectedBufferSize;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"onConnectionLost\":{\n\t\t\t\t\tget: function() { return client.onConnectionLost; },\n\t\t\t\t\tset: function(newOnConnectionLost) {\n\t\t\t\t\t\tif (typeof newOnConnectionLost === \"function\")\n\t\t\t\t\t\t\tclient.onConnectionLost = newOnConnectionLost;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnConnectionLost, \"onConnectionLost\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"onMessageDelivered\":{\n\t\t\t\t\tget: function() { return client.onMessageDelivered; },\n\t\t\t\t\tset: function(newOnMessageDelivered) {\n\t\t\t\t\t\tif (typeof newOnMessageDelivered === \"function\")\n\t\t\t\t\t\t\tclient.onMessageDelivered = newOnMessageDelivered;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnMessageDelivered, \"onMessageDelivered\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"onMessageArrived\":{\n\t\t\t\t\tget: function() { return client.onMessageArrived; },\n\t\t\t\t\tset: function(newOnMessageArrived) {\n\t\t\t\t\t\tif (typeof newOnMessageArrived === \"function\")\n\t\t\t\t\t\t\tclient.onMessageArrived = newOnMessageArrived;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnMessageArrived, \"onMessageArrived\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"trace\":{\n\t\t\t\t\tget: function() { return client.traceFunction; },\n\t\t\t\t\tset: function(trace) {\n\t\t\t\t\t\tif(typeof trace === \"function\"){\n\t\t\t\t\t\t\tclient.traceFunction = trace;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof trace, \"onTrace\"]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\n\t\t\t/**\n\t\t * Connect this Messaging client to its server.\n\t\t *\n\t\t * @name Paho.Client#connect\n\t\t * @function\n\t\t * @param {object} connectOptions - Attributes used with the connection.\n\t\t * @param {number} connectOptions.timeout - If the connect has not succeeded within this\n\t\t * number of seconds, it is deemed to have failed.\n\t\t * The default is 30 seconds.\n\t\t * @param {string} connectOptions.userName - Authentication username for this connection.\n\t\t * @param {string} connectOptions.password - Authentication password for this connection.\n\t\t * @param {Paho.Message} connectOptions.willMessage - sent by the server when the client\n\t\t * disconnects abnormally.\n\t\t * @param {number} connectOptions.keepAliveInterval - the server disconnects this client if\n\t\t * there is no activity for this number of seconds.\n\t\t * The default value of 60 seconds is assumed if not set.\n\t\t * @param {boolean} connectOptions.cleanSession - if true(default) the client and server\n\t\t * persistent state is deleted on successful connect.\n\t\t * @param {boolean} connectOptions.useSSL - if present and true, use an SSL Websocket connection.\n\t\t * @param {object} connectOptions.invocationContext - passed to the onSuccess callback or onFailure callback.\n\t\t * @param {function} connectOptions.onSuccess - called when the connect acknowledgement\n\t\t * has been received from the server.\n\t\t * A single response object parameter is passed to the onSuccess callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext as passed in to the onSuccess method in the connectOptions.\n\t\t *
\n\t * @param {function} connectOptions.onFailure - called when the connect request has failed or timed out.\n\t\t * A single response object parameter is passed to the onFailure callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext as passed in to the onFailure method in the connectOptions.\n\t\t *
  2. errorCode a number indicating the nature of the error.\n\t\t *
  3. errorMessage text describing the error.\n\t\t *
\n\t * @param {array} connectOptions.hosts - If present this contains either a set of hostnames or fully qualified\n\t\t * WebSocket URIs (ws://iot.eclipse.org:80/ws), that are tried in order in place\n\t\t * of the host and port paramater on the construtor. The hosts are tried one at at time in order until\n\t\t * one of then succeeds.\n\t * @param {array} connectOptions.ports - If present the set of ports matching the hosts. If hosts contains URIs, this property\n\t\t * is not used.\n\t * @param {boolean} connectOptions.reconnect - Sets whether the client will automatically attempt to reconnect\n\t * to the server if the connection is lost.\n\t *
    \n\t *
  • If set to false, the client will not attempt to automatically reconnect to the server in the event that the\n\t * connection is lost.
  • \n\t *
  • If set to true, in the event that the connection is lost, the client will attempt to reconnect to the server.\n\t * It will initially wait 1 second before it attempts to reconnect, for every failed reconnect attempt, the delay\n\t * will double until it is at 2 minutes at which point the delay will stay at 2 minutes.
  • \n\t *
\n\t * @param {number} connectOptions.mqttVersion - The version of MQTT to use to connect to the MQTT Broker.\n\t *
    \n\t *
  • 3 - MQTT V3.1
  • \n\t *
  • 4 - MQTT V3.1.1
  • \n\t *
\n\t * @param {boolean} connectOptions.mqttVersionExplicit - If set to true, will force the connection to use the\n\t * selected MQTT Version or will fail to connect.\n\t * @param {array} connectOptions.uris - If present, should contain a list of fully qualified WebSocket uris\n\t * (e.g. ws://iot.eclipse.org:80/ws), that are tried in order in place of the host and port parameter of the construtor.\n\t * The uris are tried one at a time in order until one of them succeeds. Do not use this in conjunction with hosts as\n\t * the hosts array will be converted to uris and will overwrite this property.\n\t\t * @throws {InvalidState} If the client is not in disconnected state. The client must have received connectionLost\n\t\t * or disconnected before calling connect for a second or subsequent time.\n\t\t */\n\t\t\tthis.connect = function (connectOptions) {\n\t\t\t\tconnectOptions = connectOptions || {} ;\n\t\t\t\tvalidate(connectOptions, {timeout:\"number\",\n\t\t\t\t\tuserName:\"string\",\n\t\t\t\t\tpassword:\"string\",\n\t\t\t\t\twillMessage:\"object\",\n\t\t\t\t\tkeepAliveInterval:\"number\",\n\t\t\t\t\tcleanSession:\"boolean\",\n\t\t\t\t\tuseSSL:\"boolean\",\n\t\t\t\t\tinvocationContext:\"object\",\n\t\t\t\t\tonSuccess:\"function\",\n\t\t\t\t\tonFailure:\"function\",\n\t\t\t\t\thosts:\"object\",\n\t\t\t\t\tports:\"object\",\n\t\t\t\t\treconnect:\"boolean\",\n\t\t\t\t\tmqttVersion:\"number\",\n\t\t\t\t\tmqttVersionExplicit:\"boolean\",\n\t\t\t\t\turis: \"object\"});\n\n\t\t\t\t// If no keep alive interval is set, assume 60 seconds.\n\t\t\t\tif (connectOptions.keepAliveInterval === undefined)\n\t\t\t\t\tconnectOptions.keepAliveInterval = 60;\n\n\t\t\t\tif (connectOptions.mqttVersion > 4 || connectOptions.mqttVersion < 3) {\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.mqttVersion, \"connectOptions.mqttVersion\"]));\n\t\t\t\t}\n\n\t\t\t\tif (connectOptions.mqttVersion === undefined) {\n\t\t\t\t\tconnectOptions.mqttVersionExplicit = false;\n\t\t\t\t\tconnectOptions.mqttVersion = 4;\n\t\t\t\t} else {\n\t\t\t\t\tconnectOptions.mqttVersionExplicit = true;\n\t\t\t\t}\n\n\t\t\t\t//Check that if password is set, so is username\n\t\t\t\tif (connectOptions.password !== undefined && connectOptions.userName === undefined)\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.password, \"connectOptions.password\"]));\n\n\t\t\t\tif (connectOptions.willMessage) {\n\t\t\t\t\tif (!(connectOptions.willMessage instanceof Message))\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [connectOptions.willMessage, \"connectOptions.willMessage\"]));\n\t\t\t\t\t// The will message must have a payload that can be represented as a string.\n\t\t\t\t\t// Cause the willMessage to throw an exception if this is not the case.\n\t\t\t\t\tconnectOptions.willMessage.stringPayload = null;\n\n\t\t\t\t\tif (typeof connectOptions.willMessage.destinationName === \"undefined\")\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof connectOptions.willMessage.destinationName, \"connectOptions.willMessage.destinationName\"]));\n\t\t\t\t}\n\t\t\t\tif (typeof connectOptions.cleanSession === \"undefined\")\n\t\t\t\t\tconnectOptions.cleanSession = true;\n\t\t\t\tif (connectOptions.hosts) {\n\n\t\t\t\t\tif (!(connectOptions.hosts instanceof Array) )\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.hosts, \"connectOptions.hosts\"]));\n\t\t\t\t\tif (connectOptions.hosts.length <1 )\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.hosts, \"connectOptions.hosts\"]));\n\n\t\t\t\t\tvar usingURIs = false;\n\t\t\t\t\tfor (var i = 0; i\n\t\t * @param {object} subscribeOptions - used to control the subscription\n\t\t *\n\t\t * @param {number} subscribeOptions.qos - the maximum qos of any publications sent\n\t\t * as a result of making this subscription.\n\t\t * @param {object} subscribeOptions.invocationContext - passed to the onSuccess callback\n\t\t * or onFailure callback.\n\t\t * @param {function} subscribeOptions.onSuccess - called when the subscribe acknowledgement\n\t\t * has been received from the server.\n\t\t * A single response object parameter is passed to the onSuccess callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext if set in the subscribeOptions.\n\t\t *
\n\t\t * @param {function} subscribeOptions.onFailure - called when the subscribe request has failed or timed out.\n\t\t * A single response object parameter is passed to the onFailure callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext - if set in the subscribeOptions.\n\t\t *
  2. errorCode - a number indicating the nature of the error.\n\t\t *
  3. errorMessage - text describing the error.\n\t\t *
\n\t\t * @param {number} subscribeOptions.timeout - which, if present, determines the number of\n\t\t * seconds after which the onFailure calback is called.\n\t\t * The presence of a timeout does not prevent the onSuccess\n\t\t * callback from being called when the subscribe completes.\n\t\t * @throws {InvalidState} if the client is not in connected state.\n\t\t */\n\t\t\tthis.subscribe = function (filter, subscribeOptions) {\n\t\t\t\tif (typeof filter !== \"string\" && filter.constructor !== Array)\n\t\t\t\t\tthrow new Error(\"Invalid argument:\"+filter);\n\t\t\t\tsubscribeOptions = subscribeOptions || {} ;\n\t\t\t\tvalidate(subscribeOptions, {qos:\"number\",\n\t\t\t\t\tinvocationContext:\"object\",\n\t\t\t\t\tonSuccess:\"function\",\n\t\t\t\t\tonFailure:\"function\",\n\t\t\t\t\ttimeout:\"number\"\n\t\t\t\t});\n\t\t\t\tif (subscribeOptions.timeout && !subscribeOptions.onFailure)\n\t\t\t\t\tthrow new Error(\"subscribeOptions.timeout specified with no onFailure callback.\");\n\t\t\t\tif (typeof subscribeOptions.qos !== \"undefined\" && !(subscribeOptions.qos === 0 || subscribeOptions.qos === 1 || subscribeOptions.qos === 2 ))\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [subscribeOptions.qos, \"subscribeOptions.qos\"]));\n\t\t\t\tclient.subscribe(filter, subscribeOptions);\n\t\t\t};\n\n\t\t/**\n\t\t * Unsubscribe for messages, stop receiving messages sent to destinations described by the filter.\n\t\t *\n\t\t * @name Paho.Client#unsubscribe\n\t\t * @function\n\t\t * @param {string} filter - describing the destinations to receive messages from.\n\t\t * @param {object} unsubscribeOptions - used to control the subscription\n\t\t * @param {object} unsubscribeOptions.invocationContext - passed to the onSuccess callback\n\t\t\t\t\t\t\t\t\t\t\t or onFailure callback.\n\t\t * @param {function} unsubscribeOptions.onSuccess - called when the unsubscribe acknowledgement has been received from the server.\n\t\t * A single response object parameter is passed to the\n\t\t * onSuccess callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext - if set in the unsubscribeOptions.\n\t\t *
\n\t\t * @param {function} unsubscribeOptions.onFailure called when the unsubscribe request has failed or timed out.\n\t\t * A single response object parameter is passed to the onFailure callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext - if set in the unsubscribeOptions.\n\t\t *
  2. errorCode - a number indicating the nature of the error.\n\t\t *
  3. errorMessage - text describing the error.\n\t\t *
\n\t\t * @param {number} unsubscribeOptions.timeout - which, if present, determines the number of seconds\n\t\t * after which the onFailure callback is called. The presence of\n\t\t * a timeout does not prevent the onSuccess callback from being\n\t\t * called when the unsubscribe completes\n\t\t * @throws {InvalidState} if the client is not in connected state.\n\t\t */\n\t\t\tthis.unsubscribe = function (filter, unsubscribeOptions) {\n\t\t\t\tif (typeof filter !== \"string\" && filter.constructor !== Array)\n\t\t\t\t\tthrow new Error(\"Invalid argument:\"+filter);\n\t\t\t\tunsubscribeOptions = unsubscribeOptions || {} ;\n\t\t\t\tvalidate(unsubscribeOptions, {invocationContext:\"object\",\n\t\t\t\t\tonSuccess:\"function\",\n\t\t\t\t\tonFailure:\"function\",\n\t\t\t\t\ttimeout:\"number\"\n\t\t\t\t});\n\t\t\t\tif (unsubscribeOptions.timeout && !unsubscribeOptions.onFailure)\n\t\t\t\t\tthrow new Error(\"unsubscribeOptions.timeout specified with no onFailure callback.\");\n\t\t\t\tclient.unsubscribe(filter, unsubscribeOptions);\n\t\t\t};\n\n\t\t\t/**\n\t\t * Send a message to the consumers of the destination in the Message.\n\t\t *\n\t\t * @name Paho.Client#send\n\t\t * @function\n\t\t * @param {string|Paho.Message} topic - mandatory The name of the destination to which the message is to be sent.\n\t\t * \t\t\t\t\t - If it is the only parameter, used as Paho.Message object.\n\t\t * @param {String|ArrayBuffer} payload - The message data to be sent.\n\t\t * @param {number} qos The Quality of Service used to deliver the message.\n\t\t * \t\t
\n\t\t * \t\t\t
0 Best effort (default).\n\t\t * \t\t\t
1 At least once.\n\t\t * \t\t\t
2 Exactly once.\n\t\t * \t\t
\n\t\t * @param {Boolean} retained If true, the message is to be retained by the server and delivered\n\t\t * to both current and future subscriptions.\n\t\t * If false the server only delivers the message to current subscribers, this is the default for new Messages.\n\t\t * A received message has the retained boolean set to true if the message was published\n\t\t * with the retained boolean set to true\n\t\t * and the subscrption was made after the message has been published.\n\t\t * @throws {InvalidState} if the client is not connected.\n\t\t */\n\t\t\tthis.send = function (topic,payload,qos,retained) {\n\t\t\t\tvar message ;\n\n\t\t\t\tif(arguments.length === 0){\n\t\t\t\t\tthrow new Error(\"Invalid argument.\"+\"length\");\n\n\t\t\t\t}else if(arguments.length == 1) {\n\n\t\t\t\t\tif (!(topic instanceof Message) && (typeof topic !== \"string\"))\n\t\t\t\t\t\tthrow new Error(\"Invalid argument:\"+ typeof topic);\n\n\t\t\t\t\tmessage = topic;\n\t\t\t\t\tif (typeof message.destinationName === \"undefined\")\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT,[message.destinationName,\"Message.destinationName\"]));\n\t\t\t\t\tclient.send(message);\n\n\t\t\t\t}else {\n\t\t\t\t//parameter checking in Message object\n\t\t\t\t\tmessage = new Message(payload);\n\t\t\t\t\tmessage.destinationName = topic;\n\t\t\t\t\tif(arguments.length >= 3)\n\t\t\t\t\t\tmessage.qos = qos;\n\t\t\t\t\tif(arguments.length >= 4)\n\t\t\t\t\t\tmessage.retained = retained;\n\t\t\t\t\tclient.send(message);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t/**\n\t\t * Publish a message to the consumers of the destination in the Message.\n\t\t * Synonym for Paho.Mqtt.Client#send\n\t\t *\n\t\t * @name Paho.Client#publish\n\t\t * @function\n\t\t * @param {string|Paho.Message} topic - mandatory The name of the topic to which the message is to be published.\n\t\t * \t\t\t\t\t - If it is the only parameter, used as Paho.Message object.\n\t\t * @param {String|ArrayBuffer} payload - The message data to be published.\n\t\t * @param {number} qos The Quality of Service used to deliver the message.\n\t\t * \t\t
\n\t\t * \t\t\t
0 Best effort (default).\n\t\t * \t\t\t
1 At least once.\n\t\t * \t\t\t
2 Exactly once.\n\t\t * \t\t
\n\t\t * @param {Boolean} retained If true, the message is to be retained by the server and delivered\n\t\t * to both current and future subscriptions.\n\t\t * If false the server only delivers the message to current subscribers, this is the default for new Messages.\n\t\t * A received message has the retained boolean set to true if the message was published\n\t\t * with the retained boolean set to true\n\t\t * and the subscrption was made after the message has been published.\n\t\t * @throws {InvalidState} if the client is not connected.\n\t\t */\n\t\t\tthis.publish = function(topic,payload,qos,retained) {\n\t\t\t\tvar message ;\n\n\t\t\t\tif(arguments.length === 0){\n\t\t\t\t\tthrow new Error(\"Invalid argument.\"+\"length\");\n\n\t\t\t\t}else if(arguments.length == 1) {\n\n\t\t\t\t\tif (!(topic instanceof Message) && (typeof topic !== \"string\"))\n\t\t\t\t\t\tthrow new Error(\"Invalid argument:\"+ typeof topic);\n\n\t\t\t\t\tmessage = topic;\n\t\t\t\t\tif (typeof message.destinationName === \"undefined\")\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT,[message.destinationName,\"Message.destinationName\"]));\n\t\t\t\t\tclient.send(message);\n\n\t\t\t\t}else {\n\t\t\t\t\t//parameter checking in Message object\n\t\t\t\t\tmessage = new Message(payload);\n\t\t\t\t\tmessage.destinationName = topic;\n\t\t\t\t\tif(arguments.length >= 3)\n\t\t\t\t\t\tmessage.qos = qos;\n\t\t\t\t\tif(arguments.length >= 4)\n\t\t\t\t\t\tmessage.retained = retained;\n\t\t\t\t\tclient.send(message);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t/**\n\t\t * Normal disconnect of this Messaging client from its server.\n\t\t *\n\t\t * @name Paho.Client#disconnect\n\t\t * @function\n\t\t * @throws {InvalidState} if the client is already disconnected.\n\t\t */\n\t\t\tthis.disconnect = function () {\n\t\t\t\tclient.disconnect();\n\t\t\t};\n\n\t\t\t/**\n\t\t * Get the contents of the trace log.\n\t\t *\n\t\t * @name Paho.Client#getTraceLog\n\t\t * @function\n\t\t * @return {Object[]} tracebuffer containing the time ordered trace records.\n\t\t */\n\t\t\tthis.getTraceLog = function () {\n\t\t\t\treturn client.getTraceLog();\n\t\t\t};\n\n\t\t\t/**\n\t\t * Start tracing.\n\t\t *\n\t\t * @name Paho.Client#startTrace\n\t\t * @function\n\t\t */\n\t\t\tthis.startTrace = function () {\n\t\t\t\tclient.startTrace();\n\t\t\t};\n\n\t\t\t/**\n\t\t * Stop tracing.\n\t\t *\n\t\t * @name Paho.Client#stopTrace\n\t\t * @function\n\t\t */\n\t\t\tthis.stopTrace = function () {\n\t\t\t\tclient.stopTrace();\n\t\t\t};\n\n\t\t\tthis.isConnected = function() {\n\t\t\t\treturn client.connected;\n\t\t\t};\n\t\t};\n\n\t\t/**\n\t * An application message, sent or received.\n\t *

\n\t * All attributes may be null, which implies the default values.\n\t *\n\t * @name Paho.Message\n\t * @constructor\n\t * @param {String|ArrayBuffer} payload The message data to be sent.\n\t *

\n\t * @property {string} payloadString read only The payload as a string if the payload consists of valid UTF-8 characters.\n\t * @property {ArrayBuffer} payloadBytes read only The payload as an ArrayBuffer.\n\t *

\n\t * @property {string} destinationName mandatory The name of the destination to which the message is to be sent\n\t * (for messages about to be sent) or the name of the destination from which the message has been received.\n\t * (for messages received by the onMessage function).\n\t *

\n\t * @property {number} qos The Quality of Service used to deliver the message.\n\t *

\n\t *
0 Best effort (default).\n\t *
1 At least once.\n\t *
2 Exactly once.\n\t *
\n\t *

\n\t * @property {Boolean} retained If true, the message is to be retained by the server and delivered\n\t * to both current and future subscriptions.\n\t * If false the server only delivers the message to current subscribers, this is the default for new Messages.\n\t * A received message has the retained boolean set to true if the message was published\n\t * with the retained boolean set to true\n\t * and the subscrption was made after the message has been published.\n\t *

\n\t * @property {Boolean} duplicate read only If true, this message might be a duplicate of one which has already been received.\n\t * This is only set on messages received from the server.\n\t *\n\t */\n\t\tvar Message = function (newPayload) {\n\t\t\tvar payload;\n\t\t\tif ( typeof newPayload === \"string\" ||\n\t\tnewPayload instanceof ArrayBuffer ||\n\t\t(ArrayBuffer.isView(newPayload) && !(newPayload instanceof DataView))\n\t\t\t) {\n\t\t\t\tpayload = newPayload;\n\t\t\t} else {\n\t\t\t\tthrow (format(ERROR.INVALID_ARGUMENT, [newPayload, \"newPayload\"]));\n\t\t\t}\n\n\t\t\tvar destinationName;\n\t\t\tvar qos = 0;\n\t\t\tvar retained = false;\n\t\t\tvar duplicate = false;\n\n\t\t\tObject.defineProperties(this,{\n\t\t\t\t\"payloadString\":{\n\t\t\t\t\tenumerable : true,\n\t\t\t\t\tget : function () {\n\t\t\t\t\t\tif (typeof payload === \"string\")\n\t\t\t\t\t\t\treturn payload;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn parseUTF8(payload, 0, payload.length);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"payloadBytes\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\tif (typeof payload === \"string\") {\n\t\t\t\t\t\t\tvar buffer = new ArrayBuffer(UTF8Length(payload));\n\t\t\t\t\t\t\tvar byteStream = new Uint8Array(buffer);\n\t\t\t\t\t\t\tstringToUTF8(payload, byteStream, 0);\n\n\t\t\t\t\t\t\treturn byteStream;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn payload;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"destinationName\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return destinationName; },\n\t\t\t\t\tset: function(newDestinationName) {\n\t\t\t\t\t\tif (typeof newDestinationName === \"string\")\n\t\t\t\t\t\t\tdestinationName = newDestinationName;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [newDestinationName, \"newDestinationName\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"qos\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return qos; },\n\t\t\t\t\tset: function(newQos) {\n\t\t\t\t\t\tif (newQos === 0 || newQos === 1 || newQos === 2 )\n\t\t\t\t\t\t\tqos = newQos;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(\"Invalid argument:\"+newQos);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"retained\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return retained; },\n\t\t\t\t\tset: function(newRetained) {\n\t\t\t\t\t\tif (typeof newRetained === \"boolean\")\n\t\t\t\t\t\t\tretained = newRetained;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [newRetained, \"newRetained\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"topic\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return destinationName; },\n\t\t\t\t\tset: function(newTopic) {destinationName=newTopic;}\n\t\t\t\t},\n\t\t\t\t\"duplicate\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return duplicate; },\n\t\t\t\t\tset: function(newDuplicate) {duplicate=newDuplicate;}\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// Module contents.\n\t\treturn {\n\t\t\tClient: Client,\n\t\t\tMessage: Message\n\t\t};\n\t// eslint-disable-next-line no-nested-ternary\n\t})(typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n\treturn PahoMQTT;\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n 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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.module.js.map\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","!function(e,n){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=n();else if(\"function\"==typeof define&&define.amd)define([],n);else{var t=n();for(var r in t)(\"object\"==typeof exports?exports:e)[r]=t[r]}}(\"undefined\"!=typeof self?self:this,(function(){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=0)}([function(e,n,t){\"use strict\";function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n1){var t=y(n);return\"\".concat(t,\".\").concat(e)}return e}var m,v=function(e){if(e.then)return e;if(\"function\"==typeof e){var n=e();return n.then?n:Promise.resolve(n)}return Promise.resolve(e)};function g(e){return function(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n1?n-1:0),r=1;r1?function(e){for(var n=1;n0&&(w(\"require\",\"linker\"),w(\"linker:autoLink\",l.linkers)),l.debug.sendHitTask||j(\"sendHitTask\",null)}}else p(\"Google Analytics has probably been blocked.\")}var E=function(){2!=arguments.length?w(\"require\",arguments.length<=0?void 0:arguments[0]):w(\"require\",arguments.length<=0?void 0:arguments[0],arguments.length<=1?void 0:arguments[1])};function A(e){return(A=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var x=function(){var e;l.set.forEach((function(e){var n=e.field,t=e.value;if(void 0===n||void 0===t)throw new Error('[vue-analytics] Wrong configuration in the plugin options.\\nThe \"set\" array requires each item to have a \"field\" and a \"value\" property.');j(n,t)})),e=[\"ec\",\"ecommerce\"],l.require.forEach((function(n){if(-1!==e.indexOf(n)||-1!==e.indexOf(n.name))throw new Error(\"[vue-analytics] The ecommerce features are built-in in the plugin. \\nFollow the ecommerce instructions available in the documentation.\");if(\"string\"!=typeof n&&\"object\"!==A(n))throw new Error('[vue-analytics] Wrong configuration in the plugin options. \\nThe \"require\" array requires each item to be a string or to have a \"name\" and an \"options\" property.');var t=n.name||n;n.options?E(t,n.options):E(t)}))};function T(){for(var e=arguments.length,n=new Array(e),t=0;t0&&void 0!==arguments[0])||arguments[0];\"undefined\"!=typeof window&&f().forEach((function(n){window[\"ga-disable-\".concat(n)]=e}))},_=function(){if(\"undefined\"!=typeof document&&\"undefined\"!=typeof window){if(l.id){var e,n,t=[v(l.id),v(l.disabled)];if(e=l.checkDuplicatedScript,n=l.disableScriptLoader,[Boolean(window&&window.ga),e&&!(Array.prototype.slice.call(document.getElementsByTagName(\"script\")).filter((function(e){return-1!==e.src.indexOf(\"analytics\")||-1!==e.src.indexOf(\"gtag\")})).length>0),!n].some(Boolean)){var r=\"https://www.google-analytics.com\",o=l.debug.enabled?\"analytics_debug\":\"analytics\",i=l.customResourceURL?d(l.customResourceURL):d(\"\".concat(r,\"/\").concat(o,\".js\"),r);t.push(i.catch((function(){p(\"An error occured! Please check your connection or disable your AD blocker\")})))}return Promise.all(t).then((function(e){var n,t,r;u({id:e[0],disabled:e[1]}),L(l.disabled),k(),x(),l.untracked.forEach((function(e){w.apply(void 0,[e.m].concat(I(e.a)))})),n=l.router,t=l.autoTracking,r=l.$vue,t.page&&n&&n.onReady((function(){t.pageviewOnLoad&&n.history.ready&&R(n.currentRoute),n.afterEach((function(e,o){var i=t.skipSamePath,c=t.shouldRouterUpdate;i&&e.path===o.path||(\"function\"!=typeof c||c(e,o))&&r.nextTick().then((function(){R(n.currentRoute)}))}))})),l.ready()})).catch((function(e){l.debug.enabled&&p(e.message)}))}p('Missing the \"id\" parameter. Add at least one tracking domain ID')}};var B=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];w(\"send\",\"exception\",{exDescription:e,exFatal:n})},H=function(e){if(l.autoTracking.exception){window.addEventListener(\"error\",(function(e){B(e.message)}));var n=e.config.errorHandler;e.config.errorHandler=function(e,t,r){B(e.message),l.autoTracking.exceptionLogs&&console.error(e),\"function\"==typeof n&&n.call(void 0,e,t,r)}}},F=B;function M(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function U(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var $=function(e){return\"\".concat(l.ecommerce.enhanced?\"ec\":\"ecommerce\",\":\").concat(e)},C=[\"addItem\",\"addTransaction\",\"addProduct\",\"addImpression\",\"setAction\",\"addPromo\",\"send\"].reduce((function(e,n){return function(e){for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:{},{$vue:e})),e.directive(\"ga\",Q),e.prototype.$ga=e.$ga=N,H(e),_()}t.d(n,\"default\",(function(){return K})),t.d(n,\"analyticsMiddleware\",(function(){return V})),t.d(n,\"onAnalyticsReady\",(function(){return X})),t.d(n,\"event\",(function(){return Y})),t.d(n,\"ecommerce\",(function(){return Z})),t.d(n,\"set\",(function(){return ee})),t.d(n,\"page\",(function(){return ne})),t.d(n,\"query\",(function(){return te})),t.d(n,\"screenview\",(function(){return re})),t.d(n,\"time\",(function(){return oe})),t.d(n,\"require\",(function(){return ie})),t.d(n,\"exception\",(function(){return ce})),t.d(n,\"social\",(function(){return ae}));var V=function(e){e.subscribe((function(e){var n=e.payload;if(n&&n.meta&&n.meta.analytics){var t=n.meta.analytics;if(!Array.isArray(t))throw new Error('The \"analytics\" property needs to be an array');t.forEach((function(e){var n,t,r=e.shift(),o=e;if(r.includes(\":\")){var i=G(r.split(\":\"),2);r=i[0],n=i[1]}if(!(r in N))throw new Error('[vue-analytics:vuex] The type \"'.concat(r,\"\\\" doesn't exist.\"));if(n&&!(n in N[r]))throw new Error('[vue-analytics:vuex] The type \"'.concat(r,'\" has not method \"').concat(n,'\".'));if(\"ecommerce\"===r&&!n)throw new Error('[vue-analytics:vuex] The type \"'.concat(r,'\" needs to call a method. Check documentation.'));n?(t=N[r])[n].apply(t,W(o)):N[r].apply(N,W(o))}))}}))},X=function(){return new Promise((function(e,n){var t=setInterval((function(){\"undefined\"!=typeof window&&window.ga&&(e(),clearInterval(t))}),10)}))},Y=N.event,Z=N.ecommerce,ee=N.set,ne=N.page,te=N.query,re=N.screenview,oe=N.time,ie=N.require,ce=N.exception,ae=N.social}])}));","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('apexcharts/dist/apexcharts.min')) :\n typeof define === 'function' && define.amd ? define(['apexcharts/dist/apexcharts.min'], factory) :\n (global.VueApexCharts = factory(global.ApexCharts));\n}(this, (function (ApexCharts) { 'use strict';\n\n ApexCharts = ApexCharts && ApexCharts.hasOwnProperty('default') ? ApexCharts['default'] : ApexCharts;\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n var ApexChartsComponent = {\n props: {\n options: {\n type: Object\n },\n type: {\n type: String\n },\n series: {\n type: Array,\n required: true,\n default: function _default() {\n return [];\n }\n },\n width: {\n default: \"100%\"\n },\n height: {\n default: \"auto\"\n }\n },\n data: function data() {\n return {\n chart: null\n };\n },\n beforeMount: function beforeMount() {\n window.ApexCharts = ApexCharts;\n },\n mounted: function mounted() {\n this.init();\n },\n created: function created() {\n var _this = this;\n\n this.$watch(\"options\", function (options) {\n if (!_this.chart && options) {\n _this.init();\n } else {\n _this.chart.updateOptions(_this.options);\n }\n });\n this.$watch(\"series\", function (series) {\n if (!_this.chart && series) {\n _this.init();\n } else {\n _this.chart.updateSeries(_this.series);\n }\n });\n var watched = [\"type\", \"width\", \"height\"];\n watched.forEach(function (prop) {\n _this.$watch(prop, function () {\n _this.refresh();\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (!this.chart) {\n return;\n }\n\n this.destroy();\n },\n render: function render(createElement) {\n return createElement(\"div\");\n },\n methods: {\n init: function init() {\n var _this2 = this;\n\n var newOptions = {\n chart: {\n type: this.type || this.options.chart.type || \"line\",\n height: this.height,\n width: this.width,\n events: {}\n },\n series: this.series\n };\n Object.keys(this.$listeners).forEach(function (evt) {\n newOptions.chart.events[evt] = _this2.$listeners[evt];\n });\n var config = this.extend(this.options, newOptions);\n this.chart = new ApexCharts(this.$el, config);\n return this.chart.render();\n },\n isObject: function isObject(item) {\n return item && _typeof(item) === \"object\" && !Array.isArray(item) && item != null;\n },\n extend: function extend(target, source) {\n var _this3 = this;\n\n if (typeof Object.assign !== \"function\") {\n (function () {\n Object.assign = function (target) {\n // We must check against these specific cases.\n if (target === undefined || target === null) {\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n\n var output = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var _source = arguments[index];\n\n if (_source !== undefined && _source !== null) {\n for (var nextKey in _source) {\n if (_source.hasOwnProperty(nextKey)) {\n output[nextKey] = _source[nextKey];\n }\n }\n }\n }\n\n return output;\n };\n })();\n }\n\n var output = Object.assign({}, target);\n\n if (this.isObject(target) && this.isObject(source)) {\n Object.keys(source).forEach(function (key) {\n if (_this3.isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, _defineProperty({}, key, source[key]));\n } else {\n output[key] = _this3.extend(target[key], source[key]);\n }\n } else {\n Object.assign(output, _defineProperty({}, key, source[key]));\n }\n });\n }\n\n return output;\n },\n refresh: function refresh() {\n this.destroy();\n return this.init();\n },\n destroy: function destroy() {\n this.chart.destroy();\n },\n updateSeries: function updateSeries(newSeries, animate) {\n return this.chart.updateSeries(newSeries, animate);\n },\n updateOptions: function updateOptions(newOptions, redrawPaths, animate, updateSyncedCharts) {\n return this.chart.updateOptions(newOptions, redrawPaths, animate, updateSyncedCharts);\n },\n toggleSeries: function toggleSeries(seriesName) {\n return this.chart.toggleSeries(seriesName);\n },\n showSeries: function showSeries(seriesName) {\n this.chart.showSeries(seriesName);\n },\n hideSeries: function hideSeries(seriesName) {\n this.chart.hideSeries(seriesName);\n },\n appendSeries: function appendSeries(newSeries, animate) {\n return this.chart.appendSeries(newSeries, animate);\n },\n resetSeries: function resetSeries() {\n this.chart.resetSeries();\n },\n zoomX: function zoomX(min, max) {\n this.chart.zoomX(min, max);\n },\n toggleDataPointSelection: function toggleDataPointSelection(seriesIndex, dataPointIndex) {\n this.chart.toggleDataPointSelection(seriesIndex, dataPointIndex);\n },\n appendData: function appendData(newData) {\n return this.chart.appendData(newData);\n },\n addText: function addText(options) {\n this.chart.addText(options);\n },\n addImage: function addImage(options) {\n this.chart.addImage(options);\n },\n addShape: function addShape(options) {\n this.chart.addShape(options);\n },\n dataURI: function dataURI() {\n return this.chart.dataURI();\n },\n setLocale: function setLocale(localeName) {\n return this.chart.setLocale(localeName);\n },\n addXaxisAnnotation: function addXaxisAnnotation(options, pushToMemory) {\n this.chart.addXaxisAnnotation(options, pushToMemory);\n },\n addYaxisAnnotation: function addYaxisAnnotation(options, pushToMemory) {\n this.chart.addYaxisAnnotation(options, pushToMemory);\n },\n addPointAnnotation: function addPointAnnotation(options, pushToMemory) {\n this.chart.addPointAnnotation(options, pushToMemory);\n },\n removeAnnotation: function removeAnnotation(id, options) {\n this.chart.removeAnnotation(id, options);\n },\n clearAnnotations: function clearAnnotations() {\n this.chart.clearAnnotations();\n }\n }\n };\n\n var VueApexCharts = ApexChartsComponent;\n window.ApexCharts = ApexCharts;\n\n VueApexCharts.install = function (Vue) {\n //adding a global method or property\n Vue.ApexCharts = ApexCharts;\n window.ApexCharts = ApexCharts; // add the instance method\n\n Object.defineProperty(Vue.prototype, '$apexcharts', {\n get: function get() {\n return ApexCharts;\n }\n });\n };\n\n return VueApexCharts;\n\n})));\n","/*!\n * Vue.js v2.7.10\n * (c) 2014-2022 Evan You\n * Released under the MIT License.\n */\nvar emptyObject = Object.freeze({});\r\nvar isArray = Array.isArray;\r\n// These helpers produce better VM code in JS engines due to their\r\n// explicitness and function inlining.\r\nfunction isUndef(v) {\r\n return v === undefined || v === null;\r\n}\r\nfunction isDef(v) {\r\n return v !== undefined && v !== null;\r\n}\r\nfunction isTrue(v) {\r\n return v === true;\r\n}\r\nfunction isFalse(v) {\r\n return v === false;\r\n}\r\n/**\r\n * Check if value is primitive.\r\n */\r\nfunction isPrimitive(value) {\r\n return (typeof value === 'string' ||\r\n typeof value === 'number' ||\r\n // $flow-disable-line\r\n typeof value === 'symbol' ||\r\n typeof value === 'boolean');\r\n}\r\nfunction isFunction(value) {\r\n return typeof value === 'function';\r\n}\r\n/**\r\n * Quick object check - this is primarily used to tell\r\n * objects from primitive values when we know the value\r\n * is a JSON-compliant type.\r\n */\r\nfunction isObject(obj) {\r\n return obj !== null && typeof obj === 'object';\r\n}\r\n/**\r\n * Get the raw type string of a value, e.g., [object Object].\r\n */\r\nvar _toString = Object.prototype.toString;\r\nfunction toRawType(value) {\r\n return _toString.call(value).slice(8, -1);\r\n}\r\n/**\r\n * Strict object type check. Only returns true\r\n * for plain JavaScript objects.\r\n */\r\nfunction isPlainObject(obj) {\r\n return _toString.call(obj) === '[object Object]';\r\n}\r\nfunction isRegExp(v) {\r\n return _toString.call(v) === '[object RegExp]';\r\n}\r\n/**\r\n * Check if val is a valid array index.\r\n */\r\nfunction isValidArrayIndex(val) {\r\n var n = parseFloat(String(val));\r\n return n >= 0 && Math.floor(n) === n && isFinite(val);\r\n}\r\nfunction isPromise(val) {\r\n return (isDef(val) &&\r\n typeof val.then === 'function' &&\r\n typeof val.catch === 'function');\r\n}\r\n/**\r\n * Convert a value to a string that is actually rendered.\r\n */\r\nfunction toString(val) {\r\n return val == null\r\n ? ''\r\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\r\n ? JSON.stringify(val, null, 2)\r\n : String(val);\r\n}\r\n/**\r\n * Convert an input value to a number for persistence.\r\n * If the conversion fails, return original string.\r\n */\r\nfunction toNumber(val) {\r\n var n = parseFloat(val);\r\n return isNaN(n) ? val : n;\r\n}\r\n/**\r\n * Make a map and return a function for checking if a key\r\n * is in that map.\r\n */\r\nfunction makeMap(str, expectsLowerCase) {\r\n var map = Object.create(null);\r\n var list = str.split(',');\r\n for (var i = 0; i < list.length; i++) {\r\n map[list[i]] = true;\r\n }\r\n return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };\r\n}\r\n/**\r\n * Check if a tag is a built-in tag.\r\n */\r\nvar isBuiltInTag = makeMap('slot,component', true);\r\n/**\r\n * Check if an attribute is a reserved attribute.\r\n */\r\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\r\n/**\r\n * Remove an item from an array.\r\n */\r\nfunction remove$2(arr, item) {\r\n if (arr.length) {\r\n var index = arr.indexOf(item);\r\n if (index > -1) {\r\n return arr.splice(index, 1);\r\n }\r\n }\r\n}\r\n/**\r\n * Check whether an object has the property.\r\n */\r\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\r\nfunction hasOwn(obj, key) {\r\n return hasOwnProperty.call(obj, key);\r\n}\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached(fn) {\r\n var cache = Object.create(null);\r\n return function cachedFn(str) {\r\n var hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n}\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nvar camelizeRE = /-(\\w)/g;\r\nvar camelize = cached(function (str) {\r\n return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });\r\n});\r\n/**\r\n * Capitalize a string.\r\n */\r\nvar capitalize = cached(function (str) {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n});\r\n/**\r\n * Hyphenate a camelCase string.\r\n */\r\nvar hyphenateRE = /\\B([A-Z])/g;\r\nvar hyphenate = cached(function (str) {\r\n return str.replace(hyphenateRE, '-$1').toLowerCase();\r\n});\r\n/**\r\n * Simple bind polyfill for environments that do not support it,\r\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\r\n * since native bind is now performant enough in most browsers.\r\n * But removing it would mean breaking code that was able to run in\r\n * PhantomJS 1.x, so this must be kept for backward compatibility.\r\n */\r\n/* istanbul ignore next */\r\nfunction polyfillBind(fn, ctx) {\r\n function boundFn(a) {\r\n var l = arguments.length;\r\n return l\r\n ? l > 1\r\n ? fn.apply(ctx, arguments)\r\n : fn.call(ctx, a)\r\n : fn.call(ctx);\r\n }\r\n boundFn._length = fn.length;\r\n return boundFn;\r\n}\r\nfunction nativeBind(fn, ctx) {\r\n return fn.bind(ctx);\r\n}\r\n// @ts-expect-error bind cannot be `undefined`\r\nvar bind = Function.prototype.bind ? nativeBind : polyfillBind;\r\n/**\r\n * Convert an Array-like object to a real Array.\r\n */\r\nfunction toArray(list, start) {\r\n start = start || 0;\r\n var i = list.length - start;\r\n var ret = new Array(i);\r\n while (i--) {\r\n ret[i] = list[i + start];\r\n }\r\n return ret;\r\n}\r\n/**\r\n * Mix properties into target object.\r\n */\r\nfunction extend(to, _from) {\r\n for (var key in _from) {\r\n to[key] = _from[key];\r\n }\r\n return to;\r\n}\r\n/**\r\n * Merge an Array of Objects into a single Object.\r\n */\r\nfunction toObject(arr) {\r\n var res = {};\r\n for (var i = 0; i < arr.length; i++) {\r\n if (arr[i]) {\r\n extend(res, arr[i]);\r\n }\r\n }\r\n return res;\r\n}\r\n/* eslint-disable no-unused-vars */\r\n/**\r\n * Perform no operation.\r\n * Stubbing args to make Flow happy without leaving useless transpiled code\r\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\r\n */\r\nfunction noop(a, b, c) { }\r\n/**\r\n * Always return false.\r\n */\r\nvar no = function (a, b, c) { return false; };\r\n/* eslint-enable no-unused-vars */\r\n/**\r\n * Return the same value.\r\n */\r\nvar identity = function (_) { return _; };\r\n/**\r\n * Check if two values are loosely equal - that is,\r\n * if they are plain objects, do they have the same shape?\r\n */\r\nfunction looseEqual(a, b) {\r\n if (a === b)\r\n return true;\r\n var isObjectA = isObject(a);\r\n var isObjectB = isObject(b);\r\n if (isObjectA && isObjectB) {\r\n try {\r\n var isArrayA = Array.isArray(a);\r\n var isArrayB = Array.isArray(b);\r\n if (isArrayA && isArrayB) {\r\n return (a.length === b.length &&\r\n a.every(function (e, i) {\r\n return looseEqual(e, b[i]);\r\n }));\r\n }\r\n else if (a instanceof Date && b instanceof Date) {\r\n return a.getTime() === b.getTime();\r\n }\r\n else if (!isArrayA && !isArrayB) {\r\n var keysA = Object.keys(a);\r\n var keysB = Object.keys(b);\r\n return (keysA.length === keysB.length &&\r\n keysA.every(function (key) {\r\n return looseEqual(a[key], b[key]);\r\n }));\r\n }\r\n else {\r\n /* istanbul ignore next */\r\n return false;\r\n }\r\n }\r\n catch (e) {\r\n /* istanbul ignore next */\r\n return false;\r\n }\r\n }\r\n else if (!isObjectA && !isObjectB) {\r\n return String(a) === String(b);\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Return the first index at which a loosely equal value can be\r\n * found in the array (if value is a plain object, the array must\r\n * contain an object of the same shape), or -1 if it is not present.\r\n */\r\nfunction looseIndexOf(arr, val) {\r\n for (var i = 0; i < arr.length; i++) {\r\n if (looseEqual(arr[i], val))\r\n return i;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Ensure a function is called only once.\r\n */\r\nfunction once(fn) {\r\n var called = false;\r\n return function () {\r\n if (!called) {\r\n called = true;\r\n fn.apply(this, arguments);\r\n }\r\n };\r\n}\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill\r\nfunction hasChanged(x, y) {\r\n if (x === y) {\r\n return x === 0 && 1 / x !== 1 / y;\r\n }\r\n else {\r\n return x === x || y === y;\r\n }\r\n}\n\nvar SSR_ATTR = 'data-server-rendered';\r\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\r\nvar LIFECYCLE_HOOKS = [\r\n 'beforeCreate',\r\n 'created',\r\n 'beforeMount',\r\n 'mounted',\r\n 'beforeUpdate',\r\n 'updated',\r\n 'beforeDestroy',\r\n 'destroyed',\r\n 'activated',\r\n 'deactivated',\r\n 'errorCaptured',\r\n 'serverPrefetch',\r\n 'renderTracked',\r\n 'renderTriggered'\r\n];\n\nvar config = {\r\n /**\r\n * Option merge strategies (used in core/util/options)\r\n */\r\n // $flow-disable-line\r\n optionMergeStrategies: Object.create(null),\r\n /**\r\n * Whether to suppress warnings.\r\n */\r\n silent: false,\r\n /**\r\n * Show production mode tip message on boot?\r\n */\r\n productionTip: process.env.NODE_ENV !== 'production',\r\n /**\r\n * Whether to enable devtools\r\n */\r\n devtools: process.env.NODE_ENV !== 'production',\r\n /**\r\n * Whether to record perf\r\n */\r\n performance: false,\r\n /**\r\n * Error handler for watcher errors\r\n */\r\n errorHandler: null,\r\n /**\r\n * Warn handler for watcher warns\r\n */\r\n warnHandler: null,\r\n /**\r\n * Ignore certain custom elements\r\n */\r\n ignoredElements: [],\r\n /**\r\n * Custom user key aliases for v-on\r\n */\r\n // $flow-disable-line\r\n keyCodes: Object.create(null),\r\n /**\r\n * Check if a tag is reserved so that it cannot be registered as a\r\n * component. This is platform-dependent and may be overwritten.\r\n */\r\n isReservedTag: no,\r\n /**\r\n * Check if an attribute is reserved so that it cannot be used as a component\r\n * prop. This is platform-dependent and may be overwritten.\r\n */\r\n isReservedAttr: no,\r\n /**\r\n * Check if a tag is an unknown element.\r\n * Platform-dependent.\r\n */\r\n isUnknownElement: no,\r\n /**\r\n * Get the namespace of an element\r\n */\r\n getTagNamespace: noop,\r\n /**\r\n * Parse the real tag name for the specific platform.\r\n */\r\n parsePlatformTagName: identity,\r\n /**\r\n * Check if an attribute must be bound using property, e.g. value\r\n * Platform-dependent.\r\n */\r\n mustUseProp: no,\r\n /**\r\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\r\n * This will significantly reduce performance if set to false.\r\n */\r\n async: true,\r\n /**\r\n * Exposed for legacy reasons\r\n */\r\n _lifecycleHooks: LIFECYCLE_HOOKS\r\n};\n\n/**\r\n * unicode letters used for parsing html tags, component names and property paths.\r\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\r\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\r\n */\r\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\r\n/**\r\n * Check if a string starts with $ or _\r\n */\r\nfunction isReserved(str) {\r\n var c = (str + '').charCodeAt(0);\r\n return c === 0x24 || c === 0x5f;\r\n}\r\n/**\r\n * Define a property.\r\n */\r\nfunction def(obj, key, val, enumerable) {\r\n Object.defineProperty(obj, key, {\r\n value: val,\r\n enumerable: !!enumerable,\r\n writable: true,\r\n configurable: true\r\n });\r\n}\r\n/**\r\n * Parse simple path.\r\n */\r\nvar bailRE = new RegExp(\"[^\".concat(unicodeRegExp.source, \".$_\\\\d]\"));\r\nfunction parsePath(path) {\r\n if (bailRE.test(path)) {\r\n return;\r\n }\r\n var segments = path.split('.');\r\n return function (obj) {\r\n for (var i = 0; i < segments.length; i++) {\r\n if (!obj)\r\n return;\r\n obj = obj[segments[i]];\r\n }\r\n return obj;\r\n };\r\n}\n\n// can we use __proto__?\r\nvar hasProto = '__proto__' in {};\r\n// Browser environment sniffing\r\nvar inBrowser = typeof window !== 'undefined';\r\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\r\nvar isIE = UA && /msie|trident/.test(UA);\r\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\r\nvar isEdge = UA && UA.indexOf('edge/') > 0;\r\nUA && UA.indexOf('android') > 0;\r\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\r\nUA && /chrome\\/\\d+/.test(UA) && !isEdge;\r\nUA && /phantomjs/.test(UA);\r\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\r\n// Firefox has a \"watch\" function on Object.prototype...\r\n// @ts-expect-error firebox support\r\nvar nativeWatch = {}.watch;\r\nvar supportsPassive = false;\r\nif (inBrowser) {\r\n try {\r\n var opts = {};\r\n Object.defineProperty(opts, 'passive', {\r\n get: function () {\r\n /* istanbul ignore next */\r\n supportsPassive = true;\r\n }\r\n }); // https://github.com/facebook/flow/issues/285\r\n window.addEventListener('test-passive', null, opts);\r\n }\r\n catch (e) { }\r\n}\r\n// this needs to be lazy-evaled because vue may be required before\r\n// vue-server-renderer can set VUE_ENV\r\nvar _isServer;\r\nvar isServerRendering = function () {\r\n if (_isServer === undefined) {\r\n /* istanbul ignore if */\r\n if (!inBrowser && typeof global !== 'undefined') {\r\n // detect presence of vue-server-renderer and avoid\r\n // Webpack shimming the process\r\n _isServer =\r\n global['process'] && global['process'].env.VUE_ENV === 'server';\r\n }\r\n else {\r\n _isServer = false;\r\n }\r\n }\r\n return _isServer;\r\n};\r\n// detect devtools\r\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\r\n/* istanbul ignore next */\r\nfunction isNative(Ctor) {\r\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\r\n}\r\nvar hasSymbol = typeof Symbol !== 'undefined' &&\r\n isNative(Symbol) &&\r\n typeof Reflect !== 'undefined' &&\r\n isNative(Reflect.ownKeys);\r\nvar _Set; // $flow-disable-line\r\n/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {\r\n // use native Set when available.\r\n _Set = Set;\r\n}\r\nelse {\r\n // a non-standard Set polyfill that only works with primitive keys.\r\n _Set = /** @class */ (function () {\r\n function Set() {\r\n this.set = Object.create(null);\r\n }\r\n Set.prototype.has = function (key) {\r\n return this.set[key] === true;\r\n };\r\n Set.prototype.add = function (key) {\r\n this.set[key] = true;\r\n };\r\n Set.prototype.clear = function () {\r\n this.set = Object.create(null);\r\n };\r\n return Set;\r\n }());\r\n}\n\nvar currentInstance = null;\r\n/**\r\n * This is exposed for compatibility with v3 (e.g. some functions in VueUse\r\n * relies on it). Do not use this internally, just use `currentInstance`.\r\n *\r\n * @internal this function needs manual type declaration because it relies\r\n * on previously manually authored types from Vue 2\r\n */\r\nfunction getCurrentInstance() {\r\n return currentInstance && { proxy: currentInstance };\r\n}\r\n/**\r\n * @internal\r\n */\r\nfunction setCurrentInstance(vm) {\r\n if (vm === void 0) { vm = null; }\r\n if (!vm)\r\n currentInstance && currentInstance._scope.off();\r\n currentInstance = vm;\r\n vm && vm._scope.on();\r\n}\n\n/**\r\n * @internal\r\n */\r\nvar VNode = /** @class */ (function () {\r\n function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\r\n this.tag = tag;\r\n this.data = data;\r\n this.children = children;\r\n this.text = text;\r\n this.elm = elm;\r\n this.ns = undefined;\r\n this.context = context;\r\n this.fnContext = undefined;\r\n this.fnOptions = undefined;\r\n this.fnScopeId = undefined;\r\n this.key = data && data.key;\r\n this.componentOptions = componentOptions;\r\n this.componentInstance = undefined;\r\n this.parent = undefined;\r\n this.raw = false;\r\n this.isStatic = false;\r\n this.isRootInsert = true;\r\n this.isComment = false;\r\n this.isCloned = false;\r\n this.isOnce = false;\r\n this.asyncFactory = asyncFactory;\r\n this.asyncMeta = undefined;\r\n this.isAsyncPlaceholder = false;\r\n }\r\n Object.defineProperty(VNode.prototype, \"child\", {\r\n // DEPRECATED: alias for componentInstance for backwards compat.\r\n /* istanbul ignore next */\r\n get: function () {\r\n return this.componentInstance;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return VNode;\r\n}());\r\nvar createEmptyVNode = function (text) {\r\n if (text === void 0) { text = ''; }\r\n var node = new VNode();\r\n node.text = text;\r\n node.isComment = true;\r\n return node;\r\n};\r\nfunction createTextVNode(val) {\r\n return new VNode(undefined, undefined, undefined, String(val));\r\n}\r\n// optimized shallow clone\r\n// used for static nodes and slot nodes because they may be reused across\r\n// multiple renders, cloning them avoids errors when DOM manipulations rely\r\n// on their elm reference.\r\nfunction cloneVNode(vnode) {\r\n var cloned = new VNode(vnode.tag, vnode.data, \r\n // #7975\r\n // clone children array to avoid mutating original in case of cloning\r\n // a child.\r\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\r\n cloned.ns = vnode.ns;\r\n cloned.isStatic = vnode.isStatic;\r\n cloned.key = vnode.key;\r\n cloned.isComment = vnode.isComment;\r\n cloned.fnContext = vnode.fnContext;\r\n cloned.fnOptions = vnode.fnOptions;\r\n cloned.fnScopeId = vnode.fnScopeId;\r\n cloned.asyncMeta = vnode.asyncMeta;\r\n cloned.isCloned = true;\r\n return cloned;\r\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar uid$2 = 0;\r\n/**\r\n * A dep is an observable that can have multiple\r\n * directives subscribing to it.\r\n * @internal\r\n */\r\nvar Dep = /** @class */ (function () {\r\n function Dep() {\r\n this.id = uid$2++;\r\n this.subs = [];\r\n }\r\n Dep.prototype.addSub = function (sub) {\r\n this.subs.push(sub);\r\n };\r\n Dep.prototype.removeSub = function (sub) {\r\n remove$2(this.subs, sub);\r\n };\r\n Dep.prototype.depend = function (info) {\r\n if (Dep.target) {\r\n Dep.target.addDep(this);\r\n if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {\r\n Dep.target.onTrack(__assign({ effect: Dep.target }, info));\r\n }\r\n }\r\n };\r\n Dep.prototype.notify = function (info) {\r\n // stabilize the subscriber list first\r\n var subs = this.subs.slice();\r\n if (process.env.NODE_ENV !== 'production' && !config.async) {\r\n // subs aren't sorted in scheduler if not running async\r\n // we need to sort them now to make sure they fire in correct\r\n // order\r\n subs.sort(function (a, b) { return a.id - b.id; });\r\n }\r\n for (var i = 0, l = subs.length; i < l; i++) {\r\n if (process.env.NODE_ENV !== 'production' && info) {\r\n var sub = subs[i];\r\n sub.onTrigger &&\r\n sub.onTrigger(__assign({ effect: subs[i] }, info));\r\n }\r\n subs[i].update();\r\n }\r\n };\r\n return Dep;\r\n}());\r\n// The current target watcher being evaluated.\r\n// This is globally unique because only one watcher\r\n// can be evaluated at a time.\r\nDep.target = null;\r\nvar targetStack = [];\r\nfunction pushTarget(target) {\r\n targetStack.push(target);\r\n Dep.target = target;\r\n}\r\nfunction popTarget() {\r\n targetStack.pop();\r\n Dep.target = targetStack[targetStack.length - 1];\r\n}\n\n/*\r\n * not type checking this file because flow doesn't play well with\r\n * dynamically accessing methods on Array prototype\r\n */\r\nvar arrayProto = Array.prototype;\r\nvar arrayMethods = Object.create(arrayProto);\r\nvar methodsToPatch = [\r\n 'push',\r\n 'pop',\r\n 'shift',\r\n 'unshift',\r\n 'splice',\r\n 'sort',\r\n 'reverse'\r\n];\r\n/**\r\n * Intercept mutating methods and emit events\r\n */\r\nmethodsToPatch.forEach(function (method) {\r\n // cache original method\r\n var original = arrayProto[method];\r\n def(arrayMethods, method, function mutator() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var result = original.apply(this, args);\r\n var ob = this.__ob__;\r\n var inserted;\r\n switch (method) {\r\n case 'push':\r\n case 'unshift':\r\n inserted = args;\r\n break;\r\n case 'splice':\r\n inserted = args.slice(2);\r\n break;\r\n }\r\n if (inserted)\r\n ob.observeArray(inserted);\r\n // notify change\r\n if (process.env.NODE_ENV !== 'production') {\r\n ob.dep.notify({\r\n type: \"array mutation\" /* TriggerOpTypes.ARRAY_MUTATION */,\r\n target: this,\r\n key: method\r\n });\r\n }\r\n else {\r\n ob.dep.notify();\r\n }\r\n return result;\r\n });\r\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\r\nvar NO_INIITIAL_VALUE = {};\r\n/**\r\n * In some cases we may want to disable observation inside a component's\r\n * update computation.\r\n */\r\nvar shouldObserve = true;\r\nfunction toggleObserving(value) {\r\n shouldObserve = value;\r\n}\r\n// ssr mock dep\r\nvar mockDep = {\r\n notify: noop,\r\n depend: noop,\r\n addSub: noop,\r\n removeSub: noop\r\n};\r\n/**\r\n * Observer class that is attached to each observed\r\n * object. Once attached, the observer converts the target\r\n * object's property keys into getter/setters that\r\n * collect dependencies and dispatch updates.\r\n */\r\nvar Observer = /** @class */ (function () {\r\n function Observer(value, shallow, mock) {\r\n if (shallow === void 0) { shallow = false; }\r\n if (mock === void 0) { mock = false; }\r\n this.value = value;\r\n this.shallow = shallow;\r\n this.mock = mock;\r\n // this.value = value\r\n this.dep = mock ? mockDep : new Dep();\r\n this.vmCount = 0;\r\n def(value, '__ob__', this);\r\n if (isArray(value)) {\r\n if (!mock) {\r\n if (hasProto) {\r\n value.__proto__ = arrayMethods;\r\n /* eslint-enable no-proto */\r\n }\r\n else {\r\n for (var i = 0, l = arrayKeys.length; i < l; i++) {\r\n var key = arrayKeys[i];\r\n def(value, key, arrayMethods[key]);\r\n }\r\n }\r\n }\r\n if (!shallow) {\r\n this.observeArray(value);\r\n }\r\n }\r\n else {\r\n /**\r\n * Walk through all properties and convert them into\r\n * getter/setters. This method should only be called when\r\n * value type is Object.\r\n */\r\n var keys = Object.keys(value);\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);\r\n }\r\n }\r\n }\r\n /**\r\n * Observe a list of Array items.\r\n */\r\n Observer.prototype.observeArray = function (value) {\r\n for (var i = 0, l = value.length; i < l; i++) {\r\n observe(value[i], false, this.mock);\r\n }\r\n };\r\n return Observer;\r\n}());\r\n// helpers\r\n/**\r\n * Attempt to create an observer instance for a value,\r\n * returns the new observer if successfully observed,\r\n * or the existing observer if the value already has one.\r\n */\r\nfunction observe(value, shallow, ssrMockReactivity) {\r\n if (!isObject(value) || isRef(value) || value instanceof VNode) {\r\n return;\r\n }\r\n var ob;\r\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\r\n ob = value.__ob__;\r\n }\r\n else if (shouldObserve &&\r\n (ssrMockReactivity || !isServerRendering()) &&\r\n (isArray(value) || isPlainObject(value)) &&\r\n Object.isExtensible(value) &&\r\n !value.__v_skip /* ReactiveFlags.SKIP */) {\r\n ob = new Observer(value, shallow, ssrMockReactivity);\r\n }\r\n return ob;\r\n}\r\n/**\r\n * Define a reactive property on an Object.\r\n */\r\nfunction defineReactive(obj, key, val, customSetter, shallow, mock) {\r\n var dep = new Dep();\r\n var property = Object.getOwnPropertyDescriptor(obj, key);\r\n if (property && property.configurable === false) {\r\n return;\r\n }\r\n // cater for pre-defined getter/setters\r\n var getter = property && property.get;\r\n var setter = property && property.set;\r\n if ((!getter || setter) &&\r\n (val === NO_INIITIAL_VALUE || arguments.length === 2)) {\r\n val = obj[key];\r\n }\r\n var childOb = !shallow && observe(val, false, mock);\r\n Object.defineProperty(obj, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function reactiveGetter() {\r\n var value = getter ? getter.call(obj) : val;\r\n if (Dep.target) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n dep.depend({\r\n target: obj,\r\n type: \"get\" /* TrackOpTypes.GET */,\r\n key: key\r\n });\r\n }\r\n else {\r\n dep.depend();\r\n }\r\n if (childOb) {\r\n childOb.dep.depend();\r\n if (isArray(value)) {\r\n dependArray(value);\r\n }\r\n }\r\n }\r\n return isRef(value) && !shallow ? value.value : value;\r\n },\r\n set: function reactiveSetter(newVal) {\r\n var value = getter ? getter.call(obj) : val;\r\n if (!hasChanged(value, newVal)) {\r\n return;\r\n }\r\n if (process.env.NODE_ENV !== 'production' && customSetter) {\r\n customSetter();\r\n }\r\n if (setter) {\r\n setter.call(obj, newVal);\r\n }\r\n else if (getter) {\r\n // #7981: for accessor properties without setter\r\n return;\r\n }\r\n else if (!shallow && isRef(value) && !isRef(newVal)) {\r\n value.value = newVal;\r\n return;\r\n }\r\n else {\r\n val = newVal;\r\n }\r\n childOb = !shallow && observe(newVal, false, mock);\r\n if (process.env.NODE_ENV !== 'production') {\r\n dep.notify({\r\n type: \"set\" /* TriggerOpTypes.SET */,\r\n target: obj,\r\n key: key,\r\n newValue: newVal,\r\n oldValue: value\r\n });\r\n }\r\n else {\r\n dep.notify();\r\n }\r\n }\r\n });\r\n return dep;\r\n}\r\nfunction set(target, key, val) {\r\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\r\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \".concat(target));\r\n }\r\n if (isReadonly(target)) {\r\n process.env.NODE_ENV !== 'production' && warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\r\n return;\r\n }\r\n var ob = target.__ob__;\r\n if (isArray(target) && isValidArrayIndex(key)) {\r\n target.length = Math.max(target.length, key);\r\n target.splice(key, 1, val);\r\n // when mocking for SSR, array methods are not hijacked\r\n if (ob && !ob.shallow && ob.mock) {\r\n observe(val, false, true);\r\n }\r\n return val;\r\n }\r\n if (key in target && !(key in Object.prototype)) {\r\n target[key] = val;\r\n return val;\r\n }\r\n if (target._isVue || (ob && ob.vmCount)) {\r\n process.env.NODE_ENV !== 'production' &&\r\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' +\r\n 'at runtime - declare it upfront in the data option.');\r\n return val;\r\n }\r\n if (!ob) {\r\n target[key] = val;\r\n return val;\r\n }\r\n defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);\r\n if (process.env.NODE_ENV !== 'production') {\r\n ob.dep.notify({\r\n type: \"add\" /* TriggerOpTypes.ADD */,\r\n target: target,\r\n key: key,\r\n newValue: val,\r\n oldValue: undefined\r\n });\r\n }\r\n else {\r\n ob.dep.notify();\r\n }\r\n return val;\r\n}\r\nfunction del(target, key) {\r\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\r\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \".concat(target));\r\n }\r\n if (isArray(target) && isValidArrayIndex(key)) {\r\n target.splice(key, 1);\r\n return;\r\n }\r\n var ob = target.__ob__;\r\n if (target._isVue || (ob && ob.vmCount)) {\r\n process.env.NODE_ENV !== 'production' &&\r\n warn('Avoid deleting properties on a Vue instance or its root $data ' +\r\n '- just set it to null.');\r\n return;\r\n }\r\n if (isReadonly(target)) {\r\n process.env.NODE_ENV !== 'production' &&\r\n warn(\"Delete operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\r\n return;\r\n }\r\n if (!hasOwn(target, key)) {\r\n return;\r\n }\r\n delete target[key];\r\n if (!ob) {\r\n return;\r\n }\r\n if (process.env.NODE_ENV !== 'production') {\r\n ob.dep.notify({\r\n type: \"delete\" /* TriggerOpTypes.DELETE */,\r\n target: target,\r\n key: key\r\n });\r\n }\r\n else {\r\n ob.dep.notify();\r\n }\r\n}\r\n/**\r\n * Collect dependencies on array elements when the array is touched, since\r\n * we cannot intercept array element access like property getters.\r\n */\r\nfunction dependArray(value) {\r\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\r\n e = value[i];\r\n if (e && e.__ob__) {\r\n e.__ob__.dep.depend();\r\n }\r\n if (isArray(e)) {\r\n dependArray(e);\r\n }\r\n }\r\n}\n\nfunction reactive(target) {\r\n makeReactive(target, false);\r\n return target;\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n makeReactive(target, true);\r\n def(target, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\r\n return target;\r\n}\r\nfunction makeReactive(target, shallow) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (!isReadonly(target)) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (isArray(target)) {\r\n warn(\"Avoid using Array as root value for \".concat(shallow ? \"shallowReactive()\" : \"reactive()\", \" as it cannot be tracked in watch() or watchEffect(). Use \").concat(shallow ? \"shallowRef()\" : \"ref()\", \" instead. This is a Vue-2-only limitation.\"));\r\n }\r\n var existingOb = target && target.__ob__;\r\n if (existingOb && existingOb.shallow !== shallow) {\r\n warn(\"Target is already a \".concat(existingOb.shallow ? \"\" : \"non-\", \"shallow reactive object, and cannot be converted to \").concat(shallow ? \"\" : \"non-\", \"shallow.\"));\r\n }\r\n }\r\n var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);\r\n if (process.env.NODE_ENV !== 'production' && !ob) {\r\n if (target == null || isPrimitive(target)) {\r\n warn(\"value cannot be made reactive: \".concat(String(target)));\r\n }\r\n if (isCollectionType(target)) {\r\n warn(\"Vue 2 does not support reactive collection types such as Map or Set.\");\r\n }\r\n }\r\n }\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\r\n }\r\n return !!(value && value.__ob__);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value.__v_isShallow);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value.__v_isReadonly);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n var raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\r\n return value;\r\n}\r\n/**\r\n * @internal\r\n */\r\nfunction isCollectionType(value) {\r\n var type = toRawType(value);\r\n return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');\r\n}\n\n/**\r\n * @internal\r\n */\r\nvar RefFlag = \"__v_isRef\";\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref$1(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n var ref = {};\r\n def(ref, RefFlag, true);\r\n def(ref, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, shallow);\r\n def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));\r\n return ref;\r\n}\r\nfunction triggerRef(ref) {\r\n if (process.env.NODE_ENV !== 'production' && !ref.dep) {\r\n warn(\"received object is not a triggerable ref.\");\r\n }\r\n if (process.env.NODE_ENV !== 'production') {\r\n ref.dep &&\r\n ref.dep.notify({\r\n type: \"set\" /* TriggerOpTypes.SET */,\r\n target: ref,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n ref.dep && ref.dep.notify();\r\n }\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nfunction proxyRefs(objectWithRefs) {\r\n if (isReactive(objectWithRefs)) {\r\n return objectWithRefs;\r\n }\r\n var proxy = {};\r\n var keys = Object.keys(objectWithRefs);\r\n for (var i = 0; i < keys.length; i++) {\r\n proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);\r\n }\r\n return proxy;\r\n}\r\nfunction proxyWithRefUnwrap(target, source, key) {\r\n Object.defineProperty(target, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function () {\r\n var val = source[key];\r\n if (isRef(val)) {\r\n return val.value;\r\n }\r\n else {\r\n var ob = val && val.__ob__;\r\n if (ob)\r\n ob.dep.depend();\r\n return val;\r\n }\r\n },\r\n set: function (value) {\r\n var oldValue = source[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n }\r\n else {\r\n source[key] = value;\r\n }\r\n }\r\n });\r\n}\r\nfunction customRef(factory) {\r\n var dep = new Dep();\r\n var _a = factory(function () {\r\n if (process.env.NODE_ENV !== 'production') {\r\n dep.depend({\r\n target: ref,\r\n type: \"get\" /* TrackOpTypes.GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n dep.depend();\r\n }\r\n }, function () {\r\n if (process.env.NODE_ENV !== 'production') {\r\n dep.notify({\r\n target: ref,\r\n type: \"set\" /* TriggerOpTypes.SET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n dep.notify();\r\n }\r\n }), get = _a.get, set = _a.set;\r\n var ref = {\r\n get value() {\r\n return get();\r\n },\r\n set value(newVal) {\r\n set(newVal);\r\n }\r\n };\r\n def(ref, RefFlag, true);\r\n return ref;\r\n}\r\nfunction toRefs(object) {\r\n if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {\r\n warn(\"toRefs() expects a reactive object but received a plain one.\");\r\n }\r\n var ret = isArray(object) ? new Array(object.length) : {};\r\n for (var key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n var val = object[key];\r\n if (isRef(val)) {\r\n return val;\r\n }\r\n var ref = {\r\n get value() {\r\n var val = object[key];\r\n return val === undefined ? defaultValue : val;\r\n },\r\n set value(newVal) {\r\n object[key] = newVal;\r\n }\r\n };\r\n def(ref, RefFlag, true);\r\n return ref;\r\n}\n\nvar rawToReadonlyFlag = \"__v_rawToReadonly\";\r\nvar rawToShallowReadonlyFlag = \"__v_rawToShallowReadonly\";\r\nfunction readonly(target) {\r\n return createReadonly(target, false);\r\n}\r\nfunction createReadonly(target, shallow) {\r\n if (!isPlainObject(target)) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (isArray(target)) {\r\n warn(\"Vue 2 does not support readonly arrays.\");\r\n }\r\n else if (isCollectionType(target)) {\r\n warn(\"Vue 2 does not support readonly collection types such as Map or Set.\");\r\n }\r\n else {\r\n warn(\"value cannot be made readonly: \".concat(typeof target));\r\n }\r\n }\r\n return target;\r\n }\r\n // already a readonly object\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n // already has a readonly proxy\r\n var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;\r\n var existingProxy = target[existingFlag];\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n var proxy = Object.create(Object.getPrototypeOf(target));\r\n def(target, existingFlag, proxy);\r\n def(proxy, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, true);\r\n def(proxy, \"__v_raw\" /* ReactiveFlags.RAW */, target);\r\n if (isRef(target)) {\r\n def(proxy, RefFlag, true);\r\n }\r\n if (shallow || isShallow(target)) {\r\n def(proxy, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\r\n }\r\n var keys = Object.keys(target);\r\n for (var i = 0; i < keys.length; i++) {\r\n defineReadonlyProperty(proxy, target, keys[i], shallow);\r\n }\r\n return proxy;\r\n}\r\nfunction defineReadonlyProperty(proxy, target, key, shallow) {\r\n Object.defineProperty(proxy, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function () {\r\n var val = target[key];\r\n return shallow || !isPlainObject(val) ? val : readonly(val);\r\n },\r\n set: function () {\r\n process.env.NODE_ENV !== 'production' &&\r\n warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\r\n }\r\n });\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReadonly(target, true);\r\n}\n\nfunction computed(getterOrOptions, debugOptions) {\r\n var getter;\r\n var setter;\r\n var onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = process.env.NODE_ENV !== 'production'\r\n ? function () {\r\n warn('Write operation failed: computed value is readonly');\r\n }\r\n : noop;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n var watcher = isServerRendering()\r\n ? null\r\n : new Watcher(currentInstance, getter, noop, { lazy: true });\r\n if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {\r\n watcher.onTrack = debugOptions.onTrack;\r\n watcher.onTrigger = debugOptions.onTrigger;\r\n }\r\n var ref = {\r\n // some libs rely on the presence effect for checking computed refs\r\n // from normal refs, but the implementation doesn't matter\r\n effect: watcher,\r\n get value() {\r\n if (watcher) {\r\n if (watcher.dirty) {\r\n watcher.evaluate();\r\n }\r\n if (Dep.target) {\r\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\r\n Dep.target.onTrack({\r\n effect: Dep.target,\r\n target: ref,\r\n type: \"get\" /* TrackOpTypes.GET */,\r\n key: 'value'\r\n });\r\n }\r\n watcher.depend();\r\n }\r\n return watcher.value;\r\n }\r\n else {\r\n return getter();\r\n }\r\n },\r\n set value(newVal) {\r\n setter(newVal);\r\n }\r\n };\r\n def(ref, RefFlag, true);\r\n def(ref, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, onlyGetter);\r\n return ref;\r\n}\n\nvar WATCHER = \"watcher\";\r\nvar WATCHER_CB = \"\".concat(WATCHER, \" callback\");\r\nvar WATCHER_GETTER = \"\".concat(WATCHER, \" getter\");\r\nvar WATCHER_CLEANUP = \"\".concat(WATCHER, \" cleanup\");\r\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\r\n ? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\r\n ? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nvar INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\r\n warn(\"`watch(fn, options?)` signature has been moved to a separate API. \" +\r\n \"Use `watchEffect(fn, options?)` instead. `watch` now only \" +\r\n \"supports `watch(source, cb, options?) signature.\");\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, _a) {\r\n var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;\r\n if (process.env.NODE_ENV !== 'production' && !cb) {\r\n if (immediate !== undefined) {\r\n warn(\"watch() \\\"immediate\\\" option is only respected when using the \" +\r\n \"watch(source, callback, options?) signature.\");\r\n }\r\n if (deep !== undefined) {\r\n warn(\"watch() \\\"deep\\\" option is only respected when using the \" +\r\n \"watch(source, callback, options?) signature.\");\r\n }\r\n }\r\n var warnInvalidSource = function (s) {\r\n warn(\"Invalid watch source: \".concat(s, \". A watch source can only be a getter/effect \") +\r\n \"function, a ref, a reactive object, or an array of these types.\");\r\n };\r\n var instance = currentInstance;\r\n var call = function (fn, type, args) {\r\n if (args === void 0) { args = null; }\r\n return invokeWithErrorHandling(fn, null, args, instance, type);\r\n };\r\n var getter;\r\n var forceTrigger = false;\r\n var isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = function () { return source.value; };\r\n forceTrigger = isShallow(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = function () {\r\n source.__ob__.dep.depend();\r\n return source;\r\n };\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });\r\n getter = function () {\r\n return source.map(function (s) {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return call(s, WATCHER_GETTER);\r\n }\r\n else {\r\n process.env.NODE_ENV !== 'production' && warnInvalidSource(s);\r\n }\r\n });\r\n };\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = function () { return call(source, WATCHER_GETTER); };\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = function () {\r\n if (instance && instance._isDestroyed) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return call(source, WATCHER, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = noop;\r\n process.env.NODE_ENV !== 'production' && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n var baseGetter_1 = getter;\r\n getter = function () { return traverse(baseGetter_1()); };\r\n }\r\n var cleanup;\r\n var onCleanup = function (fn) {\r\n cleanup = watcher.onStop = function () {\r\n call(fn, WATCHER_CLEANUP);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isServerRendering()) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = noop;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n call(cb, WATCHER_CB, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return noop;\r\n }\r\n var watcher = new Watcher(currentInstance, getter, noop, {\r\n lazy: true\r\n });\r\n watcher.noRecurse = !cb;\r\n var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n // overwrite default run\r\n watcher.run = function () {\r\n if (!watcher.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n var newValue = watcher.get();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some(function (v, i) {\r\n return hasChanged(v, oldValue[i]);\r\n })\r\n : hasChanged(newValue, oldValue))) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n call(cb, WATCHER_CB, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n watcher.get();\r\n }\r\n };\r\n if (flush === 'sync') {\r\n watcher.update = watcher.run;\r\n }\r\n else if (flush === 'post') {\r\n watcher.post = true;\r\n watcher.update = function () { return queueWatcher(watcher); };\r\n }\r\n else {\r\n // pre\r\n watcher.update = function () {\r\n if (instance && instance === currentInstance && !instance._isMounted) {\r\n // pre-watcher triggered before\r\n var buffer = instance._preWatchers || (instance._preWatchers = []);\r\n if (buffer.indexOf(watcher) < 0)\r\n buffer.push(watcher);\r\n }\r\n else {\r\n queueWatcher(watcher);\r\n }\r\n };\r\n }\r\n if (process.env.NODE_ENV !== 'production') {\r\n watcher.onTrack = onTrack;\r\n watcher.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n watcher.run();\r\n }\r\n else {\r\n oldValue = watcher.get();\r\n }\r\n }\r\n else if (flush === 'post' && instance) {\r\n instance.$once('hook:mounted', function () { return watcher.get(); });\r\n }\r\n else {\r\n watcher.get();\r\n }\r\n return function () {\r\n watcher.teardown();\r\n };\r\n}\n\nvar activeEffectScope;\r\nvar EffectScope = /** @class */ (function () {\r\n function EffectScope(detached) {\r\n if (detached === void 0) { detached = false; }\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n EffectScope.prototype.run = function (fn) {\r\n if (this.active) {\r\n var currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if (process.env.NODE_ENV !== 'production') {\r\n warn(\"cannot run an inactive effect scope.\");\r\n }\r\n };\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n EffectScope.prototype.on = function () {\r\n activeEffectScope = this;\r\n };\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n EffectScope.prototype.off = function () {\r\n activeEffectScope = this.parent;\r\n };\r\n EffectScope.prototype.stop = function (fromParent) {\r\n if (this.active) {\r\n var i = void 0, l = void 0;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].teardown();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n var last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n };\r\n return EffectScope;\r\n}());\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\n/**\r\n * @internal\r\n */\r\nfunction recordEffectScope(effect, scope) {\r\n if (scope === void 0) { scope = activeEffectScope; }\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if (process.env.NODE_ENV !== 'production') {\r\n warn(\"onScopeDispose() is called when there is no active effect scope\" +\r\n \" to be associated with.\");\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n warn(\"provide() can only be used inside setup().\");\r\n }\r\n }\r\n else {\r\n // TS doesn't allow symbol as index type\r\n resolveProvided(currentInstance)[key] = value;\r\n }\r\n}\r\nfunction resolveProvided(vm) {\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n var existing = vm._provided;\r\n var parentProvides = vm.$parent && vm.$parent._provided;\r\n if (parentProvides === existing) {\r\n return (vm._provided = Object.create(parentProvides));\r\n }\r\n else {\r\n return existing;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory) {\r\n if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n var instance = currentInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n var provides = instance.$parent && instance.$parent._provided;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance)\r\n : defaultValue;\r\n }\r\n else if (process.env.NODE_ENV !== 'production') {\r\n warn(\"injection \\\"\".concat(String(key), \"\\\" not found.\"));\r\n }\r\n }\r\n else if (process.env.NODE_ENV !== 'production') {\r\n warn(\"inject() can only be used inside setup() or functional components.\");\r\n }\r\n}\n\nvar normalizeEvent = cached(function (name) {\r\n var passive = name.charAt(0) === '&';\r\n name = passive ? name.slice(1) : name;\r\n var once = name.charAt(0) === '~'; // Prefixed last, checked first\r\n name = once ? name.slice(1) : name;\r\n var capture = name.charAt(0) === '!';\r\n name = capture ? name.slice(1) : name;\r\n return {\r\n name: name,\r\n once: once,\r\n capture: capture,\r\n passive: passive\r\n };\r\n});\r\nfunction createFnInvoker(fns, vm) {\r\n function invoker() {\r\n var fns = invoker.fns;\r\n if (isArray(fns)) {\r\n var cloned = fns.slice();\r\n for (var i = 0; i < cloned.length; i++) {\r\n invokeWithErrorHandling(cloned[i], null, arguments, vm, \"v-on handler\");\r\n }\r\n }\r\n else {\r\n // return handler return value for single handlers\r\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\r\n }\r\n }\r\n invoker.fns = fns;\r\n return invoker;\r\n}\r\nfunction updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {\r\n var name, cur, old, event;\r\n for (name in on) {\r\n cur = on[name];\r\n old = oldOn[name];\r\n event = normalizeEvent(name);\r\n if (isUndef(cur)) {\r\n process.env.NODE_ENV !== 'production' &&\r\n warn(\"Invalid handler for event \\\"\".concat(event.name, \"\\\": got \") + String(cur), vm);\r\n }\r\n else if (isUndef(old)) {\r\n if (isUndef(cur.fns)) {\r\n cur = on[name] = createFnInvoker(cur, vm);\r\n }\r\n if (isTrue(event.once)) {\r\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\r\n }\r\n add(event.name, cur, event.capture, event.passive, event.params);\r\n }\r\n else if (cur !== old) {\r\n old.fns = cur;\r\n on[name] = old;\r\n }\r\n }\r\n for (name in oldOn) {\r\n if (isUndef(on[name])) {\r\n event = normalizeEvent(name);\r\n remove(event.name, oldOn[name], event.capture);\r\n }\r\n }\r\n}\n\nfunction mergeVNodeHook(def, hookKey, hook) {\r\n if (def instanceof VNode) {\r\n def = def.data.hook || (def.data.hook = {});\r\n }\r\n var invoker;\r\n var oldHook = def[hookKey];\r\n function wrappedHook() {\r\n hook.apply(this, arguments);\r\n // important: remove merged hook to ensure it's called only once\r\n // and prevent memory leak\r\n remove$2(invoker.fns, wrappedHook);\r\n }\r\n if (isUndef(oldHook)) {\r\n // no existing hook\r\n invoker = createFnInvoker([wrappedHook]);\r\n }\r\n else {\r\n /* istanbul ignore if */\r\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\r\n // already a merged invoker\r\n invoker = oldHook;\r\n invoker.fns.push(wrappedHook);\r\n }\r\n else {\r\n // existing plain hook\r\n invoker = createFnInvoker([oldHook, wrappedHook]);\r\n }\r\n }\r\n invoker.merged = true;\r\n def[hookKey] = invoker;\r\n}\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\r\n // we are only extracting raw values here.\r\n // validation and default values are handled in the child\r\n // component itself.\r\n var propOptions = Ctor.options.props;\r\n if (isUndef(propOptions)) {\r\n return;\r\n }\r\n var res = {};\r\n var attrs = data.attrs, props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\r\n if (process.env.NODE_ENV !== 'production') {\r\n var keyInLowerCase = key.toLowerCase();\r\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\r\n tip(\"Prop \\\"\".concat(keyInLowerCase, \"\\\" is passed to component \") +\r\n \"\".concat(formatComponentName(\r\n // @ts-expect-error tag is string\r\n tag || Ctor), \", but the declared prop name is\") +\r\n \" \\\"\".concat(key, \"\\\". \") +\r\n \"Note that HTML attributes are case-insensitive and camelCased \" +\r\n \"props need to use their kebab-case equivalents when using in-DOM \" +\r\n \"templates. You should probably use \\\"\".concat(altKey, \"\\\" instead of \\\"\").concat(key, \"\\\".\"));\r\n }\r\n }\r\n checkProp(res, props, key, altKey, true) ||\r\n checkProp(res, attrs, key, altKey, false);\r\n }\r\n }\r\n return res;\r\n}\r\nfunction checkProp(res, hash, key, altKey, preserve) {\r\n if (isDef(hash)) {\r\n if (hasOwn(hash, key)) {\r\n res[key] = hash[key];\r\n if (!preserve) {\r\n delete hash[key];\r\n }\r\n return true;\r\n }\r\n else if (hasOwn(hash, altKey)) {\r\n res[key] = hash[altKey];\r\n if (!preserve) {\r\n delete hash[altKey];\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\n\n// The template compiler attempts to minimize the need for normalization by\r\n// statically analyzing the template at compile time.\r\n//\r\n// For plain HTML markup, normalization can be completely skipped because the\r\n// generated render function is guaranteed to return Array. There are\r\n// two cases where extra normalization is needed:\r\n// 1. When the children contains components - because a functional component\r\n// may return an Array instead of a single root. In this case, just a simple\r\n// normalization is needed - if any child is an Array, we flatten the whole\r\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\r\n// because functional components already normalize their own children.\r\nfunction simpleNormalizeChildren(children) {\r\n for (var i = 0; i < children.length; i++) {\r\n if (isArray(children[i])) {\r\n return Array.prototype.concat.apply([], children);\r\n }\r\n }\r\n return children;\r\n}\r\n// 2. When the children contains constructs that always generated nested Arrays,\r\n// e.g.