@aws-amplify/geo 1.3.25-unstable.4 → 1.3.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/build.js +5 -0
- package/dist/aws-amplify-geo.js +29284 -0
- package/dist/aws-amplify-geo.js.map +1 -0
- package/dist/aws-amplify-geo.min.js +56 -0
- package/dist/aws-amplify-geo.min.js.map +1 -0
- package/index.js +7 -0
- package/lib/Geo.js +82 -21
- package/lib/Geo.js.map +1 -1
- package/lib/Providers/AmazonLocationServiceProvider.js +112 -33
- package/lib/Providers/AmazonLocationServiceProvider.js.map +1 -1
- package/lib/util.js +47 -8
- package/lib/util.js.map +1 -1
- package/lib-esm/Geo.js +66 -5
- package/lib-esm/Geo.js.map +1 -1
- package/lib-esm/Providers/AmazonLocationServiceProvider.js +79 -3
- package/lib-esm/Providers/AmazonLocationServiceProvider.js.map +1 -1
- package/lib-esm/util.js +39 -3
- package/lib-esm/util.js.map +1 -1
- package/package.json +9 -13
- package/src/Geo.ts +14 -4
- package/src/Providers/AmazonLocationServiceProvider.ts +12 -2
- package/src/types/Geo.ts +12 -2
- package/src/types/Provider.ts +12 -2
- package/src/util.ts +12 -2
- package/webpack.config.dev.js +6 -0
- package/lib/Geo.d.ts +0 -110
- package/lib/Providers/AmazonLocationServiceProvider.d.ts +0 -105
- package/lib/index.d.ts +0 -2
- package/lib/types/AmazonLocationServiceProvider.d.ts +0 -24
- package/lib/types/Geo.d.ts +0 -114
- package/lib/types/Provider.d.ts +0 -16
- package/lib/types/index.d.ts +0 -3
- package/lib/util.d.ts +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external \"aws_amplify_core\"","webpack:///./node_modules/@aws-sdk/middleware-recursion-detection/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/bowser/es5.js","webpack:///./node_modules/camelcase-keys/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/util-locate-window/dist-es/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/emitWarningIfUnsupportedVersion.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/build/constants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js","webpack:///./node_modules/@aws-crypto/util/build/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/build/index.js","webpack:///./node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/protocol-http/dist-es/httpRequest.js","webpack:///./node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/protocol-http/dist-es/httpResponse.js","webpack:///./node_modules/camelcase-keys/node_modules/map-obj/index.js","webpack:///./node_modules/camelcase/index.js","webpack:///./node_modules/quick-lru/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js","webpack:///./node_modules/@aws-crypto/util/build/convertToBuffer.js","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/@aws-crypto/util/build/isEmptyData.js","webpack:///./node_modules/@aws-crypto/util/build/numToUint8.js","webpack:///./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/supports-web-crypto/build/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/build/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/build/CryptoOperation.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/build/Key.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/build/KeyOperation.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/build/MsWindow.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/util-config-provider/dist-es/booleanSelector.js","webpack:///./node_modules/@aws-sdk/util-middleware/dist-es/normalizeProvider.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionConfig/isFipsRegion.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionConfig/getRealRegion.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionInfo/getRegionInfo.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionInfo/getResolvedPartition.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionInfo/getResolvedHostname.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/protocol-http/dist-es/httpRequest.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/protocol-http/dist-es/httpResponse.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/protocol-http/dist-es/isValidHostname.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-content-length/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-host-header/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/config.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/service-error-classification/dist-es/constants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/service-error-classification/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/DefaultRateLimiter.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/uuid/dist/esm-browser/v4.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/delayDecider.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/constants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/retryDecider.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/StandardRetryStrategy.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/defaultRetryQuota.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/AdaptiveRetryStrategy.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/retryMiddleware.js","webpack:///./node_modules/@aws-sdk/property-provider/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/property-provider/dist-es/ProviderError.js","webpack:///./node_modules/@aws-sdk/property-provider/dist-es/CredentialsProviderError.js","webpack:///./node_modules/@aws-sdk/property-provider/dist-es/TokenProviderError.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-hex-encoding/dist-es/index.js","webpack:///./node_modules/@aws-sdk/property-provider/dist-es/fromStatic.js","webpack:///./node_modules/@aws-sdk/property-provider/dist-es/memoize.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/constants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/credentialDerivation.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/getCanonicalHeaders.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-uri-escape/dist-es/escape-uri.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/getPayloadHash.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/is-array-buffer/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/cloneRequest.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/prepareRequest.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/utilDate.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/SignatureV4.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/moveHeadersToQuery.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/headerUtil.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/signature-v4/dist-es/getCanonicalQuery.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-signing/dist-es/configurations.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-signing/dist-es/utils/getSkewCorrectedDate.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-signing/dist-es/utils/getUpdatedSystemClockOffset.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-signing/dist-es/utils/isClockSkewed.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-signing/dist-es/middleware.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-stack/dist-es/MiddlewareStack.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/client.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/command.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/constants.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/parse-utils.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/date-utils.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/exceptions.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/default-error-handler.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/defaults-mode.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/extended-encode-uri-component.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/get-array-if-single-item.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/lazy-json.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/object-mapping.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/resolve-path.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/smithy-client/dist-es/ser-utils.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-base64-browser/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/fetch-http-handler/dist-es/fetch-http-handler.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/querystring-builder/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/fetch-http-handler/dist-es/request-timeout.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/fetch-http-handler/dist-es/stream-collector.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/invalid-dependency/dist-es/invalidFunction.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-body-length-browser/dist-es/calculateBodyLength.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/url-parser/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/querystring-parser/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/endpoints.js","webpack:///./node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/util-defaults-mode-browser/dist-es/constants.js","webpack:///./node_modules/@aws-sdk/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/runtimeConfig.browser.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/invalid-dependency/dist-es/invalidProvider.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/runtimeConfig.shared.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/LocationClient.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-retry/dist-es/configurations.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/config-resolver/dist-es/regionConfig/resolveRegionConfig.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-serde/dist-es/serdePlugin.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-serde/dist-es/deserializerMiddleware.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/middleware-serde/dist-es/serializerMiddleware.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/models/LocationServiceException.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/models/models_0.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/protocols/Aws_restJson1.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/SearchPlaceIndexForTextCommand.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/SearchPlaceIndexForSuggestionsCommand.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/GetPlaceCommand.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/SearchPlaceIndexForPositionCommand.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/GetGeofenceCommand.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/ListGeofencesCommand.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/BatchPutGeofenceCommand.js","webpack:///./node_modules/@aws-sdk/client-location/dist-es/commands/BatchDeleteGeofenceCommand.js","webpack:///./node_modules/@turf/boolean-clockwise/dist/es/index.js","webpack:///./node_modules/@turf/invariant/dist/es/index.js","webpack:///../src/util.ts","webpack:///../../src/Providers/AmazonLocationServiceProvider.ts","webpack:///../src/Geo.ts","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js","webpack:///./node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js","webpack:///./node_modules/@aws-crypto/util/node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js","webpack:///./node_modules/@aws-crypto/util/node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js","webpack:///./node_modules/@aws-crypto/util/node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__assign","assign","arguments","length","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","__read","ar","error","__spreadArray","to","from","pack","Array","slice","concat","default","17","getFirstMatch","match","getSecondMatch","matchAndReturnConst","test","getWindowsVersionName","getMacOSVersionName","split","splice","map","parseInt","getAndroidVersionName","getVersionPrecision","compareVersions","a","Math","max","u","join","reverse","min","find","keys","forEach","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","18","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chrome","chromium","electron","epiphany","firefox","focus","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","90","configurable","writable","getParser","Error","parse","getResult","91","_ua","parsedResult","getUA","parseBrowser","browser","some","describe","getBrowser","getBrowserName","String","toLowerCase","getBrowserVersion","version","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","platform","parsePlatform","getPlatformType","type","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","h","isBrowser","compareVersion","substr","indexOf","isEngine","is","92","search","93","versionName","replace","94","vendor","model","Number","95","mapObj","camelCase","QuickLru","cache","maxSize","isObject","RegExp","Date","camelCaseConvert","input","options","deep","pascalCase","exclude","stopPaths","stopPathsSet","Set","makeMapper","parentPath","path","undefined","has","array","x","lastIndex","cacheKey","ret","set","isArray","extendStatics","b","setPrototypeOf","__proto__","__extends","__","constructor","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__createBinding","k","k2","__exportStar","__values","__spread","__spreadArrays","il","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__importDefault","__classPrivateFieldGet","receiver","privateMap","__classPrivateFieldSet","fallbackWindow","locateWindow","self","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","noop","nextTick","args","title","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","Sha256","isEmptyData_1","constants_1","util_utf8_browser_1","util_locate_window_1","secret","operation","keyOperation","msCrypto","subtle","importKey","toArrayBufferView","SHA_256_HMAC_ALGO","oncomplete","onerror","getKeyPromise","keyData","sign","catch","digest","update","toHash","_this","isEmptyData","Uint8Array","finish","data","fromUtf8","ArrayBuffer","isView","buffer","byteOffset","byteLength","BYTES_PER_ELEMENT","EMPTY_DATA_SHA_256","SHA_256_HASH","hash","util_1","crypto","convertToBuffer","typedArray","uint32ArrayFrom","numToUint8","convertToBuffer_1","numToUint8_1","uint32ArrayFrom_1","MAX_HASHABLE_LENGTH","INIT","KEY","DIGEST_LENGTH","BLOCK_SIZE","Uint32Array","pow","addRecursionDetectionMiddlewareOptions","tags","override","priority","getRecursionDetectionPlugin","applyToStack","clientStack","add","request","functionName","traceId","nonEmptyString","_a","isInstance","runtime","headers","str","recursionDetectionMiddleware","WebCryptoSha256","Ie11Sha256","ie11Sha256_1","webCryptoSha256_1","HttpRequest","method","hostname","port","query","protocol","charAt","req","clone","cloned","reduce","carry","paramName","param","HttpResponse","statusCode","response","resp","mapObjectSkip","isObjectCustom","mapObject","mapper","isSeen","WeakMap","mapArray","element","entries","mapResult","newKey","newValue","shouldRecurse","trim","filter","toUpperCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","p1","Map","oldCache","_size","delete","_set","deleted","clear","item","oldCacheSize","sha256_js_1","supports_web_crypto_1","ie11_detection_1","supportsWebCrypto","isMsWindow","encoding","Buffer","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","isEncoding","actual","write","fromString","obj","isBuffer","checked","copy","val","fromObject","assertSize","size","toString","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","isNaN","arrayIndexOf","lastIndexOf","arr","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","compare","list","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","stringtrim","base64clean","src","dst","Function","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","num","output","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","log","LN2","a_lookUpTable","return_array","a_index","tslib_1","RawSha256_1","RawSha256","outer","inner","bufferHash","bufferFromSecret","digestSync","finished","state","Int32Array","temp","bufferLength","bytesHashed","position","hashBuffer","bitsHashed","bufferView","DataView","undecoratedLength","setUint8","setUint32","state0","state1","state2","state3","state4","state5","state6","state7","t1_1","t2_1","t1","t2","supportsZeroByteGCM","supportsSubtleCrypto","supportsSecureRandom","subtleCryptoMethods","getRandomValues","every","methodName","_b","generateKey","encrypt","iv","additionalData","tagLength","msSubtleCryptoMethods","quacksLikeAnMsWindow","subtle_1","SelectorType","normalizeProvider","promisified","resolveEndpointsConfig","useDualstackEndpoint","endpoint","useFipsEndpoint","urlParser","tls","region","_c","regionInfoProvider","getEndpointFromRegion","isCustomEndpoint","isFipsRegion","startsWith","endsWith","getRealRegion","getHostnameFromVariants","variants","getRegionInfo","_d","_e","_f","_g","_h","_j","signingService","regionHash","partitionHash","partition","regions","getResolvedPartition","resolvedRegion","hostnameOptions","regionHostname","partitionHostname","getResolvedHostname","signingRegion","regionRegex","regionRegexJs","regionRegexmatchArray","getResolvedSigningRegion","isValidHostname","contentLengthMiddlewareOptions","getContentLengthPlugin","bodyLengthChecker","length_1","contentLengthMiddleware","RETRY_MODES","hostHeaderMiddlewareOptions","getHostHeaderPlugin","requestHandler","handlerProtocol","hostHeaderMiddleware","loggerMiddlewareOptions","getLoggerPlugin","context","clientName","commandName","inputFilterSensitiveLog","logger","outputFilterSensitiveLog","$metadata","outputWithoutMetadata","info","DEFAULT_RETRY_MODE","STANDARD","CLOCK_SKEW_ERROR_CODES","THROTTLING_ERROR_CODES","TRANSIENT_ERROR_CODES","TRANSIENT_ERROR_STATUS_CODES","NODEJS_TIMEOUT_ERROR_CODES","isThrottlingError","httpStatusCode","$retryable","throttling","DefaultRateLimiter","currentCapacity","enabled","lastMaxRate","measuredTxRate","requestCount","lastTimestamp","timeWindow","beta","minCapacity","minFillRate","scaleConstant","smooth","currentTimeInSeconds","getCurrentTimeInSeconds","lastThrottleTime","lastTxRateBucket","fillRate","maxCapacity","now","getSendToken","acquireTokenBucket","amount","delay_1","refillTokenBucket","timestamp","fillAmount","updateClientSendingRate","calculatedRate","updateMeasuredRate","rateToUse","calculateTimeWindow","cubicThrottle","enableTokenBucket","cubicSuccess","newRate","updateTokenBucketRate","getPrecise","timeBucket","currentRate","parseFloat","toFixed","rnds8","rng","uuid","byteToHex","rnds","random","defaultDelayDecider","delayBase","attempts","defaultRetryDecider","isRetryableByTrait","isClockSkewError","isTransientError","StandardRetryStrategy","maxAttemptsProvider","retryDecider","delayDecider","retryQuota","initialRetryTokens","MAX_CAPACITY","noRetryIncrement","retryCost","timeoutRetryCost","availableCapacity","getCapacityAmount","hasRetryTokens","freeze","retrieveRetryTokens","capacityAmount","releaseRetryTokens","capacityReleaseAmount","getDefaultRetryQuota","shouldRetry","maxAttempts","getMaxAttempts","retry","retryTokenAmount","totalDelay","_loop_1","this_1","state_1","e_1","err","delayFromDecider","delayFromResponse","beforeRequest","afterRequest","totalRetryDelay","asSdkError","getDelayFromRetryAfterHeader","$response","retryAfterHeaderName","retryAfter","retryAfterSeconds","getTime","_super","AdaptiveRetryStrategy","rateLimiter","superOptions","ADAPTIVE","retryMiddlewareOptions","getRetryPlugin","retryStrategy","userAgent","retryMiddleware","ProviderError","message","tryNextLink","CredentialsProviderError","TokenProviderError","memoize","provider","isExpired","requiresRefresh","resolved","pending","hasResult","isConstant","coalesceProvider","forceRefresh","SHORT_TO_HEX","HEX_TO_SHORT","encodedByte","AMZ_DATE_HEADER","GENERATED_HEADERS","SIGNATURE_HEADER","TOKEN_HEADER","ALWAYS_UNSIGNABLE_HEADERS","authorization","connection","expect","pragma","referer","te","trailer","upgrade","PROXY_HEADER_PATTERN","SEC_HEADER_PATTERN","EVENT_ALGORITHM_IDENTIFIER","signingKeyCache","cacheQueue","createScope","shortDate","service","hmac","ctor","getCanonicalHeaders","unsignableHeaders","signableHeaders","canonical","sort","headerName","canonicalHeaderName","e_1_1","return","escapeUri","uri","encodeURIComponent","hexEncode","getPayloadHash","hashConstructor","hashCtor","cloneRequest","rest","prepareRequest","toDate","time","SignatureV4","applyChecksum","credentials","sha256","uriEscapePath","regionProvider","credentialProvider","presign","originalRequest","signingDate","expiresIn","unhoistableHeaders","longDate","scope","canonicalHeaders","_k","_l","validateResolvedCredentials","formatDate","name_1","lname","moveHeadersToQuery","sessionToken","accessKeyId","getCanonicalHeaderList","getSignature","getSigningKey","createCanonicalRequest","toSign","signString","payload","signEvent","signRequest","priorSignature","hashedPayload","hashedHeaders","stringToSign","requestToSign","payloadHash","signature","soughtHeader","hasHeader","sortedHeaders","getCanonicalPath","serialized","encoded","getCanonicalQuery","createStringToSign","credentialScope","canonicalRequest","hashedRequest","normalizedPathSegments","pathSegment","normalizedPath","keyPromise","sha256Constructor","credsHash","signable","secretAccessKey","toISOString","normalizeCredentialProvider","expiration","getSkewCorrectedDate","systemClockOffset","getUpdatedSystemClockOffset","clockTime","currentSystemClockOffset","clockTimeInMs","isClockSkewed","getDateHeader","date","awsAuthMiddlewareOptions","relation","toMiddleware","getAwsAuthPlugin","addRelativeTo","authScheme","signer","dateHeader","properties","authSchemes","serverTime","ServerTime","awsAuthMiddleware","UA_ESCAPE_REGEX","escapeUserAgent","prefixSeparatorIndex","prefix","substring","uaName","getUserAgentMiddlewareOptions","getUserAgentPlugin","config","defaultUserAgent","customUserAgent","sdkUserAgentValue","normalUAValue","defaultUserAgentProvider","section","constructStack","absoluteEntries","relativeEntries","entriesNameSet","cloneTo","toStack","entry","middleware","expandRelativeMiddlewareList","expandedMiddlewareList","before","after","getMiddlewareList","debug","normalizedAbsoluteEntries","normalizedRelativeEntries","normalizedEntriesNameMap","normalizedEntry","stepWeights","priorityWeights","wholeList","expendedMiddlewareList","stack","toOverrideIndex","findIndex","toOverride","use","plugin","remove","toRemove","isRemoved","filterCb","removeByName","removeByReference","removeByTag","identify","mw","handler","initialize","serialize","build","finalizeRequest","deserialize","high","normal","low","Client","middlewareStack","send","command","optionsOrCb","cb","callback","resolveMiddleware","destroy","SENSITIVE_STRING","expectBoolean","warn","stackTraceWarning","lower","expectNumber","MAX_FLOAT","ceil","expectFloat32","expected","expectLong","isInteger","expectInt32","expectSizedInt","expectShort","expectByte","castInt","of","Int16Array","Int8Array","expectNonNull","location","expectObject","receivedType","expectString","NUMBER_REGEX","parseNumber","matches","limitedParseDouble","parseFloatString","strictParseShort","console","MONTHS","RFC3339","parseRfc3339DateTime","exec","yearStr","monthStr","dayStr","hours","minutes","seconds","fractionalMilliseconds","year","stripLeadingZeroes","month","parseDateValue","day","buildDate","adjustedMonth","validateDayOfMonth","UTC","parseMilliseconds","DAYS_IN_MONTH","maxDays","isLeapYear","upper","dateVal","strictParseByte","strictParseFloat32","idx","ServiceException","$fault","decorateServiceException","exception","additions","Message","throwDefaultError","parsedBody","exceptionCtor","errorCode","deserializeMetadata","Code","requestId","extendedRequestId","cfId","loadConfigsForDefaultMode","retryMode","connectionTimeout","extendedEncodeURIComponent","StringWrapper","Class","getPrototypeOf","Constructor","instance","LazyJsonString","deserializeJSON","JSON","stringify","arg0","arg1","arg2","instructions","mapWithFilter","filter_1","_value","defaultFilterPassed","customFilterPassed","_instructions","resolvedPath","memberName","labelValueProvider","uriLabel","isGreedyLabel","labelValue","segment","serializeFloat","FetchHttpHandler","configProvider","opts","handle","abortSignal","requestTimeoutInMs","abortError","queryString","url","requestOptions","fetchRequest","raceOfPromises","requestTimeout","aborted","iLen","qsEntry","buildQueryString","Headers","AbortController","Request","fetch","fetchHeaders","transformedHeaders","pair","status","blob","timeoutInMs","timeoutError","onabort","race","alphabetByEncoding","alphabetByValue","index","fromBase64","totalByteLength","dataView","bits","bitLength","chunkOffset","toBase64","bitClusterCount","streamCollector","stream","Blob","arrayBuffer","readToBase64","collectBlob","reader","isDone","prior","getReader","collectStream","FileReader","onloadend","readyState","commaIndex","dataOffset","readAsDataURL","calculateBodyLength","serviceId","clientVersion","parsedUA","sections","navigator","TextEncoder","encode","surrogatePair","TextDecoder","decode","decoded","byte","nextByte","byteValue","decodeURIComponent","parseUrl","URL","pathname","querystring","parseQueryString","aws","defaultRegionInfoProvider","DEFAULTS_MODE_OPTIONS","isMobileBrowser","_m","_o","_p","_q","defaultsMode","toLocaleLowerCase","resolveDefaultsModeConfig","defaultConfigProvider","clientSharedValues","apiVersion","disableHostPrefix","base64Decoder","base64Encoder","credentialDefaultProvider","utf8Decoder","utf8Encoder","LocationClient","configuration","_config_1","providedRegion","resolveRegionConfig","_config_2","_config_6","resolveUserAgentConfig","normalizedCreds","signingEscapePath","regionInfo","signingName","params","signerConstructor","signingScope","resolveAwsAuthConfig","deserializerMiddlewareOption","serializerMiddlewareOption","getSerdePlugin","serializer","deserializer","commandStack","error_1","deserializerMiddleware","endpointV2","serializerMiddleware","LocationServiceException","AccessDeniedException","ConflictException","InternalServerException","ResourceNotFoundException","ServiceQuotaExceededException","ThrottlingException","ValidationException","Reason","FieldList","BatchDeleteGeofenceRequestFilterSensitiveLog","BatchDeleteGeofenceResponseFilterSensitiveLog","GeofenceGeometryFilterSensitiveLog","Polygon","Circle","BatchPutGeofenceRequestFilterSensitiveLog","Entries","Geometry","BatchPutGeofenceRequestEntryFilterSensitiveLog","BatchPutGeofenceResponseFilterSensitiveLog","GetGeofenceRequestFilterSensitiveLog","GetGeofenceResponseFilterSensitiveLog","ListGeofencesRequestFilterSensitiveLog","ListGeofencesResponseFilterSensitiveLog","ListGeofenceResponseEntryFilterSensitiveLog","GetPlaceRequestFilterSensitiveLog","PlaceGeometryFilterSensitiveLog","Point","PlaceFilterSensitiveLog","GetPlaceResponseFilterSensitiveLog","Place","SearchPlaceIndexForPositionRequestFilterSensitiveLog","Position","SearchPlaceIndexForPositionSummaryFilterSensitiveLog","SearchPlaceIndexForPositionResponseFilterSensitiveLog","Summary","Results","SearchForPositionResultFilterSensitiveLog","SearchPlaceIndexForSuggestionsRequestFilterSensitiveLog","Text","BiasPosition","FilterBBox","SearchPlaceIndexForSuggestionsSummaryFilterSensitiveLog","SearchPlaceIndexForSuggestionsResponseFilterSensitiveLog","SearchPlaceIndexForTextRequestFilterSensitiveLog","SearchPlaceIndexForTextSummaryFilterSensitiveLog","ResultBBox","SearchPlaceIndexForTextResponseFilterSensitiveLog","SearchForTextResultFilterSensitiveLog","deserializeAws_restJson1BatchDeleteGeofenceCommandError","parsedOutput","parseErrorBody","loadRestJsonErrorCode","deserializeAws_restJson1AccessDeniedExceptionResponse","deserializeAws_restJson1InternalServerExceptionResponse","deserializeAws_restJson1ResourceNotFoundExceptionResponse","deserializeAws_restJson1ThrottlingExceptionResponse","deserializeAws_restJson1ValidationExceptionResponse","deserializeAws_restJson1BatchPutGeofenceCommandError","deserializeAws_restJson1GetGeofenceCommandError","deserializeAws_restJson1GetPlaceCommandError","deserializeAws_restJson1ListGeofencesCommandError","deserializeAws_restJson1SearchPlaceIndexForPositionCommandError","deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommandError","deserializeAws_restJson1SearchPlaceIndexForTextCommandError","contents","fieldList","deserializeAws_restJson1ValidationExceptionFieldList","reason","serializeAws_restJson1BatchPutGeofenceRequestEntryList","GeofenceId","serializeAws_restJson1GeofenceGeometry","serializeAws_restJson1BatchPutGeofenceRequestEntry","serializeAws_restJson1BoundingBox","serializeAws_restJson1Circle","Center","serializeAws_restJson1Position","Radius","serializeAws_restJson1CountryCodeList","serializeAws_restJson1LinearRings","serializeAws_restJson1IdList","serializeAws_restJson1LinearRing","deserializeAws_restJson1BatchDeleteGeofenceErrorList","deserializeAws_restJson1BatchItemError","deserializeAws_restJson1BatchDeleteGeofenceError","deserializeAws_restJson1BatchPutGeofenceErrorList","deserializeAws_restJson1BatchPutGeofenceError","deserializeAws_restJson1BatchPutGeofenceSuccessList","CreateTime","UpdateTime","deserializeAws_restJson1BatchPutGeofenceSuccess","deserializeAws_restJson1BoundingBox","deserializeAws_restJson1Circle","deserializeAws_restJson1Position","deserializeAws_restJson1CountryCodeList","deserializeAws_restJson1GeofenceGeometry","deserializeAws_restJson1LinearRings","deserializeAws_restJson1LinearRing","deserializeAws_restJson1ListGeofenceResponseEntryList","Status","deserializeAws_restJson1ListGeofenceResponseEntry","deserializeAws_restJson1Place","AddressNumber","Country","deserializeAws_restJson1PlaceGeometry","Interpolated","Label","Municipality","Neighborhood","PostalCode","Region","Street","SubRegion","TimeZone","deserializeAws_restJson1TimeZone","UnitNumber","UnitType","deserializeAws_restJson1SearchForPositionResultList","Distance","PlaceId","deserializeAws_restJson1SearchForPositionResult","deserializeAws_restJson1SearchForSuggestionsResultList","deserializeAws_restJson1SearchForSuggestionsResult","deserializeAws_restJson1SearchForTextResultList","Relevance","deserializeAws_restJson1SearchForTextResult","deserializeAws_restJson1SearchPlaceIndexForPositionSummary","DataSource","Language","MaxResults","deserializeAws_restJson1SearchPlaceIndexForSuggestionsSummary","FilterCountries","deserializeAws_restJson1SearchPlaceIndexForTextSummary","Name","Offset","deserializeAws_restJson1ValidationExceptionField","collectBody","streamBody","parseBody","collectBodyString","errorBody","sanitizeErrorCode","rawValue","cleanValue","headerKey","SearchPlaceIndexForTextCommand","handlerExecutionContext","basePath","resolvedHostname","IndexName","serializeAws_restJson1SearchPlaceIndexForTextCommand","deserializeAws_restJson1SearchPlaceIndexForTextCommand","SearchPlaceIndexForSuggestionsCommand","serializeAws_restJson1SearchPlaceIndexForSuggestionsCommand","deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommand","GetPlaceCommand","language","serializeAws_restJson1GetPlaceCommand","deserializeAws_restJson1GetPlaceCommand","SearchPlaceIndexForPositionCommand","serializeAws_restJson1SearchPlaceIndexForPositionCommand","deserializeAws_restJson1SearchPlaceIndexForPositionCommand","GetGeofenceCommand","CollectionName","serializeAws_restJson1GetGeofenceCommand","deserializeAws_restJson1GetGeofenceCommand","ListGeofencesCommand","NextToken","serializeAws_restJson1ListGeofencesCommand","deserializeAws_restJson1ListGeofencesCommand","BatchPutGeofenceCommand","serializeAws_restJson1BatchPutGeofenceCommand","Errors","Successes","deserializeAws_restJson1BatchPutGeofenceCommand","BatchDeleteGeofenceCommand","GeofenceIds","serializeAws_restJson1BatchDeleteGeofenceCommand","deserializeAws_restJson1BatchDeleteGeofenceCommand","booleanClockwise","line","prev","cur","ring","coords","geometry","coordinates","getCoords","sum","validateCoordinates","lng","lat","validateGeofenceId","geofenceId","validateLinearRing","linearRing","errorPrefix","badCoordinates","lngA","latA","lngB","latB","validateGeofencesInput","geofences","geofenceIds","geofence","polygon","validatePolygon","mapSearchOptions","locationServiceInput","locationServiceModifiedInput","countries","maxResults","searchIndexName","Logger","_config","AmazonLocationServiceProvider","CATEGORY","PROVIDER_NAME","_verifyMapResources","mapStyles","availableMaps","maps","items","mapName","style","text","_ensureCredentials","_verifySearchIndex","search_indices","client","getAmplifyUserAgent","PascalResults","camelcaseKeys","error_2","placeId","errorString","_verifyPlaceId","searchByPlaceIdInput","error_3","place","error_4","_verifyGeofenceCollections","collectionName","PascalGeofences","results","successes","errors","geofenceBatches","all","batch","_AmazonLocationServiceBatchPutGeofenceCall","geofenceCollections","error_5","createTime","updateTime","commandInput","error_6","listGeofencesInput","nextToken","error_7","badGeofenceIds","geofenceIdBatches","count","_AmazonLocationServiceBatchDeleteGeofenceCall","errorObject","error_8","Id","Credentials","cred","shear","error_9","optionalSearchIndex","optionalGeofenceCollectionName","geofenceInput","deleteGeofencesInput","DEFAULT_PROVIDER","Geo","_pluggables","GeoClass","MODULE","pluggable","getCategory","configure","getProviderName","providerName","amplifyConfig","parseMobileHubConfig","addPluggable","getPluggable","getAvailableMaps","getDefaultMap","prov","searchByText","searchForSuggestions","searchByPlaceId","searchByCoordinates","geofenceInputArray","saveGeofences","getGeofence","listGeofences","geofenceIdsInputArray","deleteGeofences","Amplify","register"],"mappings":"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","file":"aws-amplify-geo.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"aws_amplify_core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"aws_amplify_geo\", [\"aws_amplify_core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"aws_amplify_geo\"] = factory(require(\"aws_amplify_core\"));\n\telse\n\t\troot[\"aws_amplify_geo\"] = factory(root[\"aws_amplify_core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 44);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/******************************************************************************\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 (g && (g = 0, op[0] && (_ = 0)), _) 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","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,r){\"use strict\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"};t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"};t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"};t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"};t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:\"BROWSER_MAP\",get:function(){return s.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return s.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return s.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach((function(t){var a=e[t];\"string\"==typeof a?(i[t]=a,s+=1):\"object\"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","'use strict';\nconst mapObj = require('map-obj');\nconst camelCase = require('camelcase');\nconst QuickLru = require('quick-lru');\n\nconst has = (array, key) => array.some(x => {\n\tif (typeof x === 'string') {\n\t\treturn x === key;\n\t}\n\n\tx.lastIndex = 0;\n\treturn x.test(key);\n});\n\nconst cache = new QuickLru({maxSize: 100000});\n\n// Reproduces behavior from `map-obj`\nconst isObject = value =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst camelCaseConvert = (input, options) => {\n\tif (!isObject(input)) {\n\t\treturn input;\n\t}\n\n\toptions = {\n\t\tdeep: false,\n\t\tpascalCase: false,\n\t\t...options\n\t};\n\n\tconst {exclude, pascalCase, stopPaths, deep} = options;\n\n\tconst stopPathsSet = new Set(stopPaths);\n\n\tconst makeMapper = parentPath => (key, value) => {\n\t\tif (deep && isObject(value)) {\n\t\t\tconst path = parentPath === undefined ? key : `${parentPath}.${key}`;\n\n\t\t\tif (!stopPathsSet.has(path)) {\n\t\t\t\tvalue = mapObj(value, makeMapper(path));\n\t\t\t}\n\t\t}\n\n\t\tif (!(exclude && has(exclude, key))) {\n\t\t\tconst cacheKey = pascalCase ? `${key}_` : key;\n\n\t\t\tif (cache.has(cacheKey)) {\n\t\t\t\tkey = cache.get(cacheKey);\n\t\t\t} else {\n\t\t\t\tconst ret = camelCase(key, {pascalCase});\n\n\t\t\t\tif (key.length < 100) { // Prevent abuse\n\t\t\t\t\tcache.set(cacheKey, ret);\n\t\t\t\t}\n\n\t\t\t\tkey = ret;\n\t\t\t}\n\t\t}\n\n\t\treturn [key, value];\n\t};\n\n\treturn mapObj(input, makeMapper(undefined));\n};\n\nmodule.exports = (input, options) => {\n\tif (Array.isArray(input)) {\n\t\treturn Object.keys(input).map(key => camelCaseConvert(input[key], options));\n\t}\n\n\treturn camelCaseConvert(input, options);\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/* 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","const 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","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var warningEmitted = false;\nexport var emitWarningIfUnsupportedVersion = function (version) {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 14) {\n warningEmitted = true;\n process.emitWarning(\"The AWS SDK for JavaScript (v3) will\\n\" +\n \"no longer support Node.js \".concat(version, \" on November 1, 2022.\\n\\n\") +\n \"To continue receiving updates to AWS services, bug fixes, and security\\n\" +\n \"updates please upgrade to Node.js 14.x or later.\\n\\n\" +\n \"For details, please refer our blog post: https://a.co/48dbdYz\", \"NodeDeprecationWarning\");\n }\n};\n","\"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.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 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\";\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=index.js.map","\"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=constants.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 (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","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nvar TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nvar ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nvar ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nexport var recursionDetectionMiddleware = function (options) {\n return function (next) {\n return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request, functionName, traceId, nonEmptyString;\n return __generator(this, function (_a) {\n request = args.request;\n if (!HttpRequest.isInstance(request) ||\n options.runtime !== \"node\" ||\n request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) {\n return [2, next(args)];\n }\n functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n traceId = process.env[ENV_TRACE_ID];\n nonEmptyString = function (str) { return typeof str === \"string\" && str.length > 0; };\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return [2, next(__assign(__assign({}, args), { request: request }))];\n });\n }); };\n };\n};\nexport var addRecursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\nexport var getRecursionDetectionPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions);\n },\n}); };\n","\"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=","import { __assign, __read, __spreadArray } from \"tslib\";\nvar HttpRequest = (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.slice(-1) !== \":\"\n ? \"\".concat(options.protocol, \":\")\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? \"/\".concat(options.path) : options.path) : \"/\";\n }\n HttpRequest.isInstance = function (request) {\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) ? __spreadArray([], __read(param), false) : param, _a));\n }, {});\n}\n","var HttpResponse = (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 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","'use strict';\n\nconst isObject = value => typeof value === 'object' && value !== null;\nconst mapObjectSkip = Symbol('skip');\n\n// Customized for this use-case\nconst isObjectCustom = value =>\n\tisObject(value) &&\n\t!(value instanceof RegExp) &&\n\t!(value instanceof Error) &&\n\t!(value instanceof Date);\n\nconst mapObject = (object, mapper, options, isSeen = new WeakMap()) => {\n\toptions = {\n\t\tdeep: false,\n\t\ttarget: {},\n\t\t...options\n\t};\n\n\tif (isSeen.has(object)) {\n\t\treturn isSeen.get(object);\n\t}\n\n\tisSeen.set(object, options.target);\n\n\tconst {target} = options;\n\tdelete options.target;\n\n\tconst mapArray = array => array.map(element => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);\n\tif (Array.isArray(object)) {\n\t\treturn mapArray(object);\n\t}\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tconst mapResult = mapper(key, value, object);\n\n\t\tif (mapResult === mapObjectSkip) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [newKey, newValue, {shouldRecurse = true} = {}] = mapResult;\n\n\t\t// Drop `__proto__` keys.\n\t\tif (newKey === '__proto__') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (options.deep && shouldRecurse && isObjectCustom(newValue)) {\n\t\t\tnewValue = Array.isArray(newValue) ?\n\t\t\t\tmapArray(newValue) :\n\t\t\t\tmapObject(newValue, mapper, options, isSeen);\n\t\t}\n\n\t\ttarget[newKey] = newValue;\n\t}\n\n\treturn target;\n};\n\nmodule.exports = (object, mapper, options) => {\n\tif (!isObject(object)) {\n\t\tthrow new TypeError(`Expected an object, got \\`${object}\\` (${typeof object})`);\n\t}\n\n\treturn mapObject(object, mapper, options);\n};\n\nmodule.exports.mapObjectSkip = mapObjectSkip;\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","'use strict';\n\nclass QuickLRU {\n\tconstructor(options = {}) {\n\t\tif (!(options.maxSize && options.maxSize > 0)) {\n\t\t\tthrow new TypeError('`maxSize` must be a number greater than 0');\n\t\t}\n\n\t\tthis.maxSize = options.maxSize;\n\t\tthis.cache = new Map();\n\t\tthis.oldCache = new Map();\n\t\tthis._size = 0;\n\t}\n\n\t_set(key, value) {\n\t\tthis.cache.set(key, value);\n\t\tthis._size++;\n\n\t\tif (this._size >= this.maxSize) {\n\t\t\tthis._size = 0;\n\t\t\tthis.oldCache = this.cache;\n\t\t\tthis.cache = new Map();\n\t\t}\n\t}\n\n\tget(key) {\n\t\tif (this.cache.has(key)) {\n\t\t\treturn this.cache.get(key);\n\t\t}\n\n\t\tif (this.oldCache.has(key)) {\n\t\t\tconst value = this.oldCache.get(key);\n\t\t\tthis.oldCache.delete(key);\n\t\t\tthis._set(key, value);\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tset(key, value) {\n\t\tif (this.cache.has(key)) {\n\t\t\tthis.cache.set(key, value);\n\t\t} else {\n\t\t\tthis._set(key, value);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\thas(key) {\n\t\treturn this.cache.has(key) || this.oldCache.has(key);\n\t}\n\n\tpeek(key) {\n\t\tif (this.cache.has(key)) {\n\t\t\treturn this.cache.get(key);\n\t\t}\n\n\t\tif (this.oldCache.has(key)) {\n\t\t\treturn this.oldCache.get(key);\n\t\t}\n\t}\n\n\tdelete(key) {\n\t\tconst deleted = this.cache.delete(key);\n\t\tif (deleted) {\n\t\t\tthis._size--;\n\t\t}\n\n\t\treturn this.oldCache.delete(key) || deleted;\n\t}\n\n\tclear() {\n\t\tthis.cache.clear();\n\t\tthis.oldCache.clear();\n\t\tthis._size = 0;\n\t}\n\n\t* keys() {\n\t\tfor (const [key] of this) {\n\t\t\tyield key;\n\t\t}\n\t}\n\n\t* values() {\n\t\tfor (const [, value] of this) {\n\t\t\tyield value;\n\t\t}\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tfor (const item of this.cache) {\n\t\t\tyield item;\n\t\t}\n\n\t\tfor (const item of this.oldCache) {\n\t\t\tconst [key] = item;\n\t\t\tif (!this.cache.has(key)) {\n\t\t\t\tyield item;\n\t\t\t}\n\t\t}\n\t}\n\n\tget size() {\n\t\tlet oldCacheSize = 0;\n\t\tfor (const key of this.oldCache.keys()) {\n\t\t\tif (!this.cache.has(key)) {\n\t\t\t\toldCacheSize++;\n\t\t\t}\n\t\t}\n\n\t\treturn this._size + oldCacheSize;\n\t}\n}\n\nmodule.exports = QuickLRU;\n","\"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.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\";\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=convertToBuffer.js.map","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","\"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=isEmptyData.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.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=numToUint8.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.uint32ArrayFrom = void 0;\n// IE 11 does not support Array.from, so we do it manually\nfunction uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.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 a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\nexports.uint32ArrayFrom = uint32ArrayFrom;\n//# sourceMappingURL=uint32ArrayFrom.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 });\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 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 = (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=jsSha256.js.map","\"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=RawSha256.js.map","\"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\";\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","/*! *****************************************************************************\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","\"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","/******************************************************************************\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 (g && (g = 0, op[0] && (_ = 0)), _) 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","export var SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType || (SelectorType = {}));\nexport var booleanSelector = function (obj, key, type) {\n if (!(key in obj))\n return undefined;\n if (obj[key] === \"true\")\n return true;\n if (obj[key] === \"false\")\n return false;\n throw new Error(\"Cannot load \".concat(type, \" \\\"\").concat(key, \"\\\". Expected \\\"true\\\" or \\\"false\\\", got \").concat(obj[key], \".\"));\n};\n","export var normalizeProvider = function (input) {\n if (typeof input === \"function\")\n return input;\n var promisified = Promise.resolve(input);\n return function () { return promisified; };\n};\n","import { __assign } from \"tslib\";\nimport { normalizeProvider } from \"@aws-sdk/util-middleware\";\nimport { getEndpointFromRegion } from \"./utils/getEndpointFromRegion\";\nexport var resolveEndpointsConfig = function (input) {\n var _a;\n var useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint);\n var endpoint = input.endpoint, useFipsEndpoint = input.useFipsEndpoint, urlParser = input.urlParser;\n return __assign(__assign({}, input), { tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true, endpoint: endpoint\n ? normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : function () { return getEndpointFromRegion(__assign(__assign({}, input), { useDualstackEndpoint: useDualstackEndpoint, useFipsEndpoint: useFipsEndpoint })); }, isCustomEndpoint: !!endpoint, useDualstackEndpoint: useDualstackEndpoint });\n};\n","import { __awaiter, __generator } from \"tslib\";\nexport var getEndpointFromRegion = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, tls, region, dnsHostRegex, useDualstackEndpoint, useFipsEndpoint, 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, 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, input.useDualstackEndpoint()];\n case 2:\n useDualstackEndpoint = _c.sent();\n return [4, input.useFipsEndpoint()];\n case 3:\n useFipsEndpoint = _c.sent();\n return [4, input.regionInfoProvider(region, { useDualstackEndpoint: useDualstackEndpoint, useFipsEndpoint: useFipsEndpoint })];\n case 4:\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, input.urlParser(\"\".concat(tls ? \"https:\" : \"http:\", \"//\").concat(hostname))];\n }\n });\n}); };\n","export var isFipsRegion = function (region) {\n return typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n};\n","import { isFipsRegion } from \"./isFipsRegion\";\nexport var getRealRegion = function (region) {\n return isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n};\n","export var getHostnameFromVariants = function (variants, _a) {\n var _b;\n if (variants === void 0) { variants = []; }\n var useFipsEndpoint = _a.useFipsEndpoint, useDualstackEndpoint = _a.useDualstackEndpoint;\n return (_b = variants.find(function (_a) {\n var tags = _a.tags;\n return useFipsEndpoint === tags.includes(\"fips\") && useDualstackEndpoint === tags.includes(\"dualstack\");\n })) === null || _b === void 0 ? void 0 : _b.hostname;\n};\n","import { __assign } from \"tslib\";\nimport { getHostnameFromVariants } from \"./getHostnameFromVariants\";\nimport { getResolvedHostname } from \"./getResolvedHostname\";\nimport { getResolvedPartition } from \"./getResolvedPartition\";\nimport { getResolvedSigningRegion } from \"./getResolvedSigningRegion\";\nexport var getRegionInfo = function (region, _a) {\n var _b, _c, _d, _e, _f, _g;\n var _h = _a.useFipsEndpoint, useFipsEndpoint = _h === void 0 ? false : _h, _j = _a.useDualstackEndpoint, useDualstackEndpoint = _j === void 0 ? false : _j, signingService = _a.signingService, regionHash = _a.regionHash, partitionHash = _a.partitionHash;\n var partition = getResolvedPartition(region, { partitionHash: partitionHash });\n var resolvedRegion = region in regionHash ? region : (_c = (_b = partitionHash[partition]) === null || _b === void 0 ? void 0 : _b.endpoint) !== null && _c !== void 0 ? _c : region;\n var hostnameOptions = { useFipsEndpoint: useFipsEndpoint, useDualstackEndpoint: useDualstackEndpoint };\n var regionHostname = getHostnameFromVariants((_d = regionHash[resolvedRegion]) === null || _d === void 0 ? void 0 : _d.variants, hostnameOptions);\n var partitionHostname = getHostnameFromVariants((_e = partitionHash[partition]) === null || _e === void 0 ? void 0 : _e.variants, hostnameOptions);\n var hostname = getResolvedHostname(resolvedRegion, { regionHostname: regionHostname, partitionHostname: partitionHostname });\n if (hostname === undefined) {\n throw new Error(\"Endpoint resolution failed for: \".concat({ resolvedRegion: resolvedRegion, useFipsEndpoint: useFipsEndpoint, useDualstackEndpoint: useDualstackEndpoint }));\n }\n var signingRegion = getResolvedSigningRegion(hostname, {\n signingRegion: (_f = regionHash[resolvedRegion]) === null || _f === void 0 ? void 0 : _f.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint: useFipsEndpoint,\n });\n return __assign(__assign({ partition: partition, signingService: signingService, hostname: hostname }, (signingRegion && { signingRegion: signingRegion })), (((_g = regionHash[resolvedRegion]) === null || _g === void 0 ? void 0 : _g.signingService) && {\n signingService: regionHash[resolvedRegion].signingService,\n }));\n};\n","export var getResolvedPartition = function (region, _a) {\n var _b;\n var partitionHash = _a.partitionHash;\n return (_b = Object.keys(partitionHash || {}).find(function (key) { return partitionHash[key].regions.includes(region); })) !== null && _b !== void 0 ? _b : \"aws\";\n};\n","export var getResolvedHostname = function (resolvedRegion, _a) {\n var regionHostname = _a.regionHostname, partitionHostname = _a.partitionHostname;\n return regionHostname\n ? regionHostname\n : partitionHostname\n ? partitionHostname.replace(\"{region}\", resolvedRegion)\n : undefined;\n};\n","export var getResolvedSigningRegion = function (hostname, _a) {\n var signingRegion = _a.signingRegion, regionRegex = _a.regionRegex, useFipsEndpoint = _a.useFipsEndpoint;\n if (signingRegion) {\n return signingRegion;\n }\n else if (useFipsEndpoint) {\n var regionRegexJs = regionRegex.replace(\"\\\\\\\\\", \"\\\\\").replace(/^\\^/g, \"\\\\.\").replace(/\\$$/g, \"\\\\.\");\n var regionRegexmatchArray = hostname.match(regionRegexJs);\n if (regionRegexmatchArray) {\n return regionRegexmatchArray[0].slice(1, -1);\n }\n }\n};\n","import { __assign, __read, __spreadArray } from \"tslib\";\nvar HttpRequest = (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.slice(-1) !== \":\"\n ? \"\".concat(options.protocol, \":\")\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? \"/\".concat(options.path) : options.path) : \"/\";\n }\n HttpRequest.isInstance = function (request) {\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) ? __spreadArray([], __read(param), false) : param, _a));\n }, {});\n}\n","var HttpResponse = (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 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","export function isValidHostname(hostname) {\n var hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n","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) {\n return function (args) { return __awaiter(_this, void 0, void 0, function () {\n var request, body, headers, length_1;\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 try {\n length_1 = bodyLengthChecker(body);\n request.headers = __assign(__assign({}, request.headers), (_a = {}, _a[CONTENT_LENGTH_HEADER] = String(length_1), _a));\n }\n catch (error) {\n }\n }\n }\n return [2, next(__assign(__assign({}, args), { request: request }))];\n });\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","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) {\n return function (next) {\n 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, next(args)];\n request = args.request;\n _a = (options.requestHandler.metadata || {}).handlerProtocol, handlerProtocol = _a === void 0 ? \"\" : _a;\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n }\n else if (!request.headers[\"host\"]) {\n request.headers[\"host\"] = request.hostname;\n }\n return [2, next(args)];\n });\n }); };\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","export var RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES || (RETRY_MODES = {}));\nexport var DEFAULT_MAX_ATTEMPTS = 3;\nexport var DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;\n","import { __awaiter, __generator, __rest } from \"tslib\";\nexport var loggerMiddleware = function () {\n return function (next, context) {\n 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, next(args)];\n case 1:\n response = _b.sent();\n if (!logger) {\n return [2, 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, response];\n }\n });\n }); };\n };\n};\nexport var loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nexport var getLoggerPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n}); };\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export var CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\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];\nexport var TRANSIENT_ERROR_CODES = [\"AbortError\", \"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexport var TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexport var NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","import { CLOCK_SKEW_ERROR_CODES, NODEJS_TIMEOUT_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 NODEJS_TIMEOUT_ERROR_CODES.includes((error === null || error === void 0 ? void 0 : error.code) || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0);\n};\n","import { __awaiter, __generator } from \"tslib\";\nimport { isThrottlingError } from \"@aws-sdk/service-error-classification\";\nvar DefaultRateLimiter = (function () {\n function DefaultRateLimiter(options) {\n var _a, _b, _c, _d, _e;\n this.currentCapacity = 0;\n this.enabled = false;\n this.lastMaxRate = 0;\n this.measuredTxRate = 0;\n this.requestCount = 0;\n this.lastTimestamp = 0;\n this.timeWindow = 0;\n this.beta = (_a = options === null || options === void 0 ? void 0 : options.beta) !== null && _a !== void 0 ? _a : 0.7;\n this.minCapacity = (_b = options === null || options === void 0 ? void 0 : options.minCapacity) !== null && _b !== void 0 ? _b : 1;\n this.minFillRate = (_c = options === null || options === void 0 ? void 0 : options.minFillRate) !== null && _c !== void 0 ? _c : 0.5;\n this.scaleConstant = (_d = options === null || options === void 0 ? void 0 : options.scaleConstant) !== null && _d !== void 0 ? _d : 0.4;\n this.smooth = (_e = options === null || options === void 0 ? void 0 : options.smooth) !== null && _e !== void 0 ? _e : 0.8;\n var currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n DefaultRateLimiter.prototype.getCurrentTimeInSeconds = function () {\n return Date.now() / 1000;\n };\n DefaultRateLimiter.prototype.getSendToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2, this.acquireTokenBucket(1)];\n });\n });\n };\n DefaultRateLimiter.prototype.acquireTokenBucket = function (amount) {\n return __awaiter(this, void 0, void 0, function () {\n var delay_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.enabled) {\n return [2];\n }\n this.refillTokenBucket();\n if (!(amount > this.currentCapacity)) return [3, 2];\n delay_1 = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n return [4, new Promise(function (resolve) { return setTimeout(resolve, delay_1); })];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n this.currentCapacity = this.currentCapacity - amount;\n return [2];\n }\n });\n });\n };\n DefaultRateLimiter.prototype.refillTokenBucket = function () {\n var timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n var fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n };\n DefaultRateLimiter.prototype.updateClientSendingRate = function (response) {\n var calculatedRate;\n this.updateMeasuredRate();\n if (isThrottlingError(response)) {\n var rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n var newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n };\n DefaultRateLimiter.prototype.calculateTimeWindow = function () {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n };\n DefaultRateLimiter.prototype.cubicThrottle = function (rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n };\n DefaultRateLimiter.prototype.cubicSuccess = function (timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n };\n DefaultRateLimiter.prototype.enableTokenBucket = function () {\n this.enabled = true;\n };\n DefaultRateLimiter.prototype.updateTokenBucketRate = function (newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n };\n DefaultRateLimiter.prototype.updateMeasuredRate = function () {\n var t = this.getCurrentTimeInSeconds();\n var timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n var currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n };\n DefaultRateLimiter.prototype.getPrecise = function (num) {\n return parseFloat(num.toFixed(8));\n };\n return DefaultRateLimiter;\n}());\nexport { DefaultRateLimiter };\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport var defaultDelayDecider = function (delayBase, attempts) {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * Math.pow(2, attempts) * delayBase));\n};\n","export var DEFAULT_RETRY_DELAY_BASE = 100;\nexport var MAXIMUM_RETRY_DELAY = 20 * 1000;\nexport var THROTTLING_RETRY_DELAY_BASE = 500;\nexport var INITIAL_RETRY_TOKENS = 500;\nexport var RETRY_COST = 5;\nexport var TIMEOUT_RETRY_COST = 10;\nexport var NO_RETRY_INCREMENT = 1;\nexport var INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexport var REQUEST_HEADER = \"amz-sdk-request\";\n","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","import { __awaiter, __generator } from \"tslib\";\nimport { HttpRequest, HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { isThrottlingError } from \"@aws-sdk/service-error-classification\";\nimport { v4 } from \"uuid\";\nimport { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from \"./config\";\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\";\nvar StandardRetryStrategy = (function () {\n function StandardRetryStrategy(maxAttemptsProvider, options) {\n var _a, _b, _c;\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = RETRY_MODES.STANDARD;\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, this.maxAttemptsProvider()];\n case 1:\n maxAttempts = _a.sent();\n return [3, 3];\n case 2:\n error_1 = _a.sent();\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n return [3, 3];\n case 3: return [2, maxAttempts];\n }\n });\n });\n };\n StandardRetryStrategy.prototype.retry = function (next, args, options) {\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, 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 _b, response, output, e_1, err, delayFromDecider, delayFromResponse, delay_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 4, , 7]);\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = \"attempt=\".concat(attempts + 1, \"; max=\").concat(maxAttempts);\n }\n if (!(options === null || options === void 0 ? void 0 : options.beforeRequest)) return [3, 2];\n return [4, options.beforeRequest()];\n case 1:\n _c.sent();\n _c.label = 2;\n case 2: return [4, next(args)];\n case 3:\n _b = _c.sent(), response = _b.response, output = _b.output;\n if (options === null || options === void 0 ? void 0 : options.afterRequest) {\n options.afterRequest(response);\n }\n this_1.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return [2, { value: { response: response, output: output } }];\n case 4:\n e_1 = _c.sent();\n err = asSdkError(e_1);\n attempts++;\n if (!this_1.shouldRetry(err, attempts, maxAttempts)) return [3, 6];\n retryTokenAmount = this_1.retryQuota.retrieveRetryTokens(err);\n delayFromDecider = this_1.delayDecider(isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts);\n delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n delay_1 = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay_1;\n return [4, new Promise(function (resolve) { return setTimeout(resolve, delay_1); })];\n case 5:\n _c.sent();\n return [2, \"continue\"];\n case 6:\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n case 7: return [2];\n }\n });\n };\n this_1 = this;\n _a.label = 2;\n case 2:\n if (!true) return [3, 4];\n return [5, _loop_1()];\n case 3:\n state_1 = _a.sent();\n if (typeof state_1 === \"object\")\n return [2, state_1.value];\n return [3, 2];\n case 4: return [2];\n }\n });\n });\n };\n return StandardRetryStrategy;\n}());\nexport { StandardRetryStrategy };\nvar getDelayFromRetryAfterHeader = function (response) {\n if (!HttpResponse.isInstance(response))\n return;\n var retryAfterHeaderName = Object.keys(response.headers).find(function (key) { return key.toLowerCase() === \"retry-after\"; });\n if (!retryAfterHeaderName)\n return;\n var retryAfter = response.headers[retryAfterHeaderName];\n var retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1000;\n var retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\nvar asSdkError = function (error) {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(\"AWS SDK error wrapper for \".concat(error));\n};\n","import { NO_RETRY_INCREMENT, RETRY_COST, TIMEOUT_RETRY_COST } from \"./constants\";\nexport var getDefaultRetryQuota = function (initialRetryTokens, options) {\n var _a, _b, _c;\n var MAX_CAPACITY = initialRetryTokens;\n var noRetryIncrement = (_a = options === null || options === void 0 ? void 0 : options.noRetryIncrement) !== null && _a !== void 0 ? _a : NO_RETRY_INCREMENT;\n var retryCost = (_b = options === null || options === void 0 ? void 0 : options.retryCost) !== null && _b !== void 0 ? _b : RETRY_COST;\n var timeoutRetryCost = (_c = options === null || options === void 0 ? void 0 : options.timeoutRetryCost) !== null && _c !== void 0 ? _c : TIMEOUT_RETRY_COST;\n var availableCapacity = initialRetryTokens;\n var getCapacityAmount = function (error) { return (error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost); };\n var hasRetryTokens = function (error) { return getCapacityAmount(error) <= availableCapacity; };\n var retrieveRetryTokens = function (error) {\n if (!hasRetryTokens(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 : noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens: hasRetryTokens,\n retrieveRetryTokens: retrieveRetryTokens,\n releaseRetryTokens: releaseRetryTokens,\n });\n};\n","import { __awaiter, __extends, __generator, __rest } from \"tslib\";\nimport { RETRY_MODES } from \"./config\";\nimport { DefaultRateLimiter } from \"./DefaultRateLimiter\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nvar AdaptiveRetryStrategy = (function (_super) {\n __extends(AdaptiveRetryStrategy, _super);\n function AdaptiveRetryStrategy(maxAttemptsProvider, options) {\n var _this = this;\n var _a = options !== null && options !== void 0 ? options : {}, rateLimiter = _a.rateLimiter, superOptions = __rest(_a, [\"rateLimiter\"]);\n _this = _super.call(this, maxAttemptsProvider, superOptions) || this;\n _this.rateLimiter = rateLimiter !== null && rateLimiter !== void 0 ? rateLimiter : new DefaultRateLimiter();\n _this.mode = RETRY_MODES.ADAPTIVE;\n return _this;\n }\n AdaptiveRetryStrategy.prototype.retry = function (next, args) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2, _super.prototype.retry.call(this, next, args, {\n beforeRequest: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2, this.rateLimiter.getSendToken()];\n });\n }); },\n afterRequest: function (response) {\n _this.rateLimiter.updateClientSendingRate(response);\n },\n })];\n });\n });\n };\n return AdaptiveRetryStrategy;\n}(StandardRetryStrategy));\nexport { AdaptiveRetryStrategy };\n","import { __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nexport var retryMiddleware = function (options) {\n return function (next, context) {\n return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var retryStrategy;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4, options.retryStrategy()];\n case 1:\n retryStrategy = _a.sent();\n if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode)\n context.userAgent = __spreadArray(__spreadArray([], __read((context.userAgent || [])), false), [[\"cfg/retry-mode\", retryStrategy.mode]], false);\n return [2, retryStrategy.retry(next, args)];\n }\n });\n }); };\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","/******************************************************************************\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 { __extends } from \"tslib\";\nvar ProviderError = (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 _this.name = \"ProviderError\";\n Object.setPrototypeOf(_this, ProviderError.prototype);\n return _this;\n }\n ProviderError.from = function (error, tryNextLink) {\n if (tryNextLink === void 0) { tryNextLink = true; }\n return Object.assign(new this(error.message, tryNextLink), error);\n };\n return ProviderError;\n}(Error));\nexport { ProviderError };\n","import { __extends } from \"tslib\";\nimport { ProviderError } from \"./ProviderError\";\nvar CredentialsProviderError = (function (_super) {\n __extends(CredentialsProviderError, _super);\n function CredentialsProviderError(message, tryNextLink) {\n if (tryNextLink === void 0) { tryNextLink = true; }\n var _this = _super.call(this, message, tryNextLink) || this;\n _this.tryNextLink = tryNextLink;\n _this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(_this, CredentialsProviderError.prototype);\n return _this;\n }\n return CredentialsProviderError;\n}(ProviderError));\nexport { CredentialsProviderError };\n","import { __extends } from \"tslib\";\nimport { ProviderError } from \"./ProviderError\";\nvar TokenProviderError = (function (_super) {\n __extends(TokenProviderError, _super);\n function TokenProviderError(message, tryNextLink) {\n if (tryNextLink === void 0) { tryNextLink = true; }\n var _this = _super.call(this, message, tryNextLink) || this;\n _this.tryNextLink = tryNextLink;\n _this.name = \"TokenProviderError\";\n Object.setPrototypeOf(_this, TokenProviderError.prototype);\n return _this;\n }\n return TokenProviderError;\n}(ProviderError));\nexport { TokenProviderError };\n","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\".concat(encodedByte);\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\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.slice(i, 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 \".concat(encodedByte, \" as hexadecimal\"));\n }\n }\n return out;\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","export var fromStatic = function (staticValue) {\n return function () {\n return Promise.resolve(staticValue);\n };\n};\n","import { __awaiter, __generator } from \"tslib\";\nexport var memoize = function (provider, isExpired, requiresRefresh) {\n var resolved;\n var pending;\n var hasResult;\n var isConstant = false;\n var coalesceProvider = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!pending) {\n pending = provider();\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4, pending];\n case 2:\n resolved = _a.sent();\n hasResult = true;\n isConstant = false;\n return [3, 4];\n case 3:\n pending = undefined;\n return [7];\n case 4: return [2, resolved];\n }\n });\n }); };\n if (isExpired === undefined) {\n return function (options) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh))) return [3, 2];\n return [4, coalesceProvider()];\n case 1:\n resolved = _a.sent();\n _a.label = 2;\n case 2: return [2, resolved];\n }\n });\n }); };\n }\n return function (options) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!hasResult || (options === null || options === void 0 ? void 0 : options.forceRefresh))) return [3, 2];\n return [4, coalesceProvider()];\n case 1:\n resolved = _a.sent();\n _a.label = 2;\n case 2:\n if (isConstant) {\n return [2, resolved];\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return [2, resolved];\n }\n if (!isExpired(resolved)) return [3, 4];\n return [4, coalesceProvider()];\n case 3:\n _a.sent();\n return [2, resolved];\n case 4: return [2, resolved];\n }\n });\n }); };\n};\n","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 REGION_SET_PARAM = \"X-Amz-Region-Set\";\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 ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-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","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 = [];\nexport var createScope = function (shortDate, region, service) {\n return \"\".concat(shortDate, \"/\").concat(region, \"/\").concat(service, \"/\").concat(KEY_TYPE_IDENTIFIER);\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, hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId)];\n case 1:\n credsHash = _d.sent();\n cacheKey = \"\".concat(shortDate, \":\").concat(region, \":\").concat(service, \":\").concat(toHex(credsHash), \":\").concat(credentials.sessionToken);\n if (cacheKey in signingKeyCache) {\n return [2, signingKeyCache[cacheKey]];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n key = \"AWS4\".concat(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, 6];\n signable = _b.value;\n return [4, 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, 3];\n case 6: return [3, 9];\n case 7:\n e_1_1 = _d.sent();\n e_1 = { error: e_1_1 };\n return [3, 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];\n case 9: return [2, (signingKeyCache[cacheKey] = key)];\n }\n });\n}); };\nexport var clearCredentialCache = function () {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach(function (cacheKey) {\n delete signingKeyCache[cacheKey];\n });\n};\nvar hmac = function (ctor, secret, data) {\n var hash = new ctor(secret);\n hash.update(data);\n return hash.digest();\n};\n","import { __values } from \"tslib\";\nimport { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\nexport var getCanonicalHeaders = function (_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 if (headers[headerName] == undefined) {\n continue;\n }\n var canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n (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","export var escapeUri = function (uri) {\n return encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n};\nvar hexEncode = function (c) { return \"%\".concat(c.charCodeAt(0).toString(16).toUpperCase()); };\n","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\";\nexport var getPayloadHash = function (_a, hashConstructor) {\n var headers = _a.headers, body = _a.body;\n return __awaiter(void 0, 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, 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, 1];\n return [2, \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"];\n case 1:\n if (!(typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body))) return [3, 3];\n hashCtor = new hashConstructor();\n hashCtor.update(body);\n _d = toHex;\n return [4, hashCtor.digest()];\n case 2: return [2, _d.apply(void 0, [_f.sent()])];\n case 3: return [2, UNSIGNED_PAYLOAD];\n }\n });\n });\n};\n","export var isArrayBuffer = function (arg) {\n return (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n};\n","import { __assign, __read, __rest, __spreadArray } from \"tslib\";\nexport var cloneRequest = function (_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};\nexport var cloneQuery = function (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) ? __spreadArray([], __read(param), false) : param, _a));\n }, {});\n};\n","import { __values } from \"tslib\";\nimport { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\nexport var prepareRequest = function (request) {\n var e_1, _a;\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","export var iso8601 = function (time) {\n return toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\n};\nexport var toDate = function (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","import { __awaiter, __generator, __values } from \"tslib\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { normalizeProvider } from \"@aws-sdk/util-middleware\";\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 \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\nvar SignatureV4 = (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 this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeProvider(region);\n this.credentialProvider = normalizeProvider(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, this.credentialProvider()];\n case 1:\n credentials = _l.sent();\n this.validateResolvedCredentials(credentials);\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3, 2];\n _c = signingRegion;\n return [3, 4];\n case 2: return [4, 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, 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] = \"\".concat(credentials.accessKeyId, \"/\").concat(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, getPayloadHash(originalRequest, this.sha256)];\n case 5: return [4, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))];\n case 6:\n _e[_f] = _l.sent();\n return [2, 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, this.signString(toSign, options)];\n }\n else if (toSign.headers && toSign.payload) {\n return [2, this.signEvent(toSign, options)];\n }\n else {\n return [2, this.signRequest(toSign, options)];\n }\n return [2];\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, 1];\n _d = signingRegion;\n return [3, 3];\n case 1: return [4, 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, 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, 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, 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, this.credentialProvider()];\n case 1:\n credentials = _h.sent();\n this.validateResolvedCredentials(credentials);\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3, 2];\n _d = signingRegion;\n return [3, 4];\n case 2: return [4, 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, 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, hash.digest()];\n case 6: return [2, _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, this.credentialProvider()];\n case 1:\n credentials = _f.sent();\n this.validateResolvedCredentials(credentials);\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3, 2];\n _d = signingRegion;\n return [3, 4];\n case 2: return [4, 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, 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, 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 \"\".concat(ALGORITHM_IDENTIFIER, \" \") +\n \"Credential=\".concat(credentials.accessKeyId, \"/\").concat(scope, \", \") +\n \"SignedHeaders=\".concat(getCanonicalHeaderList(canonicalHeaders), \", \") +\n \"Signature=\".concat(signature);\n return [2, request];\n }\n });\n });\n };\n SignatureV4.prototype.createCanonicalRequest = function (request, canonicalHeaders, payloadHash) {\n var sortedHeaders = Object.keys(canonicalHeaders).sort();\n return \"\".concat(request.method, \"\\n\").concat(this.getCanonicalPath(request), \"\\n\").concat(getCanonicalQuery(request), \"\\n\").concat(sortedHeaders.map(function (name) { return \"\".concat(name, \":\").concat(canonicalHeaders[name]); }).join(\"\\n\"), \"\\n\\n\").concat(sortedHeaders.join(\";\"), \"\\n\").concat(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, hash.digest()];\n case 1:\n hashedRequest = _a.sent();\n return [2, \"\".concat(ALGORITHM_IDENTIFIER, \"\\n\").concat(longDate, \"\\n\").concat(credentialScope, \"\\n\").concat(toHex(hashedRequest))];\n }\n });\n });\n };\n SignatureV4.prototype.getCanonicalPath = function (_a) {\n var e_1, _b;\n var path = _a.path;\n if (this.uriEscapePath) {\n var normalizedPathSegments = [];\n try {\n for (var _c = __values(path.split(\"/\")), _d = _c.next(); !_d.done; _d = _c.next()) {\n var pathSegment = _d.value;\n if ((pathSegment === null || pathSegment === void 0 ? void 0 : pathSegment.length) === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\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 var normalizedPath = \"\".concat((path === null || path === void 0 ? void 0 : path.startsWith(\"/\")) ? \"/\" : \"\").concat(normalizedPathSegments.join(\"/\")).concat(normalizedPathSegments.length > 0 && (path === null || path === void 0 ? void 0 : path.endsWith(\"/\")) ? \"/\" : \"\");\n var doubleEncoded = encodeURIComponent(normalizedPath);\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, this.createStringToSign(longDate, credentialScope, canonicalRequest)];\n case 1:\n stringToSign = _d.sent();\n _b = (_a = this.sha256).bind;\n return [4, keyPromise];\n case 2:\n hash = new (_b.apply(_a, [void 0, _d.sent()]))();\n hash.update(stringToSign);\n _c = toHex;\n return [4, hash.digest()];\n case 3: return [2, _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 SignatureV4.prototype.validateResolvedCredentials = function (credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\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.slice(0, 8),\n };\n};\nvar getCanonicalHeaderList = function (headers) { return Object.keys(headers).sort().join(\";\"); };\n","import { __assign, __values } from \"tslib\";\nimport { cloneRequest } from \"./cloneRequest\";\nexport var moveHeadersToQuery = function (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_1 = _f.value;\n var lname = name_1.toLowerCase();\n if (lname.slice(0, 6) === \"x-amz-\" && !((_b = options.unhoistableHeaders) === null || _b === void 0 ? void 0 : _b.has(lname))) {\n query[name_1] = headers[name_1];\n delete headers[name_1];\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, query: query });\n};\n","import { __values } from \"tslib\";\nexport var hasHeader = function (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};\nexport var getHeaderValue = function (soughtHeader, headers) {\n var e_2, _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 headers[headerName];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return undefined;\n};\nexport var deleteHeader = function (soughtHeader, headers) {\n var e_3, _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 delete headers[headerName];\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_3) throw e_3.error; }\n }\n};\n","import { __values } from \"tslib\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\nexport var getCanonicalQuery = function (_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] = \"\".concat(escapeUri(key), \"=\").concat(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([\"\".concat(escapeUri(key), \"=\").concat(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; })\n .join(\"&\");\n};\n","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { memoize } from \"@aws-sdk/property-provider\";\nimport { SignatureV4 } from \"@aws-sdk/signature-v4\";\nimport { normalizeProvider } from \"@aws-sdk/util-middleware\";\nvar CREDENTIAL_EXPIRE_WINDOW = 300000;\nexport var resolveAwsAuthConfig = function (input) {\n var normalizedCreds = input.credentials\n ? normalizeCredentialProvider(input.credentials)\n : input.credentialDefaultProvider(input);\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 signer = normalizeProvider(input.signer);\n }\n else if (input.regionInfoProvider) {\n signer = function () {\n return normalizeProvider(input.region)()\n .then(function (region) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, _b, _c;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _b = (_a = input).regionInfoProvider;\n _c = [region];\n _d = {};\n return [4, input.useFipsEndpoint()];\n case 1:\n _d.useFipsEndpoint = _e.sent();\n return [4, input.useDualstackEndpoint()];\n case 2: return [4, _b.apply(_a, _c.concat([(_d.useDualstackEndpoint = _e.sent(),\n _d)]))];\n case 3: return [2, [\n (_e.sent()) || {},\n region\n ]];\n }\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 input.signingRegion = input.signingRegion || signingRegion || region;\n input.signingName = input.signingName || signingService || input.serviceId;\n var params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });\n var SignerCtor = input.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n };\n }\n else {\n signer = function (authScheme) { return __awaiter(void 0, void 0, void 0, function () {\n var signingRegion, signingService, params, SignerCtor;\n return __generator(this, function (_a) {\n if (!authScheme) {\n throw new Error(\"Unexpected empty auth scheme config\");\n }\n signingRegion = authScheme.signingScope;\n signingService = authScheme.signingName;\n input.signingRegion = input.signingRegion || signingRegion;\n input.signingName = input.signingName || signingService || input.serviceId;\n params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });\n SignerCtor = input.signerConstructor || SignatureV4;\n return [2, new SignerCtor(params)];\n });\n }); };\n }\n return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });\n};\nexport var resolveSigV4AuthConfig = function (input) {\n var normalizedCreds = input.credentials\n ? normalizeCredentialProvider(input.credentials)\n : input.credentialDefaultProvider(input);\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 signer = normalizeProvider(input.signer);\n }\n else {\n signer = normalizeProvider(new SignatureV4({\n credentials: normalizedCreds,\n region: input.region,\n service: input.signingName,\n sha256: sha256,\n uriEscapePath: signingEscapePath,\n }));\n }\n return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });\n};\nvar normalizeCredentialProvider = function (credentials) {\n if (typeof credentials === \"function\") {\n return memoize(credentials, function (credentials) {\n return credentials.expiration !== undefined &&\n credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW;\n }, function (credentials) { return credentials.expiration !== undefined; });\n }\n return normalizeProvider(credentials);\n};\n","export var getSkewCorrectedDate = function (systemClockOffset) { return new Date(Date.now() + systemClockOffset); };\n","import { isClockSkewed } from \"./isClockSkewed\";\nexport var getUpdatedSystemClockOffset = function (clockTime, currentSystemClockOffset) {\n var clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n","import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport var isClockSkewed = function (clockTime, systemClockOffset) {\n return Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n};\n","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest, HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { getSkewCorrectedDate } from \"./utils/getSkewCorrectedDate\";\nimport { getUpdatedSystemClockOffset } from \"./utils/getUpdatedSystemClockOffset\";\nexport var awsAuthMiddleware = function (options) {\n return function (next, context) {\n return function (args) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var authScheme, signer, output, _d, _e, dateHeader;\n var _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n if (!HttpRequest.isInstance(args.request))\n return [2, next(args)];\n authScheme = (_c = (_b = (_a = (context.endpointV2)) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0];\n return [4, options.signer(authScheme)];\n case 1:\n signer = _g.sent();\n _d = next;\n _e = [__assign({}, args)];\n _f = {};\n return [4, signer.sign(args.request, {\n signingDate: getSkewCorrectedDate(options.systemClockOffset),\n signingRegion: context[\"signing_region\"],\n signingService: context[\"signing_service\"],\n })];\n case 2: return [4, _d.apply(void 0, [__assign.apply(void 0, _e.concat([(_f.request = _g.sent(), _f)]))]).catch(function (error) {\n var _a;\n var serverTime = (_a = error.ServerTime) !== null && _a !== void 0 ? _a : getDateHeader(error.$response);\n if (serverTime) {\n options.systemClockOffset = getUpdatedSystemClockOffset(serverTime, options.systemClockOffset);\n }\n throw error;\n })];\n case 3:\n output = _g.sent();\n dateHeader = getDateHeader(output.response);\n if (dateHeader) {\n options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);\n }\n return [2, output];\n }\n });\n });\n };\n };\n};\nvar getDateHeader = function (response) { var _a, _b, _c; return HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : undefined; };\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}); };\nexport var getSigV4AuthPlugin = getAwsAuthPlugin;\n","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","import { __assign, __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from \"./constants\";\nexport var userAgentMiddleware = function (options) {\n return function (next, context) {\n return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request, headers, userAgent, defaultUserAgent, customUserAgent, sdkUserAgentValue, 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, 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, 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 sdkUserAgentValue = __spreadArray(__spreadArray(__spreadArray([], __read(defaultUserAgent), false), __read(userAgent), false), __read(customUserAgent), false).join(SPACE);\n normalUAValue = __spreadArray(__spreadArray([], __read(defaultUserAgent.filter(function (section) { return section.startsWith(\"aws-sdk-\"); })), false), __read(customUserAgent), false).join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n ? \"\".concat(headers[USER_AGENT], \" \").concat(normalUAValue)\n : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return [2, next(__assign(__assign({}, args), { request: request }))];\n }\n });\n }); };\n };\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);\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","import { __assign, __read, __spreadArray, __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 toStack.add(entry.middleware, __assign({}, entry));\n });\n relativeEntries.forEach(function (entry) {\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, __spreadArray([], __read(expandRelativeMiddlewareList(entry)), false));\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, __spreadArray([], __read(expandRelativeMiddlewareList(entry)), false));\n }\n });\n return expandedMiddlewareList;\n };\n var getMiddlewareList = function (debug) {\n if (debug === void 0) { debug = false; }\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 if (debug) {\n return;\n }\n throw new Error(\"\".concat(entry.toMiddleware, \" is not found when adding \").concat(entry.name || \"anonymous\", \" middleware \").concat(entry.relation, \" \").concat(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 wholeList.push.apply(wholeList, __spreadArray([], __read(expendedMiddlewareList), false));\n return wholeList;\n }, []);\n return mainChain;\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 '\".concat(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(\"\\\"\".concat(name, \"\\\" middleware with \").concat(toOverride.priority, \" priority in \").concat(toOverride.step, \" step cannot be \") +\n \"overridden by same-name middleware with \".concat(entry.priority, \" priority in \").concat(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 '\".concat(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(\"\\\"\".concat(name, \"\\\" middleware \").concat(toOverride.relation, \" \\\"\").concat(toOverride.toMiddleware, \"\\\" middleware cannot be overridden \") +\n \"by same-name middleware \".concat(entry.relation, \" \\\"\").concat(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 identify: function () {\n return getMiddlewareList(true).map(function (mw) {\n return mw.name + \": \" + (mw.tags || []).join(\",\");\n });\n },\n resolve: function (handler, context) {\n var e_1, _a;\n try {\n for (var _b = __values(getMiddlewareList()\n .map(function (entry) { return entry.middleware; })\n .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","import { constructStack } from \"@aws-sdk/middleware-stack\";\nvar Client = (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(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","import { constructStack } from \"@aws-sdk/middleware-stack\";\nvar Command = (function () {\n function Command() {\n this.middlewareStack = constructStack();\n }\n return Command;\n}());\nexport { Command };\n","export var SENSITIVE_STRING = \"***SensitiveInformation***\";\n","import { __read } from \"tslib\";\nexport var parseBoolean = function (value) {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(\"Unable to parse boolean value \\\"\".concat(value, \"\\\"\"));\n }\n};\nexport var expectBoolean = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(\"Expected boolean, got \".concat(typeof value, \": \").concat(value)));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n var lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(\"Expected boolean, got \".concat(typeof value, \": \").concat(value)));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(\"Expected boolean, got \".concat(typeof value, \": \").concat(value));\n};\nexport var expectNumber = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n var parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(\"Expected number but observed string: \".concat(value)));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(\"Expected number, got \".concat(typeof value, \": \").concat(value));\n};\nvar MAX_FLOAT = Math.ceil(Math.pow(2, 127) * (2 - Math.pow(2, -23)));\nexport var expectFloat32 = function (value) {\n var expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(\"Expected 32-bit float, got \".concat(value));\n }\n }\n return expected;\n};\nexport var expectLong = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(\"Expected integer, got \".concat(typeof value, \": \").concat(value));\n};\nexport var expectInt = expectLong;\nexport var expectInt32 = function (value) { return expectSizedInt(value, 32); };\nexport var expectShort = function (value) { return expectSizedInt(value, 16); };\nexport var expectByte = function (value) { return expectSizedInt(value, 8); };\nvar expectSizedInt = function (value, size) {\n var expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(\"Expected \".concat(size, \"-bit integer, got \").concat(value));\n }\n return expected;\n};\nvar castInt = function (value, size) {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport var expectNonNull = function (value, location) {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(\"Expected a non-null value for \".concat(location));\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport var expectObject = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n var receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(\"Expected object, got \".concat(receivedType, \": \").concat(value));\n};\nexport var expectString = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(\"Expected string, got \".concat(typeof value, \": \").concat(value)));\n return String(value);\n }\n throw new TypeError(\"Expected string, got \".concat(typeof value, \": \").concat(value));\n};\nexport var expectUnion = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n var asObject = expectObject(value);\n var setKeys = Object.entries(asObject)\n .filter(function (_a) {\n var _b = __read(_a, 2), v = _b[1];\n return v != null;\n })\n .map(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k;\n });\n if (setKeys.length === 0) {\n throw new TypeError(\"Unions must have exactly one non-null member. None were found.\");\n }\n if (setKeys.length > 1) {\n throw new TypeError(\"Unions must have exactly one non-null member. Keys \".concat(setKeys, \" were not null.\"));\n }\n return asObject;\n};\nexport var strictParseDouble = function (value) {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport var strictParseFloat = strictParseDouble;\nexport var strictParseFloat32 = function (value) {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nvar NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nvar parseNumber = function (value) {\n var matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(\"Expected real number, got implicit NaN\");\n }\n return parseFloat(value);\n};\nexport var limitedParseDouble = function (value) {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport var handleFloat = limitedParseDouble;\nexport var limitedParseFloat = limitedParseDouble;\nexport var limitedParseFloat32 = function (value) {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nvar parseFloatString = function (value) {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(\"Unable to parse float value: \".concat(value));\n }\n};\nexport var strictParseLong = function (value) {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport var strictParseInt = strictParseLong;\nexport var strictParseInt32 = function (value) {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport var strictParseShort = function (value) {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport var strictParseByte = function (value) {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nvar stackTraceWarning = function (message) {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter(function (s) { return !s.includes(\"stackTraceWarning\"); })\n .join(\"\\n\");\n};\nexport var logger = {\n warn: console.warn,\n};\n","import { __read } from \"tslib\";\nimport { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nvar DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\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 var dayOfMonthString = dayOfMonthInt < 10 ? \"0\".concat(dayOfMonthInt) : \"\".concat(dayOfMonthInt);\n var hoursString = hoursInt < 10 ? \"0\".concat(hoursInt) : \"\".concat(hoursInt);\n var minutesString = minutesInt < 10 ? \"0\".concat(minutesInt) : \"\".concat(minutesInt);\n var secondsString = secondsInt < 10 ? \"0\".concat(secondsInt) : \"\".concat(secondsInt);\n return \"\".concat(DAYS[dayOfWeek], \", \").concat(dayOfMonthString, \" \").concat(MONTHS[month], \" \").concat(year, \" \").concat(hoursString, \":\").concat(minutesString, \":\").concat(secondsString, \" GMT\");\n}\nvar RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport var parseRfc3339DateTime = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n var match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n var _a = __read(match, 8), _ = _a[0], yearStr = _a[1], monthStr = _a[2], dayStr = _a[3], hours = _a[4], minutes = _a[5], seconds = _a[6], fractionalMilliseconds = _a[7];\n var year = strictParseShort(stripLeadingZeroes(yearStr));\n var month = parseDateValue(monthStr, \"month\", 1, 12);\n var day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours: hours, minutes: minutes, seconds: seconds, fractionalMilliseconds: fractionalMilliseconds });\n};\nvar IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nvar RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nvar ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport var parseRfc7231DateTime = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n var match = IMF_FIXDATE.exec(value);\n if (match) {\n var _a = __read(match, 8), _1 = _a[0], dayStr = _a[1], monthStr = _a[2], yearStr = _a[3], hours = _a[4], minutes = _a[5], seconds = _a[6], fractionalMilliseconds = _a[7];\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours: hours, minutes: minutes, seconds: seconds, fractionalMilliseconds: fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n var _b = __read(match, 8), _2 = _b[0], dayStr = _b[1], monthStr = _b[2], yearStr = _b[3], hours = _b[4], minutes = _b[5], seconds = _b[6], fractionalMilliseconds = _b[7];\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours: hours,\n minutes: minutes,\n seconds: seconds,\n fractionalMilliseconds: fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n var _c = __read(match, 8), _3 = _c[0], monthStr = _c[1], dayStr = _c[2], hours = _c[3], minutes = _c[4], seconds = _c[5], fractionalMilliseconds = _c[6], yearStr = _c[7];\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours: hours, minutes: minutes, seconds: seconds, fractionalMilliseconds: fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport var parseEpochTimestamp = function (value) {\n if (value === null || value === undefined) {\n return undefined;\n }\n var valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nvar buildDate = function (year, month, day, time) {\n var adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nvar parseTwoDigitYear = function (value) {\n var thisYear = new Date().getUTCFullYear();\n var valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nvar FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nvar adjustRfc850Year = function (input) {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nvar parseMonthByShortName = function (value) {\n var monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(\"Invalid month: \".concat(value));\n }\n return monthIdx + 1;\n};\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar validateDayOfMonth = function (year, month, day) {\n var maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(\"Invalid day for \".concat(MONTHS[month], \" in \").concat(year, \": \").concat(day));\n }\n};\nvar isLeapYear = function (year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nvar parseDateValue = function (value, type, lower, upper) {\n var dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(\"\".concat(type, \" must be between \").concat(lower, \" and \").concat(upper, \", inclusive\"));\n }\n return dateVal;\n};\nvar parseMilliseconds = function (value) {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nvar stripLeadingZeroes = function (value) {\n var idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n","import { __extends, __read } from \"tslib\";\nvar ServiceException = (function (_super) {\n __extends(ServiceException, _super);\n function ServiceException(options) {\n var _this = _super.call(this, options.message) || this;\n Object.setPrototypeOf(_this, ServiceException.prototype);\n _this.name = options.name;\n _this.$fault = options.$fault;\n _this.$metadata = options.$metadata;\n return _this;\n }\n return ServiceException;\n}(Error));\nexport { ServiceException };\nexport var decorateServiceException = function (exception, additions) {\n if (additions === void 0) { additions = {}; }\n Object.entries(additions)\n .filter(function (_a) {\n var _b = __read(_a, 2), v = _b[1];\n return v !== undefined;\n })\n .forEach(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n var message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n","import { decorateServiceException } from \"./exceptions\";\nexport var throwDefaultError = function (_a) {\n var output = _a.output, parsedBody = _a.parsedBody, exceptionCtor = _a.exceptionCtor, errorCode = _a.errorCode;\n var $metadata = deserializeMetadata(output);\n var statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n var response = new exceptionCtor({\n name: parsedBody.code || parsedBody.Code || errorCode || statusCode || \"UnknowError\",\n $fault: \"client\",\n $metadata: $metadata,\n });\n throw decorateServiceException(response, parsedBody);\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","export var loadConfigsForDefaultMode = function (mode) {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n","export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n","export var getArrayIfSingleItem = function (mayBeArray) {\n return Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n};\n","import { __extends, __read, __spreadArray } from \"tslib\";\nexport var StringWrapper = function () {\n var Class = Object.getPrototypeOf(this).constructor;\n var Constructor = Function.bind.apply(String, __spreadArray([null], __read(arguments), false));\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 = (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","import { __read, __values } from \"tslib\";\nexport function map(arg0, arg1, arg2) {\n var e_1, _a;\n var target;\n var filter;\n var instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n try {\n for (var _b = __values(Object.keys(instructions)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n var _d = __read(instructions[key], 2), filter_1 = _d[0], value = _d[1];\n if (typeof value === \"function\") {\n var _value = void 0;\n var defaultFilterPassed = filter_1 === undefined && (_value = value()) != null;\n var customFilterPassed = (typeof filter_1 === \"function\" && !!filter_1(void 0)) || (typeof filter_1 !== \"function\" && !!filter_1);\n if (defaultFilterPassed) {\n target[key] = _value;\n }\n else if (customFilterPassed) {\n target[key] = value();\n }\n }\n else {\n var defaultFilterPassed = filter_1 === undefined && value != null;\n var customFilterPassed = (typeof filter_1 === \"function\" && !!filter_1(value)) || (typeof filter_1 !== \"function\" && !!filter_1);\n if (defaultFilterPassed || customFilterPassed) {\n target[key] = value;\n }\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 target;\n}\nexport var convertMap = function (target) {\n var e_2, _a;\n var output = {};\n try {\n for (var _b = __values(Object.entries(target || {})), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), k = _d[0], v = _d[1];\n output[k] = [, v];\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return output;\n};\nvar mapWithFilter = function (target, filter, instructions) {\n return map(target, Object.entries(instructions).reduce(function (_instructions, _a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\n","import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport var resolvedPath = function (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n if (input != null && input[memberName] !== undefined) {\n var labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map(function (segment) { return extendedEncodeURIComponent(segment); })\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n","export var serializeFloat = function (value) {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\n","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;\nexport function fromBase64(input) {\n var totalByteLength = (input.length / 4) * 3;\n if (input.slice(-2) === \"==\") {\n totalByteLength -= 2;\n }\n else if (input.slice(-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 if (!(input[j] in alphabetByEncoding)) {\n throw new TypeError(\"Invalid character \".concat(input[j], \" in base64 string.\"));\n }\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}\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","import { __awaiter, __generator, __values } from \"tslib\";\nimport { HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { buildQueryString } from \"@aws-sdk/querystring-builder\";\nimport { requestTimeout } from \"./request-timeout\";\nvar FetchHttpHandler = (function () {\n function FetchHttpHandler(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then(function (opts) { return opts || {}; });\n }\n else {\n this.config = options !== null && options !== void 0 ? options : {};\n this.configProvider = Promise.resolve(this.config);\n }\n }\n FetchHttpHandler.prototype.destroy = function () {\n };\n FetchHttpHandler.prototype.handle = function (request, _a) {\n var _b = _a === void 0 ? {} : _a, abortSignal = _b.abortSignal;\n return __awaiter(this, void 0, void 0, function () {\n var _c, requestTimeoutInMs, abortError, path, queryString, port, method, url, body, requestOptions, fetchRequest, raceOfPromises;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!!this.config) return [3, 2];\n _c = this;\n return [4, this.configProvider];\n case 1:\n _c.config = _d.sent();\n _d.label = 2;\n case 2:\n requestTimeoutInMs = this.config.requestTimeout;\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return [2, Promise.reject(abortError)];\n }\n path = request.path;\n if (request.query) {\n queryString = buildQueryString(request.query);\n if (queryString) {\n path += \"?\".concat(queryString);\n }\n }\n port = request.port, method = request.method;\n url = \"\".concat(request.protocol, \"//\").concat(request.hostname).concat(port ? \":\".concat(port) : \"\").concat(path);\n body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n requestOptions = {\n body: body,\n headers: new Headers(request.headers),\n method: method,\n };\n if (typeof AbortController !== \"undefined\") {\n requestOptions[\"signal\"] = abortSignal;\n }\n fetchRequest = new Request(url, requestOptions);\n 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 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 {\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 [2, Promise.race(raceOfPromises)];\n }\n });\n });\n };\n return FetchHttpHandler;\n}());\nexport { FetchHttpHandler };\n","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(\"\".concat(key, \"=\").concat(escapeUri(value[i])));\n }\n }\n else {\n var qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += \"=\".concat(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","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 \".concat(timeoutInMs, \" ms\"));\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n","import { __awaiter, __generator } from \"tslib\";\nimport { fromBase64 } from \"@aws-sdk/util-base64-browser\";\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, readToBase64(blob)];\n case 1:\n base64 = _a.sent();\n arrayBuffer = fromBase64(base64);\n return [2, 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, 3];\n return [4, 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, 1];\n case 3: return [2, 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 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 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.readAsDataURL(blob);\n });\n}\n","export var invalidFunction = function (message) { return function () {\n throw new Error(message);\n}; };\n","export var calculateBodyLength = function (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 if (code >= 0xdc00 && code <= 0xdfff)\n i--;\n }\n return len;\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n throw new Error(\"Body Length computation failed for \".concat(body));\n};\n","import { __awaiter, __generator } from \"tslib\";\nimport bowser from \"bowser\";\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 = typeof window !== \"undefined\" && ((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent)\n ? bowser.parse(window.navigator.userAgent)\n : undefined;\n sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"os/\".concat(((_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 [\"lang/js\"],\n [\"md/browser\", \"\".concat((_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\", \"_\").concat((_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 sections.push([\"api/\".concat(serviceId), clientVersion]);\n }\n return [2, sections];\n });\n }); };\n};\n","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","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","export 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};\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","import { parseQueryString } from \"@aws-sdk/querystring-parser\";\nexport var parseUrl = function (url) {\n if (typeof url === 'string') {\n return parseUrl(new URL(url));\n }\n var _a = 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","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","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { getRegionInfo } from \"@aws-sdk/config-resolver\";\nvar regionHash = {};\nvar partitionHash = {\n aws: {\n regions: [\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-northeast-3\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ap-southeast-3\",\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-central-1\",\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 ],\n regionRegex: \"^(us|eu|ap|sa|ca|me|af)\\\\-\\\\w+\\\\-\\\\d+$\",\n variants: [\n {\n hostname: \"geo.{region}.amazonaws.com\",\n tags: [],\n },\n {\n hostname: \"geo-fips.{region}.amazonaws.com\",\n tags: [\"fips\"],\n },\n {\n hostname: \"geo-fips.{region}.api.aws\",\n tags: [\"dualstack\", \"fips\"],\n },\n {\n hostname: \"geo.{region}.api.aws\",\n tags: [\"dualstack\"],\n },\n ],\n },\n \"aws-cn\": {\n regions: [\"cn-north-1\", \"cn-northwest-1\"],\n regionRegex: \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n variants: [\n {\n hostname: \"geo.{region}.amazonaws.com.cn\",\n tags: [],\n },\n {\n hostname: \"geo-fips.{region}.amazonaws.com.cn\",\n tags: [\"fips\"],\n },\n {\n hostname: \"geo-fips.{region}.api.amazonwebservices.com.cn\",\n tags: [\"dualstack\", \"fips\"],\n },\n {\n hostname: \"geo.{region}.api.amazonwebservices.com.cn\",\n tags: [\"dualstack\"],\n },\n ],\n },\n \"aws-iso\": {\n regions: [\"us-iso-east-1\", \"us-iso-west-1\"],\n regionRegex: \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n variants: [\n {\n hostname: \"geo.{region}.c2s.ic.gov\",\n tags: [],\n },\n {\n hostname: \"geo-fips.{region}.c2s.ic.gov\",\n tags: [\"fips\"],\n },\n ],\n },\n \"aws-iso-b\": {\n regions: [\"us-isob-east-1\"],\n regionRegex: \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n variants: [\n {\n hostname: \"geo.{region}.sc2s.sgov.gov\",\n tags: [],\n },\n {\n hostname: \"geo-fips.{region}.sc2s.sgov.gov\",\n tags: [\"fips\"],\n },\n ],\n },\n \"aws-us-gov\": {\n regions: [\"us-gov-east-1\", \"us-gov-west-1\"],\n regionRegex: \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n variants: [\n {\n hostname: \"geo.{region}.amazonaws.com\",\n tags: [],\n },\n {\n hostname: \"geo-fips.{region}.amazonaws.com\",\n tags: [\"fips\"],\n },\n {\n hostname: \"geo-fips.{region}.api.aws\",\n tags: [\"dualstack\", \"fips\"],\n },\n {\n hostname: \"geo.{region}.api.aws\",\n tags: [\"dualstack\"],\n },\n ],\n },\n};\nexport var defaultRegionInfoProvider = function (region, options) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2, getRegionInfo(region, __assign(__assign({}, options), { signingService: \"geo\", regionHash: regionHash, partitionHash: partitionHash }))];\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/* 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 (g && (g = 0, op[0] && (_ = 0)), _) 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","export var DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\n","import { __awaiter, __generator } from \"tslib\";\nimport { memoize } from \"@aws-sdk/property-provider\";\nimport bowser from \"bowser\";\nimport { DEFAULTS_MODE_OPTIONS } from \"./constants\";\nexport var resolveDefaultsModeConfig = function (_a) {\n var _b = _a === void 0 ? {} : _a, defaultsMode = _b.defaultsMode;\n return memoize(function () { return __awaiter(void 0, void 0, void 0, function () {\n var mode, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(typeof defaultsMode === \"function\")) return [3, 2];\n return [4, defaultsMode()];\n case 1:\n _a = _b.sent();\n return [3, 3];\n case 2:\n _a = defaultsMode;\n _b.label = 3;\n case 3:\n mode = _a;\n switch (mode === null || mode === void 0 ? void 0 : mode.toLowerCase()) {\n case \"auto\":\n return [2, Promise.resolve(isMobileBrowser() ? \"mobile\" : \"standard\")];\n case \"mobile\":\n case \"in-region\":\n case \"cross-region\":\n case \"standard\":\n case \"legacy\":\n return [2, Promise.resolve(mode === null || mode === void 0 ? void 0 : mode.toLocaleLowerCase())];\n case undefined:\n return [2, Promise.resolve(\"legacy\")];\n default:\n throw new Error(\"Invalid parameter for \\\"defaultsMode\\\", expect \".concat(DEFAULTS_MODE_OPTIONS.join(\", \"), \", got \").concat(mode));\n }\n return [2];\n }\n });\n }); });\n};\nvar isMobileBrowser = function () {\n var _a, _b;\n var parsedUA = typeof window !== \"undefined\" && ((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent)\n ? bowser.parse(window.navigator.userAgent)\n : undefined;\n var platform = (_b = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.platform) === null || _b === void 0 ? void 0 : _b.type;\n return platform === \"tablet\" || platform === \"mobile\";\n};\n","import { __assign, __awaiter, __generator } from \"tslib\";\nimport packageInfo from \"../package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from \"@aws-sdk/config-resolver\";\nimport { FetchHttpHandler as RequestHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } 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 { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@aws-sdk/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@aws-sdk/util-defaults-mode-browser\";\nexport var getRuntimeConfig = function (config) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n var defaultsMode = resolveDefaultsModeConfig(config);\n var defaultConfigProvider = function () { return defaultsMode().then(loadConfigsForDefaultMode); };\n var clientSharedValues = getSharedRuntimeConfig(config);\n return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: \"browser\", defaultsMode: defaultsMode, base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : (function (_) { return function () { return Promise.reject(new Error(\"Credential is missing\")); }; }), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : DEFAULT_MAX_ATTEMPTS, region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : invalidProvider(\"Region is missing\"), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new RequestHandler(defaultConfigProvider), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : (function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4, defaultConfigProvider()];\n case 1: return [2, (_a.sent()).retryMode || DEFAULT_RETRY_MODE];\n }\n }); }); }), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Sha256, streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : (function () { return Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT); }), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : (function () { return Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT); }), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });\n};\n","export var invalidProvider = function (message) { return function () { return Promise.reject(message); }; };\n","import { parseUrl } from \"@aws-sdk/url-parser\";\nimport { defaultRegionInfoProvider } from \"./endpoints\";\nexport var getRuntimeConfig = function (config) {\n var _a, _b, _c, _d, _e;\n return ({\n apiVersion: \"2020-11-19\",\n disableHostPrefix: (_a = config === null || config === void 0 ? void 0 : config.disableHostPrefix) !== null && _a !== void 0 ? _a : false,\n logger: (_b = config === null || config === void 0 ? void 0 : config.logger) !== null && _b !== void 0 ? _b : {},\n regionInfoProvider: (_c = config === null || config === void 0 ? void 0 : config.regionInfoProvider) !== null && _c !== void 0 ? _c : defaultRegionInfoProvider,\n serviceId: (_d = config === null || config === void 0 ? void 0 : config.serviceId) !== null && _d !== void 0 ? _d : \"Location\",\n urlParser: (_e = config === null || config === void 0 ? void 0 : config.urlParser) !== null && _e !== void 0 ? _e : parseUrl,\n });\n};\n","import { booleanSelector, SelectorType } from \"@aws-sdk/util-config-provider\";\nexport var ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexport var CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexport var DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexport var NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) {\n return booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV);\n },\n configFileSelector: function (profile) { return booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG); },\n default: false,\n};\n","import { booleanSelector, SelectorType } from \"@aws-sdk/util-config-provider\";\nexport var ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexport var CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexport var DEFAULT_USE_FIPS_ENDPOINT = false;\nexport var NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) {\n return booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV);\n },\n configFileSelector: function (profile) { return booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG); },\n default: false,\n};\n","import { __extends } from \"tslib\";\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 { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\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\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nvar LocationClient = (function (_super) {\n __extends(LocationClient, _super);\n function LocationClient(configuration) {\n var _this = this;\n var _config_0 = __getRuntimeConfig(configuration);\n var _config_1 = resolveRegionConfig(_config_0);\n var _config_2 = resolveEndpointsConfig(_config_1);\n var _config_3 = resolveRetryConfig(_config_2);\n var _config_4 = resolveHostHeaderConfig(_config_3);\n var _config_5 = resolveAwsAuthConfig(_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(getRecursionDetectionPlugin(_this.config));\n _this.middlewareStack.use(getAwsAuthPlugin(_this.config));\n _this.middlewareStack.use(getUserAgentPlugin(_this.config));\n return _this;\n }\n LocationClient.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return LocationClient;\n}(__Client));\nexport { LocationClient };\n","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { normalizeProvider } from \"@aws-sdk/util-middleware\";\nimport { AdaptiveRetryStrategy } from \"./AdaptiveRetryStrategy\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES } from \"./config\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\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 \".concat(ENV_MAX_ATTEMPTS, \" mast be a number, got \\\"\").concat(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 \".concat(CONFIG_MAX_ATTEMPTS, \" mast be a number, got \\\"\").concat(value, \"\\\"\"));\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport var resolveRetryConfig = function (input) {\n var _a;\n var maxAttempts = normalizeProvider((_a = input.maxAttempts) !== null && _a !== void 0 ? _a : DEFAULT_MAX_ATTEMPTS);\n return __assign(__assign({}, input), { maxAttempts: maxAttempts, retryStrategy: function () { return __awaiter(void 0, void 0, void 0, function () {\n var retryMode;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (input.retryStrategy) {\n return [2, input.retryStrategy];\n }\n return [4, normalizeProvider(input.retryMode)()];\n case 1:\n retryMode = _a.sent();\n if (retryMode === RETRY_MODES.ADAPTIVE) {\n return [2, new AdaptiveRetryStrategy(maxAttempts)];\n }\n return [2, new StandardRetryStrategy(maxAttempts)];\n }\n });\n }); } });\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","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport var resolveRegionConfig = function (input) {\n var region = input.region, useFipsEndpoint = input.useFipsEndpoint;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return __assign(__assign({}, input), { region: function () { return __awaiter(void 0, void 0, void 0, function () {\n var providedRegion;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (typeof region === \"string\") {\n return [2, getRealRegion(region)];\n }\n return [4, region()];\n case 1:\n providedRegion = _a.sent();\n return [2, getRealRegion(providedRegion)];\n }\n });\n }); }, useFipsEndpoint: function () { return __awaiter(void 0, void 0, void 0, function () {\n var providedRegion, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(typeof region === \"string\")) return [3, 1];\n _a = region;\n return [3, 3];\n case 1: return [4, region()];\n case 2:\n _a = _b.sent();\n _b.label = 3;\n case 3:\n providedRegion = _a;\n if (isFipsRegion(providedRegion)) {\n return [2, true];\n }\n return [2, typeof useFipsEndpoint === \"boolean\" ? Promise.resolve(useFipsEndpoint) : useFipsEndpoint()];\n }\n });\n }); } });\n};\n","import { __assign } from \"tslib\";\nexport function resolveUserAgentConfig(input) {\n return __assign(__assign({}, input), { customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent });\n}\n","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","import { __awaiter, __generator } from \"tslib\";\nexport var deserializerMiddleware = function (options, deserializer) {\n return function (next, context) {\n return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var response, parsed, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4, next(args)];\n case 1:\n response = (_a.sent()).response;\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4, deserializer(response, options)];\n case 3:\n parsed = _a.sent();\n return [2, {\n response: response,\n output: parsed,\n }];\n case 4:\n error_1 = _a.sent();\n Object.defineProperty(error_1, \"$response\", {\n value: response,\n });\n throw error_1;\n case 5: return [2];\n }\n });\n }); };\n };\n};\n","import { __assign, __awaiter, __generator } from \"tslib\";\nexport var serializerMiddleware = function (options, serializer) {\n return function (next, context) {\n return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var endpoint, request;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n endpoint = ((_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.url) && options.urlParser\n ? function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2, options.urlParser(context.endpointV2.url)];\n }); }); }\n : options.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n return [4, serializer(args.input, __assign(__assign({}, options), { endpoint: endpoint }))];\n case 1:\n request = _b.sent();\n return [2, next(__assign(__assign({}, args), { request: request }))];\n }\n });\n }); };\n };\n};\n","import { __extends } from \"tslib\";\nimport { ServiceException as __ServiceException, } from \"@aws-sdk/smithy-client\";\nvar LocationServiceException = (function (_super) {\n __extends(LocationServiceException, _super);\n function LocationServiceException(options) {\n var _this = _super.call(this, options) || this;\n Object.setPrototypeOf(_this, LocationServiceException.prototype);\n return _this;\n }\n return LocationServiceException;\n}(__ServiceException));\nexport { LocationServiceException };\n","import { __assign, __extends } from \"tslib\";\nimport { SENSITIVE_STRING } from \"@aws-sdk/smithy-client\";\nimport { LocationServiceException as __BaseException } from \"./LocationServiceException\";\nvar AccessDeniedException = (function (_super) {\n __extends(AccessDeniedException, _super);\n function AccessDeniedException(opts) {\n var _this = _super.call(this, __assign({ name: \"AccessDeniedException\", $fault: \"client\" }, opts)) || this;\n _this.name = \"AccessDeniedException\";\n _this.$fault = \"client\";\n Object.setPrototypeOf(_this, AccessDeniedException.prototype);\n _this.Message = opts.Message;\n return _this;\n }\n return AccessDeniedException;\n}(__BaseException));\nexport { AccessDeniedException };\nvar ConflictException = (function (_super) {\n __extends(ConflictException, _super);\n function ConflictException(opts) {\n var _this = _super.call(this, __assign({ name: \"ConflictException\", $fault: \"client\" }, opts)) || this;\n _this.name = \"ConflictException\";\n _this.$fault = \"client\";\n Object.setPrototypeOf(_this, ConflictException.prototype);\n _this.Message = opts.Message;\n return _this;\n }\n return ConflictException;\n}(__BaseException));\nexport { ConflictException };\nvar InternalServerException = (function (_super) {\n __extends(InternalServerException, _super);\n function InternalServerException(opts) {\n var _this = _super.call(this, __assign({ name: \"InternalServerException\", $fault: \"server\" }, opts)) || this;\n _this.name = \"InternalServerException\";\n _this.$fault = \"server\";\n _this.$retryable = {};\n Object.setPrototypeOf(_this, InternalServerException.prototype);\n _this.Message = opts.Message;\n return _this;\n }\n return InternalServerException;\n}(__BaseException));\nexport { InternalServerException };\nvar ResourceNotFoundException = (function (_super) {\n __extends(ResourceNotFoundException, _super);\n function ResourceNotFoundException(opts) {\n var _this = _super.call(this, __assign({ name: \"ResourceNotFoundException\", $fault: \"client\" }, opts)) || this;\n _this.name = \"ResourceNotFoundException\";\n _this.$fault = \"client\";\n Object.setPrototypeOf(_this, ResourceNotFoundException.prototype);\n _this.Message = opts.Message;\n return _this;\n }\n return ResourceNotFoundException;\n}(__BaseException));\nexport { ResourceNotFoundException };\nvar ServiceQuotaExceededException = (function (_super) {\n __extends(ServiceQuotaExceededException, _super);\n function ServiceQuotaExceededException(opts) {\n var _this = _super.call(this, __assign({ name: \"ServiceQuotaExceededException\", $fault: \"client\" }, opts)) || this;\n _this.name = \"ServiceQuotaExceededException\";\n _this.$fault = \"client\";\n Object.setPrototypeOf(_this, ServiceQuotaExceededException.prototype);\n _this.Message = opts.Message;\n return _this;\n }\n return ServiceQuotaExceededException;\n}(__BaseException));\nexport { ServiceQuotaExceededException };\nvar ThrottlingException = (function (_super) {\n __extends(ThrottlingException, _super);\n function ThrottlingException(opts) {\n var _this = _super.call(this, __assign({ name: \"ThrottlingException\", $fault: \"client\" }, opts)) || this;\n _this.name = \"ThrottlingException\";\n _this.$fault = \"client\";\n _this.$retryable = {};\n Object.setPrototypeOf(_this, ThrottlingException.prototype);\n _this.Message = opts.Message;\n return _this;\n }\n return ThrottlingException;\n}(__BaseException));\nexport { ThrottlingException };\nvar ValidationException = (function (_super) {\n __extends(ValidationException, _super);\n function ValidationException(opts) {\n var _this = _super.call(this, __assign({ name: \"ValidationException\", $fault: \"client\" }, opts)) || this;\n _this.name = \"ValidationException\";\n _this.$fault = \"client\";\n Object.setPrototypeOf(_this, ValidationException.prototype);\n _this.Message = opts.Message;\n _this.Reason = opts.Reason;\n _this.FieldList = opts.FieldList;\n return _this;\n }\n return ValidationException;\n}(__BaseException));\nexport { ValidationException };\nexport var AssociateTrackerConsumerRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var AssociateTrackerConsumerResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ValidationExceptionFieldFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchDeleteDevicePositionHistoryRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchItemErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchDeleteDevicePositionHistoryErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchDeleteDevicePositionHistoryResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchDeleteGeofenceRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchDeleteGeofenceErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchDeleteGeofenceResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var PositionalAccuracyFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DevicePositionUpdateFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Position && { Position: SENSITIVE_STRING })), (obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }))); };\nexport var BatchEvaluateGeofencesRequestFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.DevicePositionUpdates && {\n DevicePositionUpdates: obj.DevicePositionUpdates.map(function (item) { return DevicePositionUpdateFilterSensitiveLog(item); }),\n}))); };\nexport var BatchEvaluateGeofencesErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchEvaluateGeofencesResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchGetDevicePositionRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DevicePositionFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Position && { Position: SENSITIVE_STRING })), (obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }))); };\nexport var BatchGetDevicePositionErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchGetDevicePositionResponseFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.DevicePositions && {\n DevicePositions: obj.DevicePositions.map(function (item) { return DevicePositionFilterSensitiveLog(item); }),\n}))); };\nexport var CircleFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Center && { Center: SENSITIVE_STRING }))); };\nexport var GeofenceGeometryFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Polygon && { Polygon: obj.Polygon.map(function (item) { return SENSITIVE_STRING; }) })), (obj.Circle && { Circle: SENSITIVE_STRING }))); };\nexport var BatchPutGeofenceRequestEntryFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Geometry && { Geometry: GeofenceGeometryFilterSensitiveLog(obj.Geometry) }))); };\nexport var BatchPutGeofenceRequestFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Entries && { Entries: obj.Entries.map(function (item) { return BatchPutGeofenceRequestEntryFilterSensitiveLog(item); }) }))); };\nexport var BatchPutGeofenceErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchPutGeofenceSuccessFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchPutGeofenceResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchUpdateDevicePositionRequestFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Updates && { Updates: obj.Updates.map(function (item) { return DevicePositionUpdateFilterSensitiveLog(item); }) }))); };\nexport var BatchUpdateDevicePositionErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var BatchUpdateDevicePositionResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CalculateRouteCarModeOptionsFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var TruckDimensionsFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var TruckWeightFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CalculateRouteTruckModeOptionsFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CalculateRouteRequestFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign({}, obj), (obj.DeparturePosition && { DeparturePosition: SENSITIVE_STRING })), (obj.DestinationPosition && { DestinationPosition: SENSITIVE_STRING })), (obj.WaypointPositions && { WaypointPositions: SENSITIVE_STRING }))); };\nexport var LegGeometryFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.LineString && { LineString: SENSITIVE_STRING }))); };\nexport var StepFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.StartPosition && { StartPosition: SENSITIVE_STRING })), (obj.EndPosition && { EndPosition: SENSITIVE_STRING }))); };\nexport var LegFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign(__assign({}, obj), (obj.StartPosition && { StartPosition: SENSITIVE_STRING })), (obj.EndPosition && { EndPosition: SENSITIVE_STRING })), (obj.Geometry && { Geometry: LegGeometryFilterSensitiveLog(obj.Geometry) })), (obj.Steps && { Steps: obj.Steps.map(function (item) { return StepFilterSensitiveLog(item); }) }))); };\nexport var CalculateRouteSummaryFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.RouteBBox && { RouteBBox: SENSITIVE_STRING }))); };\nexport var CalculateRouteResponseFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Legs && { Legs: obj.Legs.map(function (item) { return LegFilterSensitiveLog(item); }) })), (obj.Summary && { Summary: CalculateRouteSummaryFilterSensitiveLog(obj.Summary) }))); };\nexport var CalculateRouteMatrixRequestFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.DeparturePositions && { DeparturePositions: SENSITIVE_STRING })), (obj.DestinationPositions && { DestinationPositions: SENSITIVE_STRING }))); };\nexport var RouteMatrixEntryErrorFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var RouteMatrixEntryFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CalculateRouteMatrixSummaryFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CalculateRouteMatrixResponseFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.SnappedDeparturePositions && { SnappedDeparturePositions: SENSITIVE_STRING })), (obj.SnappedDestinationPositions && { SnappedDestinationPositions: SENSITIVE_STRING }))); };\nexport var CreateGeofenceCollectionRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreateGeofenceCollectionResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var MapConfigurationFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreateMapRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreateMapResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DataSourceConfigurationFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreatePlaceIndexRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreatePlaceIndexResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreateRouteCalculatorRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreateRouteCalculatorResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreateTrackerRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var CreateTrackerResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteGeofenceCollectionRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteGeofenceCollectionResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteMapRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteMapResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeletePlaceIndexRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeletePlaceIndexResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteRouteCalculatorRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteRouteCalculatorResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteTrackerRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DeleteTrackerResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeGeofenceCollectionRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeGeofenceCollectionResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeMapRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeMapResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribePlaceIndexRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribePlaceIndexResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeRouteCalculatorRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeRouteCalculatorResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeTrackerRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DescribeTrackerResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DisassociateTrackerConsumerRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var DisassociateTrackerConsumerResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListTagsForResourceRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListTagsForResourceResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var TagResourceRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var TagResourceResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UntagResourceRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UntagResourceResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetGeofenceRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetGeofenceResponseFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Geometry && { Geometry: GeofenceGeometryFilterSensitiveLog(obj.Geometry) }))); };\nexport var ListGeofenceCollectionsRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListGeofenceCollectionsResponseEntryFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListGeofenceCollectionsResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListGeofencesRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListGeofenceResponseEntryFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Geometry && { Geometry: GeofenceGeometryFilterSensitiveLog(obj.Geometry) }))); };\nexport var ListGeofencesResponseFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Entries && { Entries: obj.Entries.map(function (item) { return ListGeofenceResponseEntryFilterSensitiveLog(item); }) }))); };\nexport var PutGeofenceRequestFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Geometry && { Geometry: GeofenceGeometryFilterSensitiveLog(obj.Geometry) }))); };\nexport var PutGeofenceResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateGeofenceCollectionRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateGeofenceCollectionResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetDevicePositionRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetDevicePositionResponseFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Position && { Position: SENSITIVE_STRING })), (obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }))); };\nexport var GetDevicePositionHistoryRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetDevicePositionHistoryResponseFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.DevicePositions && {\n DevicePositions: obj.DevicePositions.map(function (item) { return DevicePositionFilterSensitiveLog(item); }),\n}))); };\nexport var GetMapGlyphsRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetMapGlyphsResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetMapSpritesRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetMapSpritesResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetMapStyleDescriptorRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetMapStyleDescriptorResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetMapTileRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetMapTileResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var GetPlaceRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var PlaceGeometryFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Point && { Point: SENSITIVE_STRING }))); };\nexport var TimeZoneFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var PlaceFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Geometry && { Geometry: PlaceGeometryFilterSensitiveLog(obj.Geometry) }))); };\nexport var GetPlaceResponseFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Place && { Place: PlaceFilterSensitiveLog(obj.Place) }))); };\nexport var ListDevicePositionsRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListDevicePositionsResponseEntryFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Position && { Position: SENSITIVE_STRING })), (obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }))); };\nexport var ListDevicePositionsResponseFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Entries && { Entries: obj.Entries.map(function (item) { return ListDevicePositionsResponseEntryFilterSensitiveLog(item); }) }))); };\nexport var ListMapsRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListMapsResponseEntryFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListMapsResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListPlaceIndexesRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListPlaceIndexesResponseEntryFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListPlaceIndexesResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListRouteCalculatorsRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListRouteCalculatorsResponseEntryFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListRouteCalculatorsResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListTrackerConsumersRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListTrackerConsumersResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListTrackersRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListTrackersResponseEntryFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var ListTrackersResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateMapRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateMapResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var SearchPlaceIndexForPositionRequestFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Position && { Position: SENSITIVE_STRING }))); };\nexport var SearchForPositionResultFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Place && { Place: PlaceFilterSensitiveLog(obj.Place) }))); };\nexport var SearchPlaceIndexForPositionSummaryFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Position && { Position: SENSITIVE_STRING }))); };\nexport var SearchPlaceIndexForPositionResponseFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Summary && { Summary: SearchPlaceIndexForPositionSummaryFilterSensitiveLog(obj.Summary) })), (obj.Results && { Results: obj.Results.map(function (item) { return SearchForPositionResultFilterSensitiveLog(item); }) }))); };\nexport var SearchPlaceIndexForSuggestionsRequestFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign({}, obj), (obj.Text && { Text: SENSITIVE_STRING })), (obj.BiasPosition && { BiasPosition: SENSITIVE_STRING })), (obj.FilterBBox && { FilterBBox: SENSITIVE_STRING }))); };\nexport var SearchForSuggestionsResultFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var SearchPlaceIndexForSuggestionsSummaryFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign({}, obj), (obj.Text && { Text: SENSITIVE_STRING })), (obj.BiasPosition && { BiasPosition: SENSITIVE_STRING })), (obj.FilterBBox && { FilterBBox: SENSITIVE_STRING }))); };\nexport var SearchPlaceIndexForSuggestionsResponseFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Summary && { Summary: SearchPlaceIndexForSuggestionsSummaryFilterSensitiveLog(obj.Summary) }))); };\nexport var SearchPlaceIndexForTextRequestFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign({}, obj), (obj.Text && { Text: SENSITIVE_STRING })), (obj.BiasPosition && { BiasPosition: SENSITIVE_STRING })), (obj.FilterBBox && { FilterBBox: SENSITIVE_STRING }))); };\nexport var SearchForTextResultFilterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.Place && { Place: PlaceFilterSensitiveLog(obj.Place) }))); };\nexport var SearchPlaceIndexForTextSummaryFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign(__assign({}, obj), (obj.Text && { Text: SENSITIVE_STRING })), (obj.BiasPosition && { BiasPosition: SENSITIVE_STRING })), (obj.FilterBBox && { FilterBBox: SENSITIVE_STRING })), (obj.ResultBBox && { ResultBBox: SENSITIVE_STRING }))); };\nexport var SearchPlaceIndexForTextResponseFilterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.Summary && { Summary: SearchPlaceIndexForTextSummaryFilterSensitiveLog(obj.Summary) })), (obj.Results && { Results: obj.Results.map(function (item) { return SearchForTextResultFilterSensitiveLog(item); }) }))); };\nexport var UpdatePlaceIndexRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdatePlaceIndexResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateRouteCalculatorRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateRouteCalculatorResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateTrackerRequestFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\nexport var UpdateTrackerResponseFilterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { HttpRequest as __HttpRequest, isValidHostname as __isValidHostname, } from \"@aws-sdk/protocol-http\";\nimport { decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map as __map, parseRfc3339DateTime as __parseRfc3339DateTime, resolvedPath as __resolvedPath, serializeFloat as __serializeFloat, throwDefaultError, } from \"@aws-sdk/smithy-client\";\nimport { LocationServiceException as __BaseException } from \"../models/LocationServiceException\";\nimport { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, ValidationException, } from \"../models/models_0\";\nexport var serializeAws_restJson1AssociateTrackerConsumerCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/consumers\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n body = JSON.stringify(__assign({}, (input.ConsumerArn != null && { ConsumerArn: input.ConsumerArn })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1BatchDeleteDevicePositionHistoryCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/delete-positions\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n body = JSON.stringify(__assign({}, (input.DeviceIds != null && { DeviceIds: serializeAws_restJson1DeviceIdsList(input.DeviceIds, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1BatchDeleteGeofenceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}/delete-geofences\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n body = JSON.stringify(__assign({}, (input.GeofenceIds != null && { GeofenceIds: serializeAws_restJson1IdList(input.GeofenceIds, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1BatchEvaluateGeofencesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}/positions\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n body = JSON.stringify(__assign({}, (input.DevicePositionUpdates != null && {\n DevicePositionUpdates: serializeAws_restJson1DevicePositionUpdateList(input.DevicePositionUpdates, context),\n })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1BatchGetDevicePositionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/get-positions\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n body = JSON.stringify(__assign({}, (input.DeviceIds != null && { DeviceIds: serializeAws_restJson1IdList(input.DeviceIds, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1BatchPutGeofenceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}/put-geofences\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n body = JSON.stringify(__assign({}, (input.Entries != null && {\n Entries: serializeAws_restJson1BatchPutGeofenceRequestEntryList(input.Entries, context),\n })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1BatchUpdateDevicePositionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/positions\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n body = JSON.stringify(__assign({}, (input.Updates != null && { Updates: serializeAws_restJson1DevicePositionUpdateList(input.Updates, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1CalculateRouteCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/routes/v0/calculators/{CalculatorName}/calculate/route\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CalculatorName\", function () { return input.CalculatorName; }, \"{CalculatorName}\", false);\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.CarModeOptions != null && {\n CarModeOptions: serializeAws_restJson1CalculateRouteCarModeOptions(input.CarModeOptions, context),\n })), (input.DepartNow != null && { DepartNow: input.DepartNow })), (input.DeparturePosition != null && {\n DeparturePosition: serializeAws_restJson1Position(input.DeparturePosition, context),\n })), (input.DepartureTime != null && { DepartureTime: input.DepartureTime.toISOString().split(\".\")[0] + \"Z\" })), (input.DestinationPosition != null && {\n DestinationPosition: serializeAws_restJson1Position(input.DestinationPosition, context),\n })), (input.DistanceUnit != null && { DistanceUnit: input.DistanceUnit })), (input.IncludeLegGeometry != null && { IncludeLegGeometry: input.IncludeLegGeometry })), (input.TravelMode != null && { TravelMode: input.TravelMode })), (input.TruckModeOptions != null && {\n TruckModeOptions: serializeAws_restJson1CalculateRouteTruckModeOptions(input.TruckModeOptions, context),\n })), (input.WaypointPositions != null && {\n WaypointPositions: serializeAws_restJson1WaypointPositionList(input.WaypointPositions, context),\n })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"routes.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1CalculateRouteMatrixCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/routes/v0/calculators/{CalculatorName}/calculate/route-matrix\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CalculatorName\", function () { return input.CalculatorName; }, \"{CalculatorName}\", false);\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.CarModeOptions != null && {\n CarModeOptions: serializeAws_restJson1CalculateRouteCarModeOptions(input.CarModeOptions, context),\n })), (input.DepartNow != null && { DepartNow: input.DepartNow })), (input.DeparturePositions != null && {\n DeparturePositions: serializeAws_restJson1PositionList(input.DeparturePositions, context),\n })), (input.DepartureTime != null && { DepartureTime: input.DepartureTime.toISOString().split(\".\")[0] + \"Z\" })), (input.DestinationPositions != null && {\n DestinationPositions: serializeAws_restJson1PositionList(input.DestinationPositions, context),\n })), (input.DistanceUnit != null && { DistanceUnit: input.DistanceUnit })), (input.TravelMode != null && { TravelMode: input.TravelMode })), (input.TruckModeOptions != null && {\n TruckModeOptions: serializeAws_restJson1CalculateRouteTruckModeOptions(input.TruckModeOptions, context),\n })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"routes.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1CreateGeofenceCollectionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/geofencing/v0/collections\";\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.CollectionName != null && { CollectionName: input.CollectionName })), (input.Description != null && { Description: input.Description })), (input.KmsKeyId != null && { KmsKeyId: input.KmsKeyId })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })), (input.PricingPlanDataSource != null && { PricingPlanDataSource: input.PricingPlanDataSource })), (input.Tags != null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1CreateMapCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/maps/v0/maps\";\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign({}, (input.Configuration != null && {\n Configuration: serializeAws_restJson1MapConfiguration(input.Configuration, context),\n })), (input.Description != null && { Description: input.Description })), (input.MapName != null && { MapName: input.MapName })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })), (input.Tags != null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1CreatePlaceIndexCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/places/v0/indexes\";\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.DataSource != null && { DataSource: input.DataSource })), (input.DataSourceConfiguration != null && {\n DataSourceConfiguration: serializeAws_restJson1DataSourceConfiguration(input.DataSourceConfiguration, context),\n })), (input.Description != null && { Description: input.Description })), (input.IndexName != null && { IndexName: input.IndexName })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })), (input.Tags != null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1CreateRouteCalculatorCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/routes/v0/calculators\";\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign({}, (input.CalculatorName != null && { CalculatorName: input.CalculatorName })), (input.DataSource != null && { DataSource: input.DataSource })), (input.Description != null && { Description: input.Description })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })), (input.Tags != null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"routes.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1CreateTrackerCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tracking/v0/trackers\";\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.Description != null && { Description: input.Description })), (input.KmsKeyId != null && { KmsKeyId: input.KmsKeyId })), (input.PositionFiltering != null && { PositionFiltering: input.PositionFiltering })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })), (input.PricingPlanDataSource != null && { PricingPlanDataSource: input.PricingPlanDataSource })), (input.Tags != null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) })), (input.TrackerName != null && { TrackerName: input.TrackerName })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DeleteGeofenceCollectionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DeleteMapCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/maps/v0/maps/{MapName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"MapName\", function () { return input.MapName; }, \"{MapName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DeletePlaceIndexCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/places/v0/indexes/{IndexName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"IndexName\", function () { return input.IndexName; }, \"{IndexName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DeleteRouteCalculatorCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/routes/v0/calculators/{CalculatorName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CalculatorName\", function () { return input.CalculatorName; }, \"{CalculatorName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"routes.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DeleteTrackerCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tracking/v0/trackers/{TrackerName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DescribeGeofenceCollectionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DescribeMapCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/maps/v0/maps/{MapName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"MapName\", function () { return input.MapName; }, \"{MapName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DescribePlaceIndexCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/places/v0/indexes/{IndexName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"IndexName\", function () { return input.IndexName; }, \"{IndexName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DescribeRouteCalculatorCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/routes/v0/calculators/{CalculatorName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CalculatorName\", function () { return input.CalculatorName; }, \"{CalculatorName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"routes.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DescribeTrackerCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tracking/v0/trackers/{TrackerName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1DisassociateTrackerConsumerCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/consumers/{ConsumerArn}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"ConsumerArn\", function () { return input.ConsumerArn; }, \"{ConsumerArn}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetDevicePositionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/positions/latest\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"DeviceId\", function () { return input.DeviceId; }, \"{DeviceId}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetDevicePositionHistoryCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/list-positions\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"DeviceId\", function () { return input.DeviceId; }, \"{DeviceId}\", false);\n body = JSON.stringify(__assign(__assign(__assign(__assign({}, (input.EndTimeExclusive != null && {\n EndTimeExclusive: input.EndTimeExclusive.toISOString().split(\".\")[0] + \"Z\",\n })), (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })), (input.StartTimeInclusive != null && {\n StartTimeInclusive: input.StartTimeInclusive.toISOString().split(\".\")[0] + \"Z\",\n })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetGeofenceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"GeofenceId\", function () { return input.GeofenceId; }, \"{GeofenceId}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetMapGlyphsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/maps/v0/maps/{MapName}/glyphs/{FontStack}/{FontUnicodeRange}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"MapName\", function () { return input.MapName; }, \"{MapName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"FontStack\", function () { return input.FontStack; }, \"{FontStack}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"FontUnicodeRange\", function () { return input.FontUnicodeRange; }, \"{FontUnicodeRange}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetMapSpritesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/maps/v0/maps/{MapName}/sprites/{FileName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"MapName\", function () { return input.MapName; }, \"{MapName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"FileName\", function () { return input.FileName; }, \"{FileName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetMapStyleDescriptorCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/maps/v0/maps/{MapName}/style-descriptor\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"MapName\", function () { return input.MapName; }, \"{MapName}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetMapTileCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/maps/v0/maps/{MapName}/tiles/{Z}/{X}/{Y}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"MapName\", function () { return input.MapName; }, \"{MapName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"Z\", function () { return input.Z; }, \"{Z}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"X\", function () { return input.X; }, \"{X}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"Y\", function () { return input.Y; }, \"{Y}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetPlaceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, query, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/places/v0/indexes/{IndexName}/places/{PlaceId}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"IndexName\", function () { return input.IndexName; }, \"{IndexName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"PlaceId\", function () { return input.PlaceId; }, \"{PlaceId}\", false);\n query = map({\n language: [, input.Language],\n });\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\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_restJson1ListDevicePositionsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/list-positions\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListGeofenceCollectionsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/geofencing/v0/list-collections\";\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListGeofencesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}/list-geofences\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListMapsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/maps/v0/list-maps\";\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListPlaceIndexesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/places/v0/list-indexes\";\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListRouteCalculatorsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/routes/v0/list-calculators\";\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"routes.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListTagsForResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tags/{ResourceArn}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"ResourceArn\", function () { return input.ResourceArn; }, \"{ResourceArn}\", false);\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"metadata.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListTrackerConsumersCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/tracking/v0/trackers/{TrackerName}/list-consumers\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1ListTrackersCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tracking/v0/list-trackers\";\n body = JSON.stringify(__assign(__assign({}, (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.NextToken != null && { NextToken: input.NextToken })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1PutGeofenceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n resolvedPath = __resolvedPath(resolvedPath, input, \"GeofenceId\", function () { return input.GeofenceId; }, \"{GeofenceId}\", false);\n body = JSON.stringify(__assign({}, (input.Geometry != null && { Geometry: serializeAws_restJson1GeofenceGeometry(input.Geometry, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"PUT\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1SearchPlaceIndexForPositionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/places/v0/indexes/{IndexName}/search/position\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"IndexName\", function () { return input.IndexName; }, \"{IndexName}\", false);\n body = JSON.stringify(__assign(__assign(__assign({}, (input.Language != null && { Language: input.Language })), (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.Position != null && { Position: serializeAws_restJson1Position(input.Position, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1SearchPlaceIndexForSuggestionsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/places/v0/indexes/{IndexName}/search/suggestions\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"IndexName\", function () { return input.IndexName; }, \"{IndexName}\", false);\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.BiasPosition != null && { BiasPosition: serializeAws_restJson1Position(input.BiasPosition, context) })), (input.FilterBBox != null && { FilterBBox: serializeAws_restJson1BoundingBox(input.FilterBBox, context) })), (input.FilterCountries != null && {\n FilterCountries: serializeAws_restJson1CountryCodeList(input.FilterCountries, context),\n })), (input.Language != null && { Language: input.Language })), (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.Text != null && { Text: input.Text })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1SearchPlaceIndexForTextCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/places/v0/indexes/{IndexName}/search/text\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"IndexName\", function () { return input.IndexName; }, \"{IndexName}\", false);\n body = JSON.stringify(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.BiasPosition != null && { BiasPosition: serializeAws_restJson1Position(input.BiasPosition, context) })), (input.FilterBBox != null && { FilterBBox: serializeAws_restJson1BoundingBox(input.FilterBBox, context) })), (input.FilterCountries != null && {\n FilterCountries: serializeAws_restJson1CountryCodeList(input.FilterCountries, context),\n })), (input.Language != null && { Language: input.Language })), (input.MaxResults != null && { MaxResults: input.MaxResults })), (input.Text != null && { Text: input.Text })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1TagResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tags/{ResourceArn}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"ResourceArn\", function () { return input.ResourceArn; }, \"{ResourceArn}\", false);\n body = JSON.stringify(__assign({}, (input.Tags != null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"metadata.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1UntagResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, query, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {};\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tags/{ResourceArn}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"ResourceArn\", function () { return input.ResourceArn; }, \"{ResourceArn}\", false);\n query = map({\n tagKeys: [function () { return input.TagKeys !== void 0; }, function () { return (input.TagKeys || []).map(function (_entry) { return _entry; }); }],\n });\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"metadata.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\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_restJson1UpdateGeofenceCollectionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") +\n \"/geofencing/v0/collections/{CollectionName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CollectionName\", function () { return input.CollectionName; }, \"{CollectionName}\", false);\n body = JSON.stringify(__assign(__assign(__assign({}, (input.Description != null && { Description: input.Description })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })), (input.PricingPlanDataSource != null && { PricingPlanDataSource: input.PricingPlanDataSource })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"geofencing.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"PATCH\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1UpdateMapCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/maps/v0/maps/{MapName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"MapName\", function () { return input.MapName; }, \"{MapName}\", false);\n body = JSON.stringify(__assign(__assign({}, (input.Description != null && { Description: input.Description })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"maps.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"PATCH\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1UpdatePlaceIndexCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/places/v0/indexes/{IndexName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"IndexName\", function () { return input.IndexName; }, \"{IndexName}\", false);\n body = JSON.stringify(__assign(__assign(__assign({}, (input.DataSourceConfiguration != null && {\n DataSourceConfiguration: serializeAws_restJson1DataSourceConfiguration(input.DataSourceConfiguration, context),\n })), (input.Description != null && { Description: input.Description })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"places.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"PATCH\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1UpdateRouteCalculatorCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/routes/v0/calculators/{CalculatorName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"CalculatorName\", function () { return input.CalculatorName; }, \"{CalculatorName}\", false);\n body = JSON.stringify(__assign(__assign({}, (input.Description != null && { Description: input.Description })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"routes.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"PATCH\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1UpdateTrackerCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, basePath, headers, resolvedPath, body, resolvedHostname;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port, basePath = _a.path;\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"\".concat((basePath === null || basePath === void 0 ? void 0 : basePath.endsWith(\"/\")) ? basePath.slice(0, -1) : basePath || \"\") + \"/tracking/v0/trackers/{TrackerName}\";\n resolvedPath = __resolvedPath(resolvedPath, input, \"TrackerName\", function () { return input.TrackerName; }, \"{TrackerName}\", false);\n body = JSON.stringify(__assign(__assign(__assign(__assign({}, (input.Description != null && { Description: input.Description })), (input.PositionFiltering != null && { PositionFiltering: input.PositionFiltering })), (input.PricingPlan != null && { PricingPlan: input.PricingPlan })), (input.PricingPlanDataSource != null && { PricingPlanDataSource: input.PricingPlanDataSource })));\n return [4, context.endpoint()];\n case 2:\n resolvedHostname = (_c.sent()).hostname;\n if (context.disableHostPrefix !== true) {\n resolvedHostname = \"tracking.\" + resolvedHostname;\n if (!__isValidHostname(resolvedHostname)) {\n throw new Error(\"ValidationError: prefixed hostname must be hostname compatible.\");\n }\n }\n return [2, new __HttpRequest({\n protocol: protocol,\n hostname: resolvedHostname,\n port: port,\n method: \"PATCH\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var deserializeAws_restJson1AssociateTrackerConsumerCommand = 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, deserializeAws_restJson1AssociateTrackerConsumerCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1AssociateTrackerConsumerCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"ConflictException\": return [3, 4];\n case \"com.amazonaws.location#ConflictException\": return [3, 4];\n case \"InternalServerException\": return [3, 6];\n case \"com.amazonaws.location#InternalServerException\": return [3, 6];\n case \"ResourceNotFoundException\": return [3, 8];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 8];\n case \"ServiceQuotaExceededException\": return [3, 10];\n case \"com.amazonaws.location#ServiceQuotaExceededException\": return [3, 10];\n case \"ThrottlingException\": return [3, 12];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 12];\n case \"ValidationException\": return [3, 14];\n case \"com.amazonaws.location#ValidationException\": return [3, 14];\n }\n return [3, 16];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 13: throw _d.sent();\n case 14: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 15: throw _d.sent();\n case 16:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 17;\n case 17: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1BatchDeleteDevicePositionHistoryCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1BatchDeleteDevicePositionHistoryCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Errors != null) {\n contents.Errors = deserializeAws_restJson1BatchDeleteDevicePositionHistoryErrorList(data.Errors, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1BatchDeleteDevicePositionHistoryCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1BatchDeleteGeofenceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1BatchDeleteGeofenceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Errors != null) {\n contents.Errors = deserializeAws_restJson1BatchDeleteGeofenceErrorList(data.Errors, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1BatchDeleteGeofenceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1BatchEvaluateGeofencesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1BatchEvaluateGeofencesCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Errors != null) {\n contents.Errors = deserializeAws_restJson1BatchEvaluateGeofencesErrorList(data.Errors, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1BatchEvaluateGeofencesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1BatchGetDevicePositionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1BatchGetDevicePositionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.DevicePositions != null) {\n contents.DevicePositions = deserializeAws_restJson1DevicePositionList(data.DevicePositions, context);\n }\n if (data.Errors != null) {\n contents.Errors = deserializeAws_restJson1BatchGetDevicePositionErrorList(data.Errors, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1BatchGetDevicePositionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1BatchPutGeofenceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1BatchPutGeofenceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Errors != null) {\n contents.Errors = deserializeAws_restJson1BatchPutGeofenceErrorList(data.Errors, context);\n }\n if (data.Successes != null) {\n contents.Successes = deserializeAws_restJson1BatchPutGeofenceSuccessList(data.Successes, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1BatchPutGeofenceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1BatchUpdateDevicePositionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1BatchUpdateDevicePositionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Errors != null) {\n contents.Errors = deserializeAws_restJson1BatchUpdateDevicePositionErrorList(data.Errors, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1BatchUpdateDevicePositionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1CalculateRouteCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1CalculateRouteCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Legs != null) {\n contents.Legs = deserializeAws_restJson1LegList(data.Legs, context);\n }\n if (data.Summary != null) {\n contents.Summary = deserializeAws_restJson1CalculateRouteSummary(data.Summary, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1CalculateRouteCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1CalculateRouteMatrixCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1CalculateRouteMatrixCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.RouteMatrix != null) {\n contents.RouteMatrix = deserializeAws_restJson1RouteMatrix(data.RouteMatrix, context);\n }\n if (data.SnappedDeparturePositions != null) {\n contents.SnappedDeparturePositions = deserializeAws_restJson1PositionList(data.SnappedDeparturePositions, context);\n }\n if (data.SnappedDestinationPositions != null) {\n contents.SnappedDestinationPositions = deserializeAws_restJson1PositionList(data.SnappedDestinationPositions, context);\n }\n if (data.Summary != null) {\n contents.Summary = deserializeAws_restJson1CalculateRouteMatrixSummary(data.Summary, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1CalculateRouteMatrixCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1CreateGeofenceCollectionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1CreateGeofenceCollectionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CollectionArn != null) {\n contents.CollectionArn = __expectString(data.CollectionArn);\n }\n if (data.CollectionName != null) {\n contents.CollectionName = __expectString(data.CollectionName);\n }\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1CreateGeofenceCollectionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"ConflictException\": return [3, 4];\n case \"com.amazonaws.location#ConflictException\": return [3, 4];\n case \"InternalServerException\": return [3, 6];\n case \"com.amazonaws.location#InternalServerException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1CreateMapCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1CreateMapCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.MapArn != null) {\n contents.MapArn = __expectString(data.MapArn);\n }\n if (data.MapName != null) {\n contents.MapName = __expectString(data.MapName);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1CreateMapCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"ConflictException\": return [3, 4];\n case \"com.amazonaws.location#ConflictException\": return [3, 4];\n case \"InternalServerException\": return [3, 6];\n case \"com.amazonaws.location#InternalServerException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1CreatePlaceIndexCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1CreatePlaceIndexCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.IndexArn != null) {\n contents.IndexArn = __expectString(data.IndexArn);\n }\n if (data.IndexName != null) {\n contents.IndexName = __expectString(data.IndexName);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1CreatePlaceIndexCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"ConflictException\": return [3, 4];\n case \"com.amazonaws.location#ConflictException\": return [3, 4];\n case \"InternalServerException\": return [3, 6];\n case \"com.amazonaws.location#InternalServerException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1CreateRouteCalculatorCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1CreateRouteCalculatorCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CalculatorArn != null) {\n contents.CalculatorArn = __expectString(data.CalculatorArn);\n }\n if (data.CalculatorName != null) {\n contents.CalculatorName = __expectString(data.CalculatorName);\n }\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1CreateRouteCalculatorCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"ConflictException\": return [3, 4];\n case \"com.amazonaws.location#ConflictException\": return [3, 4];\n case \"InternalServerException\": return [3, 6];\n case \"com.amazonaws.location#InternalServerException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1CreateTrackerCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1CreateTrackerCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.TrackerArn != null) {\n contents.TrackerArn = __expectString(data.TrackerArn);\n }\n if (data.TrackerName != null) {\n contents.TrackerName = __expectString(data.TrackerName);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1CreateTrackerCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"ConflictException\": return [3, 4];\n case \"com.amazonaws.location#ConflictException\": return [3, 4];\n case \"InternalServerException\": return [3, 6];\n case \"com.amazonaws.location#InternalServerException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DeleteGeofenceCollectionCommand = 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, deserializeAws_restJson1DeleteGeofenceCollectionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DeleteGeofenceCollectionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DeleteMapCommand = 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, deserializeAws_restJson1DeleteMapCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DeleteMapCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DeletePlaceIndexCommand = 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, deserializeAws_restJson1DeletePlaceIndexCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DeletePlaceIndexCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DeleteRouteCalculatorCommand = 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, deserializeAws_restJson1DeleteRouteCalculatorCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DeleteRouteCalculatorCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DeleteTrackerCommand = 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, deserializeAws_restJson1DeleteTrackerCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DeleteTrackerCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DescribeGeofenceCollectionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1DescribeGeofenceCollectionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CollectionArn != null) {\n contents.CollectionArn = __expectString(data.CollectionArn);\n }\n if (data.CollectionName != null) {\n contents.CollectionName = __expectString(data.CollectionName);\n }\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.Description != null) {\n contents.Description = __expectString(data.Description);\n }\n if (data.KmsKeyId != null) {\n contents.KmsKeyId = __expectString(data.KmsKeyId);\n }\n if (data.PricingPlan != null) {\n contents.PricingPlan = __expectString(data.PricingPlan);\n }\n if (data.PricingPlanDataSource != null) {\n contents.PricingPlanDataSource = __expectString(data.PricingPlanDataSource);\n }\n if (data.Tags != null) {\n contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DescribeGeofenceCollectionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DescribeMapCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1DescribeMapCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Configuration != null) {\n contents.Configuration = deserializeAws_restJson1MapConfiguration(data.Configuration, context);\n }\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.DataSource != null) {\n contents.DataSource = __expectString(data.DataSource);\n }\n if (data.Description != null) {\n contents.Description = __expectString(data.Description);\n }\n if (data.MapArn != null) {\n contents.MapArn = __expectString(data.MapArn);\n }\n if (data.MapName != null) {\n contents.MapName = __expectString(data.MapName);\n }\n if (data.PricingPlan != null) {\n contents.PricingPlan = __expectString(data.PricingPlan);\n }\n if (data.Tags != null) {\n contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DescribeMapCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DescribePlaceIndexCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1DescribePlaceIndexCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.DataSource != null) {\n contents.DataSource = __expectString(data.DataSource);\n }\n if (data.DataSourceConfiguration != null) {\n contents.DataSourceConfiguration = deserializeAws_restJson1DataSourceConfiguration(data.DataSourceConfiguration, context);\n }\n if (data.Description != null) {\n contents.Description = __expectString(data.Description);\n }\n if (data.IndexArn != null) {\n contents.IndexArn = __expectString(data.IndexArn);\n }\n if (data.IndexName != null) {\n contents.IndexName = __expectString(data.IndexName);\n }\n if (data.PricingPlan != null) {\n contents.PricingPlan = __expectString(data.PricingPlan);\n }\n if (data.Tags != null) {\n contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DescribePlaceIndexCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DescribeRouteCalculatorCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1DescribeRouteCalculatorCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CalculatorArn != null) {\n contents.CalculatorArn = __expectString(data.CalculatorArn);\n }\n if (data.CalculatorName != null) {\n contents.CalculatorName = __expectString(data.CalculatorName);\n }\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.DataSource != null) {\n contents.DataSource = __expectString(data.DataSource);\n }\n if (data.Description != null) {\n contents.Description = __expectString(data.Description);\n }\n if (data.PricingPlan != null) {\n contents.PricingPlan = __expectString(data.PricingPlan);\n }\n if (data.Tags != null) {\n contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DescribeRouteCalculatorCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DescribeTrackerCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1DescribeTrackerCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.Description != null) {\n contents.Description = __expectString(data.Description);\n }\n if (data.KmsKeyId != null) {\n contents.KmsKeyId = __expectString(data.KmsKeyId);\n }\n if (data.PositionFiltering != null) {\n contents.PositionFiltering = __expectString(data.PositionFiltering);\n }\n if (data.PricingPlan != null) {\n contents.PricingPlan = __expectString(data.PricingPlan);\n }\n if (data.PricingPlanDataSource != null) {\n contents.PricingPlanDataSource = __expectString(data.PricingPlanDataSource);\n }\n if (data.Tags != null) {\n contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);\n }\n if (data.TrackerArn != null) {\n contents.TrackerArn = __expectString(data.TrackerArn);\n }\n if (data.TrackerName != null) {\n contents.TrackerName = __expectString(data.TrackerName);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DescribeTrackerCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1DisassociateTrackerConsumerCommand = 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, deserializeAws_restJson1DisassociateTrackerConsumerCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1DisassociateTrackerConsumerCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetDevicePositionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1GetDevicePositionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Accuracy != null) {\n contents.Accuracy = deserializeAws_restJson1PositionalAccuracy(data.Accuracy, context);\n }\n if (data.DeviceId != null) {\n contents.DeviceId = __expectString(data.DeviceId);\n }\n if (data.Position != null) {\n contents.Position = deserializeAws_restJson1Position(data.Position, context);\n }\n if (data.PositionProperties != null) {\n contents.PositionProperties = deserializeAws_restJson1PropertyMap(data.PositionProperties, context);\n }\n if (data.ReceivedTime != null) {\n contents.ReceivedTime = __expectNonNull(__parseRfc3339DateTime(data.ReceivedTime));\n }\n if (data.SampleTime != null) {\n contents.SampleTime = __expectNonNull(__parseRfc3339DateTime(data.SampleTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetDevicePositionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetDevicePositionHistoryCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1GetDevicePositionHistoryCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.DevicePositions != null) {\n contents.DevicePositions = deserializeAws_restJson1DevicePositionList(data.DevicePositions, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetDevicePositionHistoryCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetGeofenceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1GetGeofenceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.GeofenceId != null) {\n contents.GeofenceId = __expectString(data.GeofenceId);\n }\n if (data.Geometry != null) {\n contents.Geometry = deserializeAws_restJson1GeofenceGeometry(data.Geometry, context);\n }\n if (data.Status != null) {\n contents.Status = __expectString(data.Status);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetGeofenceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetMapGlyphsCommand = 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, deserializeAws_restJson1GetMapGlyphsCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n ContentType: [, output.headers[\"content-type\"]],\n });\n return [4, collectBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.Blob = data;\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetMapGlyphsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetMapSpritesCommand = 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, deserializeAws_restJson1GetMapSpritesCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n ContentType: [, output.headers[\"content-type\"]],\n });\n return [4, collectBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.Blob = data;\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetMapSpritesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetMapStyleDescriptorCommand = 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, deserializeAws_restJson1GetMapStyleDescriptorCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n ContentType: [, output.headers[\"content-type\"]],\n });\n return [4, collectBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.Blob = data;\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetMapStyleDescriptorCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetMapTileCommand = 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, deserializeAws_restJson1GetMapTileCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n ContentType: [, output.headers[\"content-type\"]],\n });\n return [4, collectBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents.Blob = data;\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetMapTileCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetPlaceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1GetPlaceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Place != null) {\n contents.Place = deserializeAws_restJson1Place(data.Place, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1GetPlaceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListDevicePositionsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListDevicePositionsCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Entries != null) {\n contents.Entries = deserializeAws_restJson1ListDevicePositionsResponseEntryList(data.Entries, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListDevicePositionsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ThrottlingException\": return [3, 6];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 6];\n case \"ValidationException\": return [3, 8];\n case \"com.amazonaws.location#ValidationException\": return [3, 8];\n }\n return [3, 10];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 11;\n case 11: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListGeofenceCollectionsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListGeofenceCollectionsCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Entries != null) {\n contents.Entries = deserializeAws_restJson1ListGeofenceCollectionsResponseEntryList(data.Entries, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListGeofenceCollectionsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ThrottlingException\": return [3, 6];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 6];\n case \"ValidationException\": return [3, 8];\n case \"com.amazonaws.location#ValidationException\": return [3, 8];\n }\n return [3, 10];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 11;\n case 11: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListGeofencesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListGeofencesCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Entries != null) {\n contents.Entries = deserializeAws_restJson1ListGeofenceResponseEntryList(data.Entries, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListGeofencesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListMapsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListMapsCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Entries != null) {\n contents.Entries = deserializeAws_restJson1ListMapsResponseEntryList(data.Entries, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListMapsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ThrottlingException\": return [3, 6];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 6];\n case \"ValidationException\": return [3, 8];\n case \"com.amazonaws.location#ValidationException\": return [3, 8];\n }\n return [3, 10];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 11;\n case 11: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListPlaceIndexesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListPlaceIndexesCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Entries != null) {\n contents.Entries = deserializeAws_restJson1ListPlaceIndexesResponseEntryList(data.Entries, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListPlaceIndexesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ThrottlingException\": return [3, 6];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 6];\n case \"ValidationException\": return [3, 8];\n case \"com.amazonaws.location#ValidationException\": return [3, 8];\n }\n return [3, 10];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 11;\n case 11: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListRouteCalculatorsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListRouteCalculatorsCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Entries != null) {\n contents.Entries = deserializeAws_restJson1ListRouteCalculatorsResponseEntryList(data.Entries, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListRouteCalculatorsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ThrottlingException\": return [3, 6];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 6];\n case \"ValidationException\": return [3, 8];\n case \"com.amazonaws.location#ValidationException\": return [3, 8];\n }\n return [3, 10];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 11;\n case 11: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListTagsForResourceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListTagsForResourceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Tags != null) {\n contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListTagsForResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListTrackerConsumersCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListTrackerConsumersCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.ConsumerArns != null) {\n contents.ConsumerArns = deserializeAws_restJson1ArnList(data.ConsumerArns, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListTrackerConsumersCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1ListTrackersCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1ListTrackersCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Entries != null) {\n contents.Entries = deserializeAws_restJson1ListTrackersResponseEntryList(data.Entries, context);\n }\n if (data.NextToken != null) {\n contents.NextToken = __expectString(data.NextToken);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1ListTrackersCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ThrottlingException\": return [3, 6];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 6];\n case \"ValidationException\": return [3, 8];\n case \"com.amazonaws.location#ValidationException\": return [3, 8];\n }\n return [3, 10];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 11;\n case 11: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1PutGeofenceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1PutGeofenceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CreateTime != null) {\n contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(data.CreateTime));\n }\n if (data.GeofenceId != null) {\n contents.GeofenceId = __expectString(data.GeofenceId);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1PutGeofenceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"ConflictException\": return [3, 4];\n case \"com.amazonaws.location#ConflictException\": return [3, 4];\n case \"InternalServerException\": return [3, 6];\n case \"com.amazonaws.location#InternalServerException\": return [3, 6];\n case \"ResourceNotFoundException\": return [3, 8];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 8];\n case \"ThrottlingException\": return [3, 10];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 10];\n case \"ValidationException\": return [3, 12];\n case \"com.amazonaws.location#ValidationException\": return [3, 12];\n }\n return [3, 14];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 13: throw _d.sent();\n case 14:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 15;\n case 15: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1SearchPlaceIndexForPositionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1SearchPlaceIndexForPositionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Results != null) {\n contents.Results = deserializeAws_restJson1SearchForPositionResultList(data.Results, context);\n }\n if (data.Summary != null) {\n contents.Summary = deserializeAws_restJson1SearchPlaceIndexForPositionSummary(data.Summary, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1SearchPlaceIndexForPositionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Results != null) {\n contents.Results = deserializeAws_restJson1SearchForSuggestionsResultList(data.Results, context);\n }\n if (data.Summary != null) {\n contents.Summary = deserializeAws_restJson1SearchPlaceIndexForSuggestionsSummary(data.Summary, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1SearchPlaceIndexForTextCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1SearchPlaceIndexForTextCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.Results != null) {\n contents.Results = deserializeAws_restJson1SearchForTextResultList(data.Results, context);\n }\n if (data.Summary != null) {\n contents.Summary = deserializeAws_restJson1SearchPlaceIndexForTextSummary(data.Summary, context);\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1SearchPlaceIndexForTextCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1TagResourceCommand = 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, deserializeAws_restJson1TagResourceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1TagResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1UntagResourceCommand = 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, deserializeAws_restJson1UntagResourceCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n return [4, collectBody(output.body, context)];\n case 1:\n _a.sent();\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1UntagResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1UpdateGeofenceCollectionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1UpdateGeofenceCollectionCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CollectionArn != null) {\n contents.CollectionArn = __expectString(data.CollectionArn);\n }\n if (data.CollectionName != null) {\n contents.CollectionName = __expectString(data.CollectionName);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1UpdateGeofenceCollectionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1UpdateMapCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1UpdateMapCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.MapArn != null) {\n contents.MapArn = __expectString(data.MapArn);\n }\n if (data.MapName != null) {\n contents.MapName = __expectString(data.MapName);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1UpdateMapCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1UpdatePlaceIndexCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1UpdatePlaceIndexCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.IndexArn != null) {\n contents.IndexArn = __expectString(data.IndexArn);\n }\n if (data.IndexName != null) {\n contents.IndexName = __expectString(data.IndexName);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1UpdatePlaceIndexCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1UpdateRouteCalculatorCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1UpdateRouteCalculatorCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.CalculatorArn != null) {\n contents.CalculatorArn = __expectString(data.CalculatorArn);\n }\n if (data.CalculatorName != null) {\n contents.CalculatorName = __expectString(data.CalculatorName);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1UpdateRouteCalculatorCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nexport var deserializeAws_restJson1UpdateTrackerCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2, deserializeAws_restJson1UpdateTrackerCommandError(output, context)];\n }\n contents = map({\n $metadata: deserializeMetadata(output),\n });\n _a = __expectNonNull;\n _b = __expectObject;\n return [4, parseBody(output.body, context)];\n case 1:\n data = _a.apply(void 0, [_b.apply(void 0, [_c.sent()]), \"body\"]);\n if (data.TrackerArn != null) {\n contents.TrackerArn = __expectString(data.TrackerArn);\n }\n if (data.TrackerName != null) {\n contents.TrackerName = __expectString(data.TrackerName);\n }\n if (data.UpdateTime != null) {\n contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(data.UpdateTime));\n }\n return [2, contents];\n }\n });\n}); };\nvar deserializeAws_restJson1UpdateTrackerCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, errorCode, _b, parsedBody;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = [__assign({}, output)];\n _c = {};\n return [4, parseErrorBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_c.body = _d.sent(), _c)]));\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"AccessDeniedException\": return [3, 2];\n case \"com.amazonaws.location#AccessDeniedException\": return [3, 2];\n case \"InternalServerException\": return [3, 4];\n case \"com.amazonaws.location#InternalServerException\": return [3, 4];\n case \"ResourceNotFoundException\": return [3, 6];\n case \"com.amazonaws.location#ResourceNotFoundException\": return [3, 6];\n case \"ThrottlingException\": return [3, 8];\n case \"com.amazonaws.location#ThrottlingException\": return [3, 8];\n case \"ValidationException\": return [3, 10];\n case \"com.amazonaws.location#ValidationException\": return [3, 10];\n }\n return [3, 12];\n case 2: return [4, deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)];\n case 3: throw _d.sent();\n case 4: return [4, deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)];\n case 5: throw _d.sent();\n case 6: return [4, deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 7: throw _d.sent();\n case 8: return [4, deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)];\n case 9: throw _d.sent();\n case 10: return [4, deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)];\n case 11: throw _d.sent();\n case 12:\n parsedBody = parsedOutput.body;\n throwDefaultError({\n output: output,\n parsedBody: parsedBody,\n exceptionCtor: __BaseException,\n errorCode: errorCode,\n });\n _d.label = 13;\n case 13: return [2];\n }\n });\n}); };\nvar map = __map;\nvar deserializeAws_restJson1AccessDeniedExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, exception;\n return __generator(this, function (_a) {\n contents = map({});\n data = parsedOutput.body;\n if (data.message != null) {\n contents.Message = __expectString(data.message);\n }\n exception = new AccessDeniedException(__assign({ $metadata: deserializeMetadata(parsedOutput) }, contents));\n return [2, __decorateServiceException(exception, parsedOutput.body)];\n });\n}); };\nvar deserializeAws_restJson1ConflictExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, exception;\n return __generator(this, function (_a) {\n contents = map({});\n data = parsedOutput.body;\n if (data.message != null) {\n contents.Message = __expectString(data.message);\n }\n exception = new ConflictException(__assign({ $metadata: deserializeMetadata(parsedOutput) }, contents));\n return [2, __decorateServiceException(exception, parsedOutput.body)];\n });\n}); };\nvar deserializeAws_restJson1InternalServerExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, exception;\n return __generator(this, function (_a) {\n contents = map({});\n data = parsedOutput.body;\n if (data.message != null) {\n contents.Message = __expectString(data.message);\n }\n exception = new InternalServerException(__assign({ $metadata: deserializeMetadata(parsedOutput) }, contents));\n return [2, __decorateServiceException(exception, parsedOutput.body)];\n });\n}); };\nvar deserializeAws_restJson1ResourceNotFoundExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, exception;\n return __generator(this, function (_a) {\n contents = map({});\n data = parsedOutput.body;\n if (data.message != null) {\n contents.Message = __expectString(data.message);\n }\n exception = new ResourceNotFoundException(__assign({ $metadata: deserializeMetadata(parsedOutput) }, contents));\n return [2, __decorateServiceException(exception, parsedOutput.body)];\n });\n}); };\nvar deserializeAws_restJson1ServiceQuotaExceededExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, exception;\n return __generator(this, function (_a) {\n contents = map({});\n data = parsedOutput.body;\n if (data.message != null) {\n contents.Message = __expectString(data.message);\n }\n exception = new ServiceQuotaExceededException(__assign({ $metadata: deserializeMetadata(parsedOutput) }, contents));\n return [2, __decorateServiceException(exception, parsedOutput.body)];\n });\n}); };\nvar deserializeAws_restJson1ThrottlingExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, exception;\n return __generator(this, function (_a) {\n contents = map({});\n data = parsedOutput.body;\n if (data.message != null) {\n contents.Message = __expectString(data.message);\n }\n exception = new ThrottlingException(__assign({ $metadata: deserializeMetadata(parsedOutput) }, contents));\n return [2, __decorateServiceException(exception, parsedOutput.body)];\n });\n}); };\nvar deserializeAws_restJson1ValidationExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data, exception;\n return __generator(this, function (_a) {\n contents = map({});\n data = parsedOutput.body;\n if (data.fieldList != null) {\n contents.FieldList = deserializeAws_restJson1ValidationExceptionFieldList(data.fieldList, context);\n }\n if (data.message != null) {\n contents.Message = __expectString(data.message);\n }\n if (data.reason != null) {\n contents.Reason = __expectString(data.reason);\n }\n exception = new ValidationException(__assign({ $metadata: deserializeMetadata(parsedOutput) }, contents));\n return [2, __decorateServiceException(exception, parsedOutput.body)];\n });\n}); };\nvar serializeAws_restJson1BatchPutGeofenceRequestEntry = function (input, context) {\n return __assign(__assign({}, (input.GeofenceId != null && { GeofenceId: input.GeofenceId })), (input.Geometry != null && { Geometry: serializeAws_restJson1GeofenceGeometry(input.Geometry, context) }));\n};\nvar serializeAws_restJson1BatchPutGeofenceRequestEntryList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return serializeAws_restJson1BatchPutGeofenceRequestEntry(entry, context);\n });\n};\nvar serializeAws_restJson1BoundingBox = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return __serializeFloat(entry);\n });\n};\nvar serializeAws_restJson1CalculateRouteCarModeOptions = function (input, context) {\n return __assign(__assign({}, (input.AvoidFerries != null && { AvoidFerries: input.AvoidFerries })), (input.AvoidTolls != null && { AvoidTolls: input.AvoidTolls }));\n};\nvar serializeAws_restJson1CalculateRouteTruckModeOptions = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.AvoidFerries != null && { AvoidFerries: input.AvoidFerries })), (input.AvoidTolls != null && { AvoidTolls: input.AvoidTolls })), (input.Dimensions != null && { Dimensions: serializeAws_restJson1TruckDimensions(input.Dimensions, context) })), (input.Weight != null && { Weight: serializeAws_restJson1TruckWeight(input.Weight, context) }));\n};\nvar serializeAws_restJson1Circle = function (input, context) {\n return __assign(__assign({}, (input.Center != null && { Center: serializeAws_restJson1Position(input.Center, context) })), (input.Radius != null && { Radius: __serializeFloat(input.Radius) }));\n};\nvar serializeAws_restJson1CountryCodeList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return entry;\n });\n};\nvar serializeAws_restJson1DataSourceConfiguration = function (input, context) {\n return __assign({}, (input.IntendedUse != null && { IntendedUse: input.IntendedUse }));\n};\nvar serializeAws_restJson1DeviceIdsList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return entry;\n });\n};\nvar serializeAws_restJson1DevicePositionUpdate = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign({}, (input.Accuracy != null && { Accuracy: serializeAws_restJson1PositionalAccuracy(input.Accuracy, context) })), (input.DeviceId != null && { DeviceId: input.DeviceId })), (input.Position != null && { Position: serializeAws_restJson1Position(input.Position, context) })), (input.PositionProperties != null && {\n PositionProperties: serializeAws_restJson1PropertyMap(input.PositionProperties, context),\n })), (input.SampleTime != null && { SampleTime: input.SampleTime.toISOString().split(\".\")[0] + \"Z\" }));\n};\nvar serializeAws_restJson1DevicePositionUpdateList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return serializeAws_restJson1DevicePositionUpdate(entry, context);\n });\n};\nvar serializeAws_restJson1GeofenceGeometry = function (input, context) {\n return __assign(__assign({}, (input.Circle != null && { Circle: serializeAws_restJson1Circle(input.Circle, context) })), (input.Polygon != null && { Polygon: serializeAws_restJson1LinearRings(input.Polygon, context) }));\n};\nvar serializeAws_restJson1IdList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return entry;\n });\n};\nvar serializeAws_restJson1LinearRing = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return serializeAws_restJson1Position(entry, context);\n });\n};\nvar serializeAws_restJson1LinearRings = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return serializeAws_restJson1LinearRing(entry, context);\n });\n};\nvar serializeAws_restJson1MapConfiguration = function (input, context) {\n return __assign({}, (input.Style != null && { Style: input.Style }));\n};\nvar serializeAws_restJson1Position = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return __serializeFloat(entry);\n });\n};\nvar serializeAws_restJson1PositionalAccuracy = function (input, context) {\n return __assign({}, (input.Horizontal != null && { Horizontal: __serializeFloat(input.Horizontal) }));\n};\nvar serializeAws_restJson1PositionList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return serializeAws_restJson1Position(entry, context);\n });\n};\nvar serializeAws_restJson1PropertyMap = 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_restJson1TagMap = 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_restJson1TruckDimensions = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.Height != null && { Height: __serializeFloat(input.Height) })), (input.Length != null && { Length: __serializeFloat(input.Length) })), (input.Unit != null && { Unit: input.Unit })), (input.Width != null && { Width: __serializeFloat(input.Width) }));\n};\nvar serializeAws_restJson1TruckWeight = function (input, context) {\n return __assign(__assign({}, (input.Total != null && { Total: __serializeFloat(input.Total) })), (input.Unit != null && { Unit: input.Unit }));\n};\nvar serializeAws_restJson1WaypointPositionList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n return serializeAws_restJson1Position(entry, context);\n });\n};\nvar deserializeAws_restJson1ArnList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return __expectString(entry);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BatchDeleteDevicePositionHistoryError = function (output, context) {\n return {\n DeviceId: __expectString(output.DeviceId),\n Error: output.Error != null ? deserializeAws_restJson1BatchItemError(output.Error, context) : undefined,\n };\n};\nvar deserializeAws_restJson1BatchDeleteDevicePositionHistoryErrorList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1BatchDeleteDevicePositionHistoryError(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BatchDeleteGeofenceError = function (output, context) {\n return {\n Error: output.Error != null ? deserializeAws_restJson1BatchItemError(output.Error, context) : undefined,\n GeofenceId: __expectString(output.GeofenceId),\n };\n};\nvar deserializeAws_restJson1BatchDeleteGeofenceErrorList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1BatchDeleteGeofenceError(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BatchEvaluateGeofencesError = function (output, context) {\n return {\n DeviceId: __expectString(output.DeviceId),\n Error: output.Error != null ? deserializeAws_restJson1BatchItemError(output.Error, context) : undefined,\n SampleTime: output.SampleTime != null ? __expectNonNull(__parseRfc3339DateTime(output.SampleTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1BatchEvaluateGeofencesErrorList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1BatchEvaluateGeofencesError(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BatchGetDevicePositionError = function (output, context) {\n return {\n DeviceId: __expectString(output.DeviceId),\n Error: output.Error != null ? deserializeAws_restJson1BatchItemError(output.Error, context) : undefined,\n };\n};\nvar deserializeAws_restJson1BatchGetDevicePositionErrorList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1BatchGetDevicePositionError(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BatchItemError = function (output, context) {\n return {\n Code: __expectString(output.Code),\n Message: __expectString(output.Message),\n };\n};\nvar deserializeAws_restJson1BatchPutGeofenceError = function (output, context) {\n return {\n Error: output.Error != null ? deserializeAws_restJson1BatchItemError(output.Error, context) : undefined,\n GeofenceId: __expectString(output.GeofenceId),\n };\n};\nvar deserializeAws_restJson1BatchPutGeofenceErrorList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1BatchPutGeofenceError(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BatchPutGeofenceSuccess = function (output, context) {\n return {\n CreateTime: output.CreateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.CreateTime)) : undefined,\n GeofenceId: __expectString(output.GeofenceId),\n UpdateTime: output.UpdateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.UpdateTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1BatchPutGeofenceSuccessList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1BatchPutGeofenceSuccess(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BatchUpdateDevicePositionError = function (output, context) {\n return {\n DeviceId: __expectString(output.DeviceId),\n Error: output.Error != null ? deserializeAws_restJson1BatchItemError(output.Error, context) : undefined,\n SampleTime: output.SampleTime != null ? __expectNonNull(__parseRfc3339DateTime(output.SampleTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1BatchUpdateDevicePositionErrorList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1BatchUpdateDevicePositionError(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1BoundingBox = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return __limitedParseDouble(entry);\n });\n return retVal;\n};\nvar deserializeAws_restJson1CalculateRouteMatrixSummary = function (output, context) {\n return {\n DataSource: __expectString(output.DataSource),\n DistanceUnit: __expectString(output.DistanceUnit),\n ErrorCount: __expectInt32(output.ErrorCount),\n RouteCount: __expectInt32(output.RouteCount),\n };\n};\nvar deserializeAws_restJson1CalculateRouteSummary = function (output, context) {\n return {\n DataSource: __expectString(output.DataSource),\n Distance: __limitedParseDouble(output.Distance),\n DistanceUnit: __expectString(output.DistanceUnit),\n DurationSeconds: __limitedParseDouble(output.DurationSeconds),\n RouteBBox: output.RouteBBox != null ? deserializeAws_restJson1BoundingBox(output.RouteBBox, context) : undefined,\n };\n};\nvar deserializeAws_restJson1Circle = function (output, context) {\n return {\n Center: output.Center != null ? deserializeAws_restJson1Position(output.Center, context) : undefined,\n Radius: __limitedParseDouble(output.Radius),\n };\n};\nvar deserializeAws_restJson1CountryCodeList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return __expectString(entry);\n });\n return retVal;\n};\nvar deserializeAws_restJson1DataSourceConfiguration = function (output, context) {\n return {\n IntendedUse: __expectString(output.IntendedUse),\n };\n};\nvar deserializeAws_restJson1DevicePosition = function (output, context) {\n return {\n Accuracy: output.Accuracy != null ? deserializeAws_restJson1PositionalAccuracy(output.Accuracy, context) : undefined,\n DeviceId: __expectString(output.DeviceId),\n Position: output.Position != null ? deserializeAws_restJson1Position(output.Position, context) : undefined,\n PositionProperties: output.PositionProperties != null\n ? deserializeAws_restJson1PropertyMap(output.PositionProperties, context)\n : undefined,\n ReceivedTime: output.ReceivedTime != null ? __expectNonNull(__parseRfc3339DateTime(output.ReceivedTime)) : undefined,\n SampleTime: output.SampleTime != null ? __expectNonNull(__parseRfc3339DateTime(output.SampleTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1DevicePositionList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1DevicePosition(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1GeofenceGeometry = function (output, context) {\n return {\n Circle: output.Circle != null ? deserializeAws_restJson1Circle(output.Circle, context) : undefined,\n Polygon: output.Polygon != null ? deserializeAws_restJson1LinearRings(output.Polygon, context) : undefined,\n };\n};\nvar deserializeAws_restJson1Leg = function (output, context) {\n return {\n Distance: __limitedParseDouble(output.Distance),\n DurationSeconds: __limitedParseDouble(output.DurationSeconds),\n EndPosition: output.EndPosition != null ? deserializeAws_restJson1Position(output.EndPosition, context) : undefined,\n Geometry: output.Geometry != null ? deserializeAws_restJson1LegGeometry(output.Geometry, context) : undefined,\n StartPosition: output.StartPosition != null ? deserializeAws_restJson1Position(output.StartPosition, context) : undefined,\n Steps: output.Steps != null ? deserializeAws_restJson1StepList(output.Steps, context) : undefined,\n };\n};\nvar deserializeAws_restJson1LegGeometry = function (output, context) {\n return {\n LineString: output.LineString != null ? deserializeAws_restJson1LineString(output.LineString, context) : undefined,\n };\n};\nvar deserializeAws_restJson1LegList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1Leg(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1LinearRing = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1Position(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1LinearRings = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1LinearRing(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1LineString = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1Position(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1ListDevicePositionsResponseEntry = function (output, context) {\n return {\n Accuracy: output.Accuracy != null ? deserializeAws_restJson1PositionalAccuracy(output.Accuracy, context) : undefined,\n DeviceId: __expectString(output.DeviceId),\n Position: output.Position != null ? deserializeAws_restJson1Position(output.Position, context) : undefined,\n PositionProperties: output.PositionProperties != null\n ? deserializeAws_restJson1PropertyMap(output.PositionProperties, context)\n : undefined,\n SampleTime: output.SampleTime != null ? __expectNonNull(__parseRfc3339DateTime(output.SampleTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1ListDevicePositionsResponseEntryList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ListDevicePositionsResponseEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1ListGeofenceCollectionsResponseEntry = function (output, context) {\n return {\n CollectionName: __expectString(output.CollectionName),\n CreateTime: output.CreateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.CreateTime)) : undefined,\n Description: __expectString(output.Description),\n PricingPlan: __expectString(output.PricingPlan),\n PricingPlanDataSource: __expectString(output.PricingPlanDataSource),\n UpdateTime: output.UpdateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.UpdateTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1ListGeofenceCollectionsResponseEntryList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ListGeofenceCollectionsResponseEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1ListGeofenceResponseEntry = function (output, context) {\n return {\n CreateTime: output.CreateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.CreateTime)) : undefined,\n GeofenceId: __expectString(output.GeofenceId),\n Geometry: output.Geometry != null ? deserializeAws_restJson1GeofenceGeometry(output.Geometry, context) : undefined,\n Status: __expectString(output.Status),\n UpdateTime: output.UpdateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.UpdateTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1ListGeofenceResponseEntryList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ListGeofenceResponseEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1ListMapsResponseEntry = function (output, context) {\n return {\n CreateTime: output.CreateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.CreateTime)) : undefined,\n DataSource: __expectString(output.DataSource),\n Description: __expectString(output.Description),\n MapName: __expectString(output.MapName),\n PricingPlan: __expectString(output.PricingPlan),\n UpdateTime: output.UpdateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.UpdateTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1ListMapsResponseEntryList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ListMapsResponseEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1ListPlaceIndexesResponseEntry = function (output, context) {\n return {\n CreateTime: output.CreateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.CreateTime)) : undefined,\n DataSource: __expectString(output.DataSource),\n Description: __expectString(output.Description),\n IndexName: __expectString(output.IndexName),\n PricingPlan: __expectString(output.PricingPlan),\n UpdateTime: output.UpdateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.UpdateTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1ListPlaceIndexesResponseEntryList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ListPlaceIndexesResponseEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1ListRouteCalculatorsResponseEntry = function (output, context) {\n return {\n CalculatorName: __expectString(output.CalculatorName),\n CreateTime: output.CreateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.CreateTime)) : undefined,\n DataSource: __expectString(output.DataSource),\n Description: __expectString(output.Description),\n PricingPlan: __expectString(output.PricingPlan),\n UpdateTime: output.UpdateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.UpdateTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1ListRouteCalculatorsResponseEntryList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ListRouteCalculatorsResponseEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1ListTrackersResponseEntry = function (output, context) {\n return {\n CreateTime: output.CreateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.CreateTime)) : undefined,\n Description: __expectString(output.Description),\n PricingPlan: __expectString(output.PricingPlan),\n PricingPlanDataSource: __expectString(output.PricingPlanDataSource),\n TrackerName: __expectString(output.TrackerName),\n UpdateTime: output.UpdateTime != null ? __expectNonNull(__parseRfc3339DateTime(output.UpdateTime)) : undefined,\n };\n};\nvar deserializeAws_restJson1ListTrackersResponseEntryList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ListTrackersResponseEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1MapConfiguration = function (output, context) {\n return {\n Style: __expectString(output.Style),\n };\n};\nvar deserializeAws_restJson1Place = function (output, context) {\n return {\n AddressNumber: __expectString(output.AddressNumber),\n Country: __expectString(output.Country),\n Geometry: output.Geometry != null ? deserializeAws_restJson1PlaceGeometry(output.Geometry, context) : undefined,\n Interpolated: __expectBoolean(output.Interpolated),\n Label: __expectString(output.Label),\n Municipality: __expectString(output.Municipality),\n Neighborhood: __expectString(output.Neighborhood),\n PostalCode: __expectString(output.PostalCode),\n Region: __expectString(output.Region),\n Street: __expectString(output.Street),\n SubRegion: __expectString(output.SubRegion),\n TimeZone: output.TimeZone != null ? deserializeAws_restJson1TimeZone(output.TimeZone, context) : undefined,\n UnitNumber: __expectString(output.UnitNumber),\n UnitType: __expectString(output.UnitType),\n };\n};\nvar deserializeAws_restJson1PlaceGeometry = function (output, context) {\n return {\n Point: output.Point != null ? deserializeAws_restJson1Position(output.Point, context) : undefined,\n };\n};\nvar deserializeAws_restJson1Position = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return __limitedParseDouble(entry);\n });\n return retVal;\n};\nvar deserializeAws_restJson1PositionalAccuracy = function (output, context) {\n return {\n Horizontal: __limitedParseDouble(output.Horizontal),\n };\n};\nvar deserializeAws_restJson1PositionList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1Position(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1PropertyMap = 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] = __expectString(value), _b));\n }, {});\n};\nvar deserializeAws_restJson1RouteMatrix = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1RouteMatrixRow(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1RouteMatrixEntry = function (output, context) {\n return {\n Distance: __limitedParseDouble(output.Distance),\n DurationSeconds: __limitedParseDouble(output.DurationSeconds),\n Error: output.Error != null ? deserializeAws_restJson1RouteMatrixEntryError(output.Error, context) : undefined,\n };\n};\nvar deserializeAws_restJson1RouteMatrixEntryError = function (output, context) {\n return {\n Code: __expectString(output.Code),\n Message: __expectString(output.Message),\n };\n};\nvar deserializeAws_restJson1RouteMatrixRow = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1RouteMatrixEntry(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1SearchForPositionResult = function (output, context) {\n return {\n Distance: __limitedParseDouble(output.Distance),\n Place: output.Place != null ? deserializeAws_restJson1Place(output.Place, context) : undefined,\n PlaceId: __expectString(output.PlaceId),\n };\n};\nvar deserializeAws_restJson1SearchForPositionResultList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1SearchForPositionResult(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1SearchForSuggestionsResult = function (output, context) {\n return {\n PlaceId: __expectString(output.PlaceId),\n Text: __expectString(output.Text),\n };\n};\nvar deserializeAws_restJson1SearchForSuggestionsResultList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1SearchForSuggestionsResult(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1SearchForTextResult = function (output, context) {\n return {\n Distance: __limitedParseDouble(output.Distance),\n Place: output.Place != null ? deserializeAws_restJson1Place(output.Place, context) : undefined,\n PlaceId: __expectString(output.PlaceId),\n Relevance: __limitedParseDouble(output.Relevance),\n };\n};\nvar deserializeAws_restJson1SearchForTextResultList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1SearchForTextResult(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1SearchPlaceIndexForPositionSummary = function (output, context) {\n return {\n DataSource: __expectString(output.DataSource),\n Language: __expectString(output.Language),\n MaxResults: __expectInt32(output.MaxResults),\n Position: output.Position != null ? deserializeAws_restJson1Position(output.Position, context) : undefined,\n };\n};\nvar deserializeAws_restJson1SearchPlaceIndexForSuggestionsSummary = function (output, context) {\n return {\n BiasPosition: output.BiasPosition != null ? deserializeAws_restJson1Position(output.BiasPosition, context) : undefined,\n DataSource: __expectString(output.DataSource),\n FilterBBox: output.FilterBBox != null ? deserializeAws_restJson1BoundingBox(output.FilterBBox, context) : undefined,\n FilterCountries: output.FilterCountries != null\n ? deserializeAws_restJson1CountryCodeList(output.FilterCountries, context)\n : undefined,\n Language: __expectString(output.Language),\n MaxResults: __expectInt32(output.MaxResults),\n Text: __expectString(output.Text),\n };\n};\nvar deserializeAws_restJson1SearchPlaceIndexForTextSummary = function (output, context) {\n return {\n BiasPosition: output.BiasPosition != null ? deserializeAws_restJson1Position(output.BiasPosition, context) : undefined,\n DataSource: __expectString(output.DataSource),\n FilterBBox: output.FilterBBox != null ? deserializeAws_restJson1BoundingBox(output.FilterBBox, context) : undefined,\n FilterCountries: output.FilterCountries != null\n ? deserializeAws_restJson1CountryCodeList(output.FilterCountries, context)\n : undefined,\n Language: __expectString(output.Language),\n MaxResults: __expectInt32(output.MaxResults),\n ResultBBox: output.ResultBBox != null ? deserializeAws_restJson1BoundingBox(output.ResultBBox, context) : undefined,\n Text: __expectString(output.Text),\n };\n};\nvar deserializeAws_restJson1Step = function (output, context) {\n return {\n Distance: __limitedParseDouble(output.Distance),\n DurationSeconds: __limitedParseDouble(output.DurationSeconds),\n EndPosition: output.EndPosition != null ? deserializeAws_restJson1Position(output.EndPosition, context) : undefined,\n GeometryOffset: __expectInt32(output.GeometryOffset),\n StartPosition: output.StartPosition != null ? deserializeAws_restJson1Position(output.StartPosition, context) : undefined,\n };\n};\nvar deserializeAws_restJson1StepList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1Step(entry, context);\n });\n return retVal;\n};\nvar deserializeAws_restJson1TagMap = 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] = __expectString(value), _b));\n }, {});\n};\nvar deserializeAws_restJson1TimeZone = function (output, context) {\n return {\n Name: __expectString(output.Name),\n Offset: __expectInt32(output.Offset),\n };\n};\nvar deserializeAws_restJson1ValidationExceptionField = function (output, context) {\n return {\n Message: __expectString(output.message),\n Name: __expectString(output.name),\n };\n};\nvar deserializeAws_restJson1ValidationExceptionFieldList = function (output, context) {\n var retVal = (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ValidationExceptionField(entry, context);\n });\n return retVal;\n};\nvar deserializeMetadata = function (output) {\n var _a, _b;\n return ({\n httpStatusCode: output.statusCode,\n requestId: (_b = (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"]) !== null && _b !== void 0 ? _b : output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n });\n};\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};\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 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};\nvar parseErrorBody = function (errorBody, context) { return __awaiter(void 0, void 0, void 0, function () {\n var value;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4, parseBody(errorBody, context)];\n case 1:\n value = _b.sent();\n value.message = (_a = value.message) !== null && _a !== void 0 ? _a : value.Message;\n return [2, value];\n }\n });\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 (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\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};\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { SearchPlaceIndexForTextRequestFilterSensitiveLog, SearchPlaceIndexForTextResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1SearchPlaceIndexForTextCommand, serializeAws_restJson1SearchPlaceIndexForTextCommand, } from \"../protocols/Aws_restJson1\";\nvar SearchPlaceIndexForTextCommand = (function (_super) {\n __extends(SearchPlaceIndexForTextCommand, _super);\n function SearchPlaceIndexForTextCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n SearchPlaceIndexForTextCommand.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 = \"LocationClient\";\n var commandName = \"SearchPlaceIndexForTextCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: SearchPlaceIndexForTextRequestFilterSensitiveLog,\n outputFilterSensitiveLog: SearchPlaceIndexForTextResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n SearchPlaceIndexForTextCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1SearchPlaceIndexForTextCommand(input, context);\n };\n SearchPlaceIndexForTextCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1SearchPlaceIndexForTextCommand(output, context);\n };\n return SearchPlaceIndexForTextCommand;\n}($Command));\nexport { SearchPlaceIndexForTextCommand };\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { SearchPlaceIndexForSuggestionsRequestFilterSensitiveLog, SearchPlaceIndexForSuggestionsResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommand, serializeAws_restJson1SearchPlaceIndexForSuggestionsCommand, } from \"../protocols/Aws_restJson1\";\nvar SearchPlaceIndexForSuggestionsCommand = (function (_super) {\n __extends(SearchPlaceIndexForSuggestionsCommand, _super);\n function SearchPlaceIndexForSuggestionsCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n SearchPlaceIndexForSuggestionsCommand.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 = \"LocationClient\";\n var commandName = \"SearchPlaceIndexForSuggestionsCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: SearchPlaceIndexForSuggestionsRequestFilterSensitiveLog,\n outputFilterSensitiveLog: SearchPlaceIndexForSuggestionsResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n SearchPlaceIndexForSuggestionsCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1SearchPlaceIndexForSuggestionsCommand(input, context);\n };\n SearchPlaceIndexForSuggestionsCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommand(output, context);\n };\n return SearchPlaceIndexForSuggestionsCommand;\n}($Command));\nexport { SearchPlaceIndexForSuggestionsCommand };\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { GetPlaceRequestFilterSensitiveLog, GetPlaceResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1GetPlaceCommand, serializeAws_restJson1GetPlaceCommand, } from \"../protocols/Aws_restJson1\";\nvar GetPlaceCommand = (function (_super) {\n __extends(GetPlaceCommand, _super);\n function GetPlaceCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n GetPlaceCommand.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 = \"LocationClient\";\n var commandName = \"GetPlaceCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: GetPlaceRequestFilterSensitiveLog,\n outputFilterSensitiveLog: GetPlaceResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n GetPlaceCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1GetPlaceCommand(input, context);\n };\n GetPlaceCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1GetPlaceCommand(output, context);\n };\n return GetPlaceCommand;\n}($Command));\nexport { GetPlaceCommand };\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { SearchPlaceIndexForPositionRequestFilterSensitiveLog, SearchPlaceIndexForPositionResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1SearchPlaceIndexForPositionCommand, serializeAws_restJson1SearchPlaceIndexForPositionCommand, } from \"../protocols/Aws_restJson1\";\nvar SearchPlaceIndexForPositionCommand = (function (_super) {\n __extends(SearchPlaceIndexForPositionCommand, _super);\n function SearchPlaceIndexForPositionCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n SearchPlaceIndexForPositionCommand.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 = \"LocationClient\";\n var commandName = \"SearchPlaceIndexForPositionCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: SearchPlaceIndexForPositionRequestFilterSensitiveLog,\n outputFilterSensitiveLog: SearchPlaceIndexForPositionResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n SearchPlaceIndexForPositionCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1SearchPlaceIndexForPositionCommand(input, context);\n };\n SearchPlaceIndexForPositionCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1SearchPlaceIndexForPositionCommand(output, context);\n };\n return SearchPlaceIndexForPositionCommand;\n}($Command));\nexport { SearchPlaceIndexForPositionCommand };\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { GetGeofenceRequestFilterSensitiveLog, GetGeofenceResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1GetGeofenceCommand, serializeAws_restJson1GetGeofenceCommand, } from \"../protocols/Aws_restJson1\";\nvar GetGeofenceCommand = (function (_super) {\n __extends(GetGeofenceCommand, _super);\n function GetGeofenceCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n GetGeofenceCommand.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 = \"LocationClient\";\n var commandName = \"GetGeofenceCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: GetGeofenceRequestFilterSensitiveLog,\n outputFilterSensitiveLog: GetGeofenceResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n GetGeofenceCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1GetGeofenceCommand(input, context);\n };\n GetGeofenceCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1GetGeofenceCommand(output, context);\n };\n return GetGeofenceCommand;\n}($Command));\nexport { GetGeofenceCommand };\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { ListGeofencesRequestFilterSensitiveLog, ListGeofencesResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1ListGeofencesCommand, serializeAws_restJson1ListGeofencesCommand, } from \"../protocols/Aws_restJson1\";\nvar ListGeofencesCommand = (function (_super) {\n __extends(ListGeofencesCommand, _super);\n function ListGeofencesCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n ListGeofencesCommand.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 = \"LocationClient\";\n var commandName = \"ListGeofencesCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: ListGeofencesRequestFilterSensitiveLog,\n outputFilterSensitiveLog: ListGeofencesResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n ListGeofencesCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1ListGeofencesCommand(input, context);\n };\n ListGeofencesCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1ListGeofencesCommand(output, context);\n };\n return ListGeofencesCommand;\n}($Command));\nexport { ListGeofencesCommand };\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { BatchPutGeofenceRequestFilterSensitiveLog, BatchPutGeofenceResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1BatchPutGeofenceCommand, serializeAws_restJson1BatchPutGeofenceCommand, } from \"../protocols/Aws_restJson1\";\nvar BatchPutGeofenceCommand = (function (_super) {\n __extends(BatchPutGeofenceCommand, _super);\n function BatchPutGeofenceCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n BatchPutGeofenceCommand.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 = \"LocationClient\";\n var commandName = \"BatchPutGeofenceCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: BatchPutGeofenceRequestFilterSensitiveLog,\n outputFilterSensitiveLog: BatchPutGeofenceResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n BatchPutGeofenceCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1BatchPutGeofenceCommand(input, context);\n };\n BatchPutGeofenceCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1BatchPutGeofenceCommand(output, context);\n };\n return BatchPutGeofenceCommand;\n}($Command));\nexport { BatchPutGeofenceCommand };\n","import { __extends } from \"tslib\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport { BatchDeleteGeofenceRequestFilterSensitiveLog, BatchDeleteGeofenceResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { deserializeAws_restJson1BatchDeleteGeofenceCommand, serializeAws_restJson1BatchDeleteGeofenceCommand, } from \"../protocols/Aws_restJson1\";\nvar BatchDeleteGeofenceCommand = (function (_super) {\n __extends(BatchDeleteGeofenceCommand, _super);\n function BatchDeleteGeofenceCommand(input) {\n var _this = _super.call(this) || this;\n _this.input = input;\n return _this;\n }\n BatchDeleteGeofenceCommand.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 = \"LocationClient\";\n var commandName = \"BatchDeleteGeofenceCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: BatchDeleteGeofenceRequestFilterSensitiveLog,\n outputFilterSensitiveLog: BatchDeleteGeofenceResponseFilterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n BatchDeleteGeofenceCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1BatchDeleteGeofenceCommand(input, context);\n };\n BatchDeleteGeofenceCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1BatchDeleteGeofenceCommand(output, context);\n };\n return BatchDeleteGeofenceCommand;\n}($Command));\nexport { BatchDeleteGeofenceCommand };\n","import { getCoords } from \"@turf/invariant\";\n/**\n * Takes a ring and return true or false whether or not the ring is clockwise or counter-clockwise.\n *\n * @name booleanClockwise\n * @param {Feature<LineString>|LineString|Array<Array<number>>} line to be evaluated\n * @returns {boolean} true/false\n * @example\n * var clockwiseRing = turf.lineString([[0,0],[1,1],[1,0],[0,0]]);\n * var counterClockwiseRing = turf.lineString([[0,0],[1,0],[1,1],[0,0]]);\n *\n * turf.booleanClockwise(clockwiseRing)\n * //=true\n * turf.booleanClockwise(counterClockwiseRing)\n * //=false\n */\nexport default function booleanClockwise(line) {\n var ring = getCoords(line);\n var sum = 0;\n var i = 1;\n var prev;\n var cur;\n while (i < ring.length) {\n prev = cur || ring[0];\n cur = ring[i];\n sum += (cur[0] - prev[0]) * (cur[1] + prev[1]);\n i++;\n }\n return sum > 0;\n}\n","import { isNumber, } from \"@turf/helpers\";\n/**\n * Unwrap a coordinate from a Point Feature, Geometry or a single coordinate.\n *\n * @name getCoord\n * @param {Array<number>|Geometry<Point>|Feature<Point>} coord GeoJSON Point or an Array of numbers\n * @returns {Array<number>} coordinates\n * @example\n * var pt = turf.point([10, 10]);\n *\n * var coord = turf.getCoord(pt);\n * //= [10, 10]\n */\nexport function getCoord(coord) {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n if (!Array.isArray(coord)) {\n if (coord.type === \"Feature\" &&\n coord.geometry !== null &&\n coord.geometry.type === \"Point\") {\n return coord.geometry.coordinates;\n }\n if (coord.type === \"Point\") {\n return coord.coordinates;\n }\n }\n if (Array.isArray(coord) &&\n coord.length >= 2 &&\n !Array.isArray(coord[0]) &&\n !Array.isArray(coord[1])) {\n return coord;\n }\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\n/**\n * Unwrap coordinates from a Feature, Geometry Object or an Array\n *\n * @name getCoords\n * @param {Array<any>|Geometry|Feature} coords Feature, Geometry Object or an Array\n * @returns {Array<any>} coordinates\n * @example\n * var poly = turf.polygon([[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]);\n *\n * var coords = turf.getCoords(poly);\n * //= [[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]\n */\nexport function getCoords(coords) {\n if (Array.isArray(coords)) {\n return coords;\n }\n // Feature\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n }\n else {\n // Geometry\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n throw new Error(\"coords must be GeoJSON Feature, Geometry Object or an Array\");\n}\n/**\n * Checks if coordinates contains a number\n *\n * @name containsNumber\n * @param {Array<any>} coordinates GeoJSON Coordinates\n * @returns {boolean} true if Array contains a number\n */\nexport function containsNumber(coordinates) {\n if (coordinates.length > 1 &&\n isNumber(coordinates[0]) &&\n isNumber(coordinates[1])) {\n return true;\n }\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\n/**\n * Enforce expectations about types of GeoJSON objects for Turf.\n *\n * @name geojsonType\n * @param {GeoJSON} value any GeoJSON object\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nexport function geojsonType(value, type, name) {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n if (!value || value.type !== type) {\n throw new Error(\"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n value.type);\n }\n}\n/**\n * Enforce expectations about types of {@link Feature} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @name featureOf\n * @param {Feature} feature a feature with an expected geometry type\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} error if value is not the expected type.\n */\nexport function featureOf(feature, type, name) {\n if (!feature) {\n throw new Error(\"No feature passed\");\n }\n if (!name) {\n throw new Error(\".featureOf() requires a name\");\n }\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\"Invalid input to \" + name + \", Feature with geometry required\");\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n feature.geometry.type);\n }\n}\n/**\n * Enforce expectations about types of {@link FeatureCollection} inputs for Turf.\n * Internally this uses {@link geojsonType} to judge geometry types.\n *\n * @name collectionOf\n * @param {FeatureCollection} featureCollection a FeatureCollection for which features will be judged\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nexport function collectionOf(featureCollection, type, name) {\n if (!featureCollection) {\n throw new Error(\"No featureCollection passed\");\n }\n if (!name) {\n throw new Error(\".collectionOf() requires a name\");\n }\n if (!featureCollection || featureCollection.type !== \"FeatureCollection\") {\n throw new Error(\"Invalid input to \" + name + \", FeatureCollection required\");\n }\n for (var _i = 0, _a = featureCollection.features; _i < _a.length; _i++) {\n var feature = _a[_i];\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\"Invalid input to \" + name + \", Feature with geometry required\");\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\"Invalid input to \" +\n name +\n \": must be a \" +\n type +\n \", given \" +\n feature.geometry.type);\n }\n }\n}\n/**\n * Get Geometry from Feature or Geometry Object\n *\n * @param {Feature|Geometry} geojson GeoJSON Feature or Geometry Object\n * @returns {Geometry|null} GeoJSON Geometry Object\n * @throws {Error} if geojson is not a Feature or Geometry Object\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getGeom(point)\n * //={\"type\": \"Point\", \"coordinates\": [110, 40]}\n */\nexport function getGeom(geojson) {\n if (geojson.type === \"Feature\") {\n return geojson.geometry;\n }\n return geojson;\n}\n/**\n * Get GeoJSON object's type, Geometry type is prioritize.\n *\n * @param {GeoJSON} geojson GeoJSON object\n * @param {string} [name=\"geojson\"] name of the variable to display in error message (unused)\n * @returns {string} GeoJSON type\n * @example\n * var point = {\n * \"type\": \"Feature\",\n * \"properties\": {},\n * \"geometry\": {\n * \"type\": \"Point\",\n * \"coordinates\": [110, 40]\n * }\n * }\n * var geom = turf.getType(point)\n * //=\"Point\"\n */\nexport function getType(geojson, _name) {\n if (geojson.type === \"FeatureCollection\") {\n return \"FeatureCollection\";\n }\n if (geojson.type === \"GeometryCollection\") {\n return \"GeometryCollection\";\n }\n if (geojson.type === \"Feature\" && geojson.geometry !== null) {\n return geojson.geometry.type;\n }\n return geojson.type;\n}\n",null,null,null,"import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport const fromUtf8 = (input) => typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\nexport const toUtf8 = (input) => typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n","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","export const fromUtf8 = (input) => {\n const bytes = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push((surrogatePair >> 18) | 0b11110000, ((surrogatePair >> 12) & 0b111111) | 0b10000000, ((surrogatePair >> 6) & 0b111111) | 0b10000000, (surrogatePair & 0b111111) | 0b10000000);\n }\n else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n return Uint8Array.from(bytes);\n};\nexport const toUtf8 = (input) => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n }\n else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111));\n }\n }\n return decoded;\n};\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport const fromUtf8 = (input) => typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\nexport const toUtf8 = (input) => typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n","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","export const fromUtf8 = (input) => {\n const bytes = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push((surrogatePair >> 18) | 0b11110000, ((surrogatePair >> 12) & 0b111111) | 0b10000000, ((surrogatePair >> 6) & 0b111111) | 0b10000000, (surrogatePair & 0b111111) | 0b10000000);\n }\n else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n return Uint8Array.from(bytes);\n};\nexport const toUtf8 = (input) => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n }\n else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111));\n }\n }\n return decoded;\n};\n"],"sourceRoot":""}
|