@etainabl/nodejs-sdk 1.3.167 → 1.3.174
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/dist/esm/{chunk-IMDTX6W5.js → chunk-3G3VXGQN.js} +4 -4
- package/dist/esm/{chunk-YFU6P2WU.js → chunk-4G647IUM.js} +2 -2
- package/dist/esm/{chunk-STQV3LF2.js → chunk-4JDZJVKZ.js} +2 -2
- package/dist/esm/{chunk-ZW5YT27C.js → chunk-CRX53WMM.js} +100 -47
- package/dist/esm/chunk-CRX53WMM.js.map +1 -0
- package/dist/esm/{chunk-JI6PVVK3.js → chunk-D74LA2XQ.js} +73 -39
- package/dist/esm/chunk-D74LA2XQ.js.map +1 -0
- package/dist/esm/{chunk-COGWOFTA.js → chunk-HR3W7R4B.js} +393 -542
- package/dist/esm/chunk-HR3W7R4B.js.map +1 -0
- package/dist/esm/{chunk-R2ZTENKB.js → chunk-IX2LY325.js} +4 -3
- package/dist/esm/chunk-IX2LY325.js.map +1 -0
- package/dist/esm/{chunk-72KZNKH6.js → chunk-KWPO3OOT.js} +6 -6
- package/dist/esm/{chunk-3J7VUCCC.js → chunk-UR6FJOYI.js} +12 -10
- package/dist/esm/chunk-UR6FJOYI.js.map +1 -0
- package/dist/esm/{chunk-LARQKHST.js → chunk-XARQOPCZ.js} +2 -2
- package/dist/esm/{chunk-STDLTQUB.js → chunk-YLT3BSXS.js} +2 -2
- package/dist/esm/{chunk-KH6HADHN.js → chunk-Z63CAAFL.js} +14 -2
- package/dist/esm/chunk-Z63CAAFL.js.map +1 -0
- package/dist/esm/{dist-es-LSJVIQHH.js → dist-es-5JWI4CRR.js} +6 -6
- package/dist/esm/{dist-es-RLY6WB4O.js → dist-es-JA6GH4HX.js} +3 -3
- package/dist/esm/{dist-es-DNTTNOP2.js → dist-es-JPDE6SED.js} +7 -6
- package/dist/esm/dist-es-JPDE6SED.js.map +1 -0
- package/dist/esm/{dist-es-4M6QLI3Z.js → dist-es-LLOEQMJI.js} +4 -6
- package/dist/esm/{dist-es-4M6QLI3Z.js.map → dist-es-LLOEQMJI.js.map} +1 -1
- package/dist/esm/{dist-es-QLMS2EJQ.js → dist-es-MHVHZTM3.js} +3 -3
- package/dist/esm/{dist-es-VW2LACDX.js → dist-es-QWNQVMYC.js} +13 -43
- package/dist/esm/dist-es-QWNQVMYC.js.map +1 -0
- package/dist/esm/{dist-es-OELE3ZU6.js → dist-es-XOZGODLE.js} +13 -15
- package/dist/esm/{dist-es-OELE3ZU6.js.map → dist-es-XOZGODLE.js.map} +1 -1
- package/dist/esm/{event-streams-JLZWM2TX.js → event-streams-XQKMMN5Z.js} +52 -12
- package/dist/esm/event-streams-XQKMMN5Z.js.map +1 -0
- package/dist/esm/index.js +2768 -2795
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{loadSso-OCDZAUKH.js → loadSso-66ZTLICD.js} +30 -31
- package/dist/esm/loadSso-66ZTLICD.js.map +1 -0
- package/dist/esm/{sso-oidc-M2EXZ76U.js → sso-oidc-Z2X56STB.js} +14 -15
- package/dist/esm/{sso-oidc-M2EXZ76U.js.map → sso-oidc-Z2X56STB.js.map} +1 -1
- package/dist/esm/{sts-KKJVSQNR.js → sts-XINKL27T.js} +15 -16
- package/dist/esm/{sts-KKJVSQNR.js.map → sts-XINKL27T.js.map} +1 -1
- package/dist/index.d.cts +168 -242
- package/dist/index.d.ts +168 -242
- package/dist/index.js +62437 -62510
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/dist/esm/chunk-3J7VUCCC.js.map +0 -1
- package/dist/esm/chunk-5UJEKK4C.js +0 -22
- package/dist/esm/chunk-5UJEKK4C.js.map +0 -1
- package/dist/esm/chunk-COGWOFTA.js.map +0 -1
- package/dist/esm/chunk-GA2PLVMV.js +0 -29
- package/dist/esm/chunk-GA2PLVMV.js.map +0 -1
- package/dist/esm/chunk-JI6PVVK3.js.map +0 -1
- package/dist/esm/chunk-KH6HADHN.js.map +0 -1
- package/dist/esm/chunk-R2ZTENKB.js.map +0 -1
- package/dist/esm/chunk-ZW5YT27C.js.map +0 -1
- package/dist/esm/dist-es-DNTTNOP2.js.map +0 -1
- package/dist/esm/dist-es-VW2LACDX.js.map +0 -1
- package/dist/esm/event-streams-JLZWM2TX.js.map +0 -1
- package/dist/esm/loadSso-OCDZAUKH.js.map +0 -1
- /package/dist/esm/{chunk-IMDTX6W5.js.map → chunk-3G3VXGQN.js.map} +0 -0
- /package/dist/esm/{chunk-YFU6P2WU.js.map → chunk-4G647IUM.js.map} +0 -0
- /package/dist/esm/{chunk-STQV3LF2.js.map → chunk-4JDZJVKZ.js.map} +0 -0
- /package/dist/esm/{chunk-72KZNKH6.js.map → chunk-KWPO3OOT.js.map} +0 -0
- /package/dist/esm/{chunk-LARQKHST.js.map → chunk-XARQOPCZ.js.map} +0 -0
- /package/dist/esm/{chunk-STDLTQUB.js.map → chunk-YLT3BSXS.js.map} +0 -0
- /package/dist/esm/{dist-es-LSJVIQHH.js.map → dist-es-5JWI4CRR.js.map} +0 -0
- /package/dist/esm/{dist-es-RLY6WB4O.js.map → dist-es-JA6GH4HX.js.map} +0 -0
- /package/dist/esm/{dist-es-QLMS2EJQ.js.map → dist-es-MHVHZTM3.js.map} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
chain
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4JDZJVKZ.js";
|
|
4
4
|
import {
|
|
5
5
|
getProfileName,
|
|
6
6
|
loadSharedConfigFiles
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CRX53WMM.js";
|
|
8
8
|
import {
|
|
9
9
|
CredentialsProviderError
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-IX2LY325.js";
|
|
11
11
|
|
|
12
12
|
// node_modules/@smithy/querystring-parser/dist-es/index.js
|
|
13
13
|
function parseQueryString(querystring) {
|
|
@@ -161,4 +161,4 @@ export {
|
|
|
161
161
|
memoize,
|
|
162
162
|
loadConfig
|
|
163
163
|
};
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
164
|
+
//# sourceMappingURL=chunk-3G3VXGQN.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
collectBodyString
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HR3W7R4B.js";
|
|
4
4
|
|
|
5
5
|
// node_modules/@smithy/smithy-client/dist-es/get-value-from-text-node.js
|
|
6
6
|
var getValueFromTextNode = (obj) => {
|
|
@@ -1421,4 +1421,4 @@ export {
|
|
|
1421
1421
|
parseXmlErrorBody,
|
|
1422
1422
|
loadRestXmlErrorCode
|
|
1423
1423
|
};
|
|
1424
|
-
//# sourceMappingURL=chunk-
|
|
1424
|
+
//# sourceMappingURL=chunk-4G647IUM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ProviderError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IX2LY325.js";
|
|
4
4
|
|
|
5
5
|
// node_modules/@smithy/property-provider/dist-es/chain.js
|
|
6
6
|
var chain = (...providers) => async () => {
|
|
@@ -26,4 +26,4 @@ var chain = (...providers) => async () => {
|
|
|
26
26
|
export {
|
|
27
27
|
chain
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-4JDZJVKZ.js.map
|
|
@@ -45,6 +45,9 @@ var IniSectionType;
|
|
|
45
45
|
// node_modules/@smithy/shared-ini-file-loader/dist-es/loadSharedConfigFiles.js
|
|
46
46
|
import { join as join3 } from "path";
|
|
47
47
|
|
|
48
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/constants.js
|
|
49
|
+
var CONFIG_PREFIX_SEPARATOR = ".";
|
|
50
|
+
|
|
48
51
|
// node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigData.js
|
|
49
52
|
var getConfigData = (data) => Object.entries(data).filter(([key]) => {
|
|
50
53
|
const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
|
|
@@ -66,46 +69,6 @@ import { join as join2 } from "path";
|
|
|
66
69
|
var ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE";
|
|
67
70
|
var getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] || join2(getHomeDir(), ".aws", "credentials");
|
|
68
71
|
|
|
69
|
-
// node_modules/@smithy/shared-ini-file-loader/dist-es/slurpFile.js
|
|
70
|
-
import { promises as fsPromises } from "fs";
|
|
71
|
-
var { readFile } = fsPromises;
|
|
72
|
-
var filePromisesHash = {};
|
|
73
|
-
var slurpFile = (path, options) => {
|
|
74
|
-
if (!filePromisesHash[path] || options?.ignoreCache) {
|
|
75
|
-
filePromisesHash[path] = readFile(path, "utf8");
|
|
76
|
-
}
|
|
77
|
-
return filePromisesHash[path];
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// node_modules/@smithy/shared-ini-file-loader/dist-es/loadSharedConfigFiles.js
|
|
81
|
-
var swallowError = () => ({});
|
|
82
|
-
var CONFIG_PREFIX_SEPARATOR = ".";
|
|
83
|
-
var loadSharedConfigFiles = async (init = {}) => {
|
|
84
|
-
const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;
|
|
85
|
-
const homeDir = getHomeDir();
|
|
86
|
-
const relativeHomeDirPrefix = "~/";
|
|
87
|
-
let resolvedFilepath = filepath;
|
|
88
|
-
if (filepath.startsWith(relativeHomeDirPrefix)) {
|
|
89
|
-
resolvedFilepath = join3(homeDir, filepath.slice(2));
|
|
90
|
-
}
|
|
91
|
-
let resolvedConfigFilepath = configFilepath;
|
|
92
|
-
if (configFilepath.startsWith(relativeHomeDirPrefix)) {
|
|
93
|
-
resolvedConfigFilepath = join3(homeDir, configFilepath.slice(2));
|
|
94
|
-
}
|
|
95
|
-
const parsedFiles = await Promise.all([
|
|
96
|
-
slurpFile(resolvedConfigFilepath, {
|
|
97
|
-
ignoreCache: init.ignoreCache
|
|
98
|
-
}).then(parseIni).then(getConfigData).catch(swallowError),
|
|
99
|
-
slurpFile(resolvedFilepath, {
|
|
100
|
-
ignoreCache: init.ignoreCache
|
|
101
|
-
}).then(parseIni).catch(swallowError)
|
|
102
|
-
]);
|
|
103
|
-
return {
|
|
104
|
-
configFile: parsedFiles[0],
|
|
105
|
-
credentialsFile: parsedFiles[1]
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
|
|
109
72
|
// node_modules/@smithy/shared-ini-file-loader/dist-es/parseIni.js
|
|
110
73
|
var prefixKeyRegex = /^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/;
|
|
111
74
|
var profileNameBlockList = ["__proto__", "profile __proto__"];
|
|
@@ -155,15 +118,105 @@ var parseIni = (iniData) => {
|
|
|
155
118
|
return map;
|
|
156
119
|
};
|
|
157
120
|
|
|
121
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/readFile.js
|
|
122
|
+
import { readFile as fsReadFile } from "node:fs/promises";
|
|
123
|
+
var filePromises = {};
|
|
124
|
+
var fileIntercept = {};
|
|
125
|
+
var readFile = (path, options) => {
|
|
126
|
+
if (fileIntercept[path] !== void 0) {
|
|
127
|
+
return fileIntercept[path];
|
|
128
|
+
}
|
|
129
|
+
if (!filePromises[path] || options?.ignoreCache) {
|
|
130
|
+
filePromises[path] = fsReadFile(path, "utf8");
|
|
131
|
+
}
|
|
132
|
+
return filePromises[path];
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/loadSharedConfigFiles.js
|
|
136
|
+
var swallowError = () => ({});
|
|
137
|
+
var loadSharedConfigFiles = async (init = {}) => {
|
|
138
|
+
const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;
|
|
139
|
+
const homeDir = getHomeDir();
|
|
140
|
+
const relativeHomeDirPrefix = "~/";
|
|
141
|
+
let resolvedFilepath = filepath;
|
|
142
|
+
if (filepath.startsWith(relativeHomeDirPrefix)) {
|
|
143
|
+
resolvedFilepath = join3(homeDir, filepath.slice(2));
|
|
144
|
+
}
|
|
145
|
+
let resolvedConfigFilepath = configFilepath;
|
|
146
|
+
if (configFilepath.startsWith(relativeHomeDirPrefix)) {
|
|
147
|
+
resolvedConfigFilepath = join3(homeDir, configFilepath.slice(2));
|
|
148
|
+
}
|
|
149
|
+
const parsedFiles = await Promise.all([
|
|
150
|
+
readFile(resolvedConfigFilepath, {
|
|
151
|
+
ignoreCache: init.ignoreCache
|
|
152
|
+
}).then(parseIni).then(getConfigData).catch(swallowError),
|
|
153
|
+
readFile(resolvedFilepath, {
|
|
154
|
+
ignoreCache: init.ignoreCache
|
|
155
|
+
}).then(parseIni).catch(swallowError)
|
|
156
|
+
]);
|
|
157
|
+
return {
|
|
158
|
+
configFile: parsedFiles[0],
|
|
159
|
+
credentialsFile: parsedFiles[1]
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/getSsoSessionData.js
|
|
164
|
+
var getSsoSessionData = (data) => Object.entries(data).filter(([key]) => key.startsWith(IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {});
|
|
165
|
+
|
|
166
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/loadSsoSessionData.js
|
|
167
|
+
var swallowError2 = () => ({});
|
|
168
|
+
var loadSsoSessionData = async (init = {}) => readFile(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2);
|
|
169
|
+
|
|
170
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/mergeConfigFiles.js
|
|
171
|
+
var mergeConfigFiles = (...files) => {
|
|
172
|
+
const merged = {};
|
|
173
|
+
for (const file of files) {
|
|
174
|
+
for (const [key, values] of Object.entries(file)) {
|
|
175
|
+
if (merged[key] !== void 0) {
|
|
176
|
+
Object.assign(merged[key], values);
|
|
177
|
+
} else {
|
|
178
|
+
merged[key] = values;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return merged;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/parseKnownFiles.js
|
|
186
|
+
var parseKnownFiles = async (init) => {
|
|
187
|
+
const parsedFiles = await loadSharedConfigFiles(init);
|
|
188
|
+
return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFilepath.js
|
|
192
|
+
import { createHash } from "crypto";
|
|
193
|
+
import { join as join4 } from "path";
|
|
194
|
+
var getSSOTokenFilepath = (id) => {
|
|
195
|
+
const hasher = createHash("sha1");
|
|
196
|
+
const cacheName = hasher.update(id).digest("hex");
|
|
197
|
+
return join4(getHomeDir(), ".aws", "sso", "cache", `${cacheName}.json`);
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
// node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFromFile.js
|
|
201
|
+
import { readFile as readFile2 } from "fs/promises";
|
|
202
|
+
var tokenIntercept = {};
|
|
203
|
+
var getSSOTokenFromFile = async (id) => {
|
|
204
|
+
if (tokenIntercept[id]) {
|
|
205
|
+
return tokenIntercept[id];
|
|
206
|
+
}
|
|
207
|
+
const ssoTokenFilepath = getSSOTokenFilepath(id);
|
|
208
|
+
const ssoTokenText = await readFile2(ssoTokenFilepath, "utf8");
|
|
209
|
+
return JSON.parse(ssoTokenText);
|
|
210
|
+
};
|
|
211
|
+
|
|
158
212
|
export {
|
|
159
|
-
IniSectionType,
|
|
160
|
-
getHomeDir,
|
|
161
213
|
ENV_PROFILE,
|
|
162
214
|
getProfileName,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
slurpFile,
|
|
215
|
+
getSSOTokenFilepath,
|
|
216
|
+
getSSOTokenFromFile,
|
|
166
217
|
CONFIG_PREFIX_SEPARATOR,
|
|
167
|
-
loadSharedConfigFiles
|
|
218
|
+
loadSharedConfigFiles,
|
|
219
|
+
loadSsoSessionData,
|
|
220
|
+
parseKnownFiles
|
|
168
221
|
};
|
|
169
|
-
//# sourceMappingURL=chunk-
|
|
222
|
+
//# sourceMappingURL=chunk-CRX53WMM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../node_modules/@smithy/shared-ini-file-loader/dist-es/getProfileName.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigFilepath.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getHomeDir.js","../../node_modules/@smithy/types/dist-es/profile.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/loadSharedConfigFiles.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/constants.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigData.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getCredentialsFilepath.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/parseIni.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/readFile.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getSsoSessionData.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/loadSsoSessionData.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/mergeConfigFiles.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/parseKnownFiles.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFilepath.js","../../node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFromFile.js"],"sourcesContent":["export const ENV_PROFILE = \"AWS_PROFILE\";\nexport const DEFAULT_PROFILE = \"default\";\nexport const getProfileName = (init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE;\n","import { join } from \"path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nexport const getConfigFilepath = () => process.env[ENV_CONFIG_PATH] || join(getHomeDir(), \".aws\", \"config\");\n","import { homedir } from \"os\";\nimport { sep } from \"path\";\nconst homeDirCache = {};\nconst getHomeDirCacheKey = () => {\n if (process && process.geteuid) {\n return `${process.geteuid()}`;\n }\n return \"DEFAULT\";\n};\nexport const getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n const homeDirCacheKey = getHomeDirCacheKey();\n if (!homeDirCache[homeDirCacheKey])\n homeDirCache[homeDirCacheKey] = homedir();\n return homeDirCache[homeDirCacheKey];\n};\n","export var IniSectionType;\n(function (IniSectionType) {\n IniSectionType[\"PROFILE\"] = \"profile\";\n IniSectionType[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType[\"SERVICES\"] = \"services\";\n})(IniSectionType || (IniSectionType = {}));\n","import { join } from \"path\";\nimport { getConfigData } from \"./getConfigData\";\nimport { getConfigFilepath } from \"./getConfigFilepath\";\nimport { getCredentialsFilepath } from \"./getCredentialsFilepath\";\nimport { getHomeDir } from \"./getHomeDir\";\nimport { parseIni } from \"./parseIni\";\nimport { readFile } from \"./readFile\";\nconst swallowError = () => ({});\nexport { CONFIG_PREFIX_SEPARATOR } from \"./constants\";\nexport const loadSharedConfigFiles = async (init = {}) => {\n const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;\n const homeDir = getHomeDir();\n const relativeHomeDirPrefix = \"~/\";\n let resolvedFilepath = filepath;\n if (filepath.startsWith(relativeHomeDirPrefix)) {\n resolvedFilepath = join(homeDir, filepath.slice(2));\n }\n let resolvedConfigFilepath = configFilepath;\n if (configFilepath.startsWith(relativeHomeDirPrefix)) {\n resolvedConfigFilepath = join(homeDir, configFilepath.slice(2));\n }\n const parsedFiles = await Promise.all([\n readFile(resolvedConfigFilepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .then(getConfigData)\n .catch(swallowError),\n readFile(resolvedFilepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .catch(swallowError),\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1],\n };\n};\n","export const CONFIG_PREFIX_SEPARATOR = \".\";\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./constants\";\nexport const getConfigData = (data) => Object.entries(data)\n .filter(([key]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n if (indexOfSeparator === -1) {\n return false;\n }\n return Object.values(IniSectionType).includes(key.substring(0, indexOfSeparator));\n})\n .reduce((acc, [key, value]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n const updatedKey = key.substring(0, indexOfSeparator) === IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;\n acc[updatedKey] = value;\n return acc;\n}, {\n ...(data.default && { default: data.default }),\n});\n","import { join } from \"path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nexport const getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] || join(getHomeDir(), \".aws\", \"credentials\");\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./constants\";\nconst prefixKeyRegex = /^([\\w-]+)\\s([\"'])?([\\w-@\\+\\.%:/]+)\\2$/;\nconst profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nexport const parseIni = (iniData) => {\n const map = {};\n let currentSection;\n let currentSubSection;\n for (const iniLine of iniData.split(/\\r?\\n/)) {\n const trimmedLine = iniLine.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = trimmedLine[0] === \"[\" && trimmedLine[trimmedLine.length - 1] === \"]\";\n if (isSection) {\n currentSection = undefined;\n currentSubSection = undefined;\n const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);\n const matches = prefixKeyRegex.exec(sectionName);\n if (matches) {\n const [, prefix, , name] = matches;\n if (Object.values(IniSectionType).includes(prefix)) {\n currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);\n }\n }\n else {\n currentSection = sectionName;\n }\n if (profileNameBlockList.includes(sectionName)) {\n throw new Error(`Found invalid profile name \"${sectionName}\"`);\n }\n }\n else if (currentSection) {\n const indexOfEqualsSign = trimmedLine.indexOf(\"=\");\n if (![0, -1].includes(indexOfEqualsSign)) {\n const [name, value] = [\n trimmedLine.substring(0, indexOfEqualsSign).trim(),\n trimmedLine.substring(indexOfEqualsSign + 1).trim(),\n ];\n if (value === \"\") {\n currentSubSection = name;\n }\n else {\n if (currentSubSection && iniLine.trimStart() === iniLine) {\n currentSubSection = undefined;\n }\n map[currentSection] = map[currentSection] || {};\n const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;\n map[currentSection][key] = value;\n }\n }\n }\n }\n return map;\n};\n","import { readFile as fsReadFile } from \"node:fs/promises\";\nexport const filePromises = {};\nexport const fileIntercept = {};\nexport const readFile = (path, options) => {\n if (fileIntercept[path] !== undefined) {\n return fileIntercept[path];\n }\n if (!filePromises[path] || options?.ignoreCache) {\n filePromises[path] = fsReadFile(path, \"utf8\");\n }\n return filePromises[path];\n};\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./loadSharedConfigFiles\";\nexport const getSsoSessionData = (data) => Object.entries(data)\n .filter(([key]) => key.startsWith(IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR))\n .reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {});\n","import { getConfigFilepath } from \"./getConfigFilepath\";\nimport { getSsoSessionData } from \"./getSsoSessionData\";\nimport { parseIni } from \"./parseIni\";\nimport { readFile } from \"./readFile\";\nconst swallowError = () => ({});\nexport const loadSsoSessionData = async (init = {}) => readFile(init.configFilepath ?? getConfigFilepath())\n .then(parseIni)\n .then(getSsoSessionData)\n .catch(swallowError);\n","export const mergeConfigFiles = (...files) => {\n const merged = {};\n for (const file of files) {\n for (const [key, values] of Object.entries(file)) {\n if (merged[key] !== undefined) {\n Object.assign(merged[key], values);\n }\n else {\n merged[key] = values;\n }\n }\n }\n return merged;\n};\n","import { loadSharedConfigFiles } from \"./loadSharedConfigFiles\";\nimport { mergeConfigFiles } from \"./mergeConfigFiles\";\nexport const parseKnownFiles = async (init) => {\n const parsedFiles = await loadSharedConfigFiles(init);\n return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);\n};\n","import { createHash } from \"crypto\";\nimport { join } from \"path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const getSSOTokenFilepath = (id) => {\n const hasher = createHash(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return join(getHomeDir(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\n","import { readFile } from \"fs/promises\";\nimport { getSSOTokenFilepath } from \"./getSSOTokenFilepath\";\nexport const tokenIntercept = {};\nexport const getSSOTokenFromFile = async (id) => {\n if (tokenIntercept[id]) {\n return tokenIntercept[id];\n }\n const ssoTokenFilepath = getSSOTokenFilepath(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\n"],"mappings":"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","names":["IniSectionType","join","join","join","join","swallowError","join","join","readFile","readFile"]}
|
|
@@ -2,10 +2,21 @@ import {
|
|
|
2
2
|
fromArrayBuffer,
|
|
3
3
|
fromString,
|
|
4
4
|
fromUtf8
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-Z63CAAFL.js";
|
|
6
6
|
|
|
7
7
|
// node_modules/@smithy/protocol-http/dist-es/httpRequest.js
|
|
8
8
|
var HttpRequest = class _HttpRequest {
|
|
9
|
+
method;
|
|
10
|
+
protocol;
|
|
11
|
+
hostname;
|
|
12
|
+
port;
|
|
13
|
+
path;
|
|
14
|
+
query;
|
|
15
|
+
headers;
|
|
16
|
+
username;
|
|
17
|
+
password;
|
|
18
|
+
fragment;
|
|
19
|
+
body;
|
|
9
20
|
constructor(options) {
|
|
10
21
|
this.method = options.method || "GET";
|
|
11
22
|
this.hostname = options.hostname || "localhost";
|
|
@@ -52,6 +63,10 @@ function cloneQuery(query) {
|
|
|
52
63
|
|
|
53
64
|
// node_modules/@smithy/protocol-http/dist-es/httpResponse.js
|
|
54
65
|
var HttpResponse = class {
|
|
66
|
+
statusCode;
|
|
67
|
+
reason;
|
|
68
|
+
headers;
|
|
69
|
+
body;
|
|
55
70
|
constructor(options) {
|
|
56
71
|
this.statusCode = options.statusCode;
|
|
57
72
|
this.reason = options.reason;
|
|
@@ -123,7 +138,7 @@ var setConnectionTimeout = (request, reject, timeoutInMs = 0) => {
|
|
|
123
138
|
const registerTimeout = (offset) => {
|
|
124
139
|
const timeoutId = timing.setTimeout(() => {
|
|
125
140
|
request.destroy();
|
|
126
|
-
reject(Object.assign(new Error(
|
|
141
|
+
reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {
|
|
127
142
|
name: "TimeoutError"
|
|
128
143
|
}));
|
|
129
144
|
}, timeoutInMs - offset);
|
|
@@ -149,6 +164,27 @@ var setConnectionTimeout = (request, reject, timeoutInMs = 0) => {
|
|
|
149
164
|
return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);
|
|
150
165
|
};
|
|
151
166
|
|
|
167
|
+
// node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js
|
|
168
|
+
var setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger2) => {
|
|
169
|
+
if (timeoutInMs) {
|
|
170
|
+
return timing.setTimeout(() => {
|
|
171
|
+
let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? "ERROR" : "WARN"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;
|
|
172
|
+
if (throwOnRequestTimeout) {
|
|
173
|
+
const error = Object.assign(new Error(msg), {
|
|
174
|
+
name: "TimeoutError",
|
|
175
|
+
code: "ETIMEDOUT"
|
|
176
|
+
});
|
|
177
|
+
req.destroy(error);
|
|
178
|
+
reject(error);
|
|
179
|
+
} else {
|
|
180
|
+
msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;
|
|
181
|
+
logger2?.warn?.(msg);
|
|
182
|
+
}
|
|
183
|
+
}, timeoutInMs);
|
|
184
|
+
}
|
|
185
|
+
return -1;
|
|
186
|
+
};
|
|
187
|
+
|
|
152
188
|
// node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js
|
|
153
189
|
var DEFER_EVENT_LISTENER_TIME2 = 3e3;
|
|
154
190
|
var setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME2) => {
|
|
@@ -173,12 +209,12 @@ var setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs =
|
|
|
173
209
|
|
|
174
210
|
// node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js
|
|
175
211
|
var DEFER_EVENT_LISTENER_TIME3 = 3e3;
|
|
176
|
-
var setSocketTimeout = (request, reject, timeoutInMs =
|
|
212
|
+
var setSocketTimeout = (request, reject, timeoutInMs = 0) => {
|
|
177
213
|
const registerTimeout = (offset) => {
|
|
178
214
|
const timeout = timeoutInMs - offset;
|
|
179
215
|
const onTimeout = () => {
|
|
180
216
|
request.destroy();
|
|
181
|
-
reject(Object.assign(new Error(
|
|
217
|
+
reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: "TimeoutError" }));
|
|
182
218
|
};
|
|
183
219
|
if (request.socket) {
|
|
184
220
|
request.socket.setTimeout(timeout, onTimeout);
|
|
@@ -197,12 +233,12 @@ var setSocketTimeout = (request, reject, timeoutInMs = DEFAULT_REQUEST_TIMEOUT)
|
|
|
197
233
|
// node_modules/@smithy/node-http-handler/dist-es/write-request-body.js
|
|
198
234
|
import { Readable } from "stream";
|
|
199
235
|
var MIN_WAIT_TIME = 6e3;
|
|
200
|
-
async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME) {
|
|
236
|
+
async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {
|
|
201
237
|
const headers = request.headers ?? {};
|
|
202
|
-
const expect = headers
|
|
238
|
+
const expect = headers.Expect || headers.expect;
|
|
203
239
|
let timeoutId = -1;
|
|
204
240
|
let sendBody = true;
|
|
205
|
-
if (expect === "100-continue") {
|
|
241
|
+
if (!externalAgent && expect === "100-continue") {
|
|
206
242
|
sendBody = await Promise.race([
|
|
207
243
|
new Promise((resolve) => {
|
|
208
244
|
timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));
|
|
@@ -249,8 +285,12 @@ function writeBody(httpRequest, body) {
|
|
|
249
285
|
}
|
|
250
286
|
|
|
251
287
|
// node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js
|
|
252
|
-
var DEFAULT_REQUEST_TIMEOUT = 0;
|
|
253
288
|
var NodeHttpHandler = class _NodeHttpHandler {
|
|
289
|
+
config;
|
|
290
|
+
configProvider;
|
|
291
|
+
socketWarningTimestamp = 0;
|
|
292
|
+
externalAgent = false;
|
|
293
|
+
metadata = { handlerProtocol: "http/1.1" };
|
|
254
294
|
static create(instanceOrOptions) {
|
|
255
295
|
if (typeof instanceOrOptions?.handle === "function") {
|
|
256
296
|
return instanceOrOptions;
|
|
@@ -281,8 +321,6 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
281
321
|
return socketWarningTimestamp;
|
|
282
322
|
}
|
|
283
323
|
constructor(options) {
|
|
284
|
-
this.socketWarningTimestamp = 0;
|
|
285
|
-
this.metadata = { handlerProtocol: "http/1.1" };
|
|
286
324
|
this.configProvider = new Promise((resolve, reject) => {
|
|
287
325
|
if (typeof options === "function") {
|
|
288
326
|
options().then((_options) => {
|
|
@@ -294,21 +332,25 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
294
332
|
});
|
|
295
333
|
}
|
|
296
334
|
resolveDefaultConfig(options) {
|
|
297
|
-
const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent } = options || {};
|
|
335
|
+
const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout } = options || {};
|
|
298
336
|
const keepAlive = true;
|
|
299
337
|
const maxSockets = 50;
|
|
300
338
|
return {
|
|
301
339
|
connectionTimeout,
|
|
302
|
-
requestTimeout
|
|
340
|
+
requestTimeout,
|
|
341
|
+
socketTimeout,
|
|
303
342
|
socketAcquisitionWarningTimeout,
|
|
343
|
+
throwOnRequestTimeout,
|
|
304
344
|
httpAgent: (() => {
|
|
305
345
|
if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === "function") {
|
|
346
|
+
this.externalAgent = true;
|
|
306
347
|
return httpAgent;
|
|
307
348
|
}
|
|
308
349
|
return new hAgent({ keepAlive, maxSockets, ...httpAgent });
|
|
309
350
|
})(),
|
|
310
351
|
httpsAgent: (() => {
|
|
311
352
|
if (httpsAgent instanceof hsAgent || typeof httpsAgent?.destroy === "function") {
|
|
353
|
+
this.externalAgent = true;
|
|
312
354
|
return httpsAgent;
|
|
313
355
|
}
|
|
314
356
|
return new hsAgent({ keepAlive, maxSockets, ...httpsAgent });
|
|
@@ -325,6 +367,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
325
367
|
this.config = await this.configProvider;
|
|
326
368
|
}
|
|
327
369
|
return new Promise((_resolve, _reject) => {
|
|
370
|
+
const config = this.config;
|
|
328
371
|
let writeRequestBodyPromise = void 0;
|
|
329
372
|
const timeouts = [];
|
|
330
373
|
const resolve = async (arg) => {
|
|
@@ -337,9 +380,6 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
337
380
|
timeouts.forEach(timing.clearTimeout);
|
|
338
381
|
_reject(arg);
|
|
339
382
|
};
|
|
340
|
-
if (!this.config) {
|
|
341
|
-
throw new Error("Node HTTP request handler config is not resolved");
|
|
342
|
-
}
|
|
343
383
|
if (abortSignal?.aborted) {
|
|
344
384
|
const abortError = new Error("Request aborted");
|
|
345
385
|
abortError.name = "AbortError";
|
|
@@ -347,10 +387,18 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
347
387
|
return;
|
|
348
388
|
}
|
|
349
389
|
const isSSL = request.protocol === "https:";
|
|
350
|
-
const
|
|
390
|
+
const headers = request.headers ?? {};
|
|
391
|
+
const expectContinue = (headers.Expect ?? headers.expect) === "100-continue";
|
|
392
|
+
let agent = isSSL ? config.httpsAgent : config.httpAgent;
|
|
393
|
+
if (expectContinue && !this.externalAgent) {
|
|
394
|
+
agent = new (isSSL ? hsAgent : hAgent)({
|
|
395
|
+
keepAlive: false,
|
|
396
|
+
maxSockets: Infinity
|
|
397
|
+
});
|
|
398
|
+
}
|
|
351
399
|
timeouts.push(timing.setTimeout(() => {
|
|
352
|
-
this.socketWarningTimestamp = _NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp,
|
|
353
|
-
},
|
|
400
|
+
this.socketWarningTimestamp = _NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);
|
|
401
|
+
}, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2e3) + (config.connectionTimeout ?? 1e3)));
|
|
354
402
|
const queryString = buildQueryString(request.query || {});
|
|
355
403
|
let auth = void 0;
|
|
356
404
|
if (request.username != null || request.password != null) {
|
|
@@ -412,9 +460,10 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
412
460
|
abortSignal.onabort = onAbort;
|
|
413
461
|
}
|
|
414
462
|
}
|
|
415
|
-
const effectiveRequestTimeout = requestTimeout ??
|
|
416
|
-
timeouts.push(setConnectionTimeout(req, reject,
|
|
417
|
-
timeouts.push(
|
|
463
|
+
const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;
|
|
464
|
+
timeouts.push(setConnectionTimeout(req, reject, config.connectionTimeout));
|
|
465
|
+
timeouts.push(setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console));
|
|
466
|
+
timeouts.push(setSocketTimeout(req, reject, config.socketTimeout));
|
|
418
467
|
const httpAgent = nodeHttpsOptions.agent;
|
|
419
468
|
if (typeof httpAgent === "object" && "keepAlive" in httpAgent) {
|
|
420
469
|
timeouts.push(setSocketKeepAlive(req, {
|
|
@@ -422,7 +471,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
422
471
|
keepAliveMsecs: httpAgent.keepAliveMsecs
|
|
423
472
|
}));
|
|
424
473
|
}
|
|
425
|
-
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => {
|
|
474
|
+
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {
|
|
426
475
|
timeouts.forEach(timing.clearTimeout);
|
|
427
476
|
return _reject(e);
|
|
428
477
|
});
|
|
@@ -445,10 +494,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
|
|
445
494
|
// node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js
|
|
446
495
|
import { Writable } from "stream";
|
|
447
496
|
var Collector = class extends Writable {
|
|
448
|
-
|
|
449
|
-
super(...arguments);
|
|
450
|
-
this.bufferedBytes = [];
|
|
451
|
-
}
|
|
497
|
+
bufferedBytes = [];
|
|
452
498
|
_write(chunk, encoding, callback) {
|
|
453
499
|
this.bufferedBytes.push(chunk);
|
|
454
500
|
callback();
|
|
@@ -655,17 +701,6 @@ var fromBase64 = (input) => {
|
|
|
655
701
|
return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
656
702
|
};
|
|
657
703
|
|
|
658
|
-
// node_modules/@smithy/util-utf8/dist-es/toUtf8.js
|
|
659
|
-
var toUtf8 = (input) => {
|
|
660
|
-
if (typeof input === "string") {
|
|
661
|
-
return input;
|
|
662
|
-
}
|
|
663
|
-
if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
|
|
664
|
-
throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
|
|
665
|
-
}
|
|
666
|
-
return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("utf8");
|
|
667
|
-
};
|
|
668
|
-
|
|
669
704
|
// node_modules/@smithy/util-base64/dist-es/toBase64.js
|
|
670
705
|
var toBase64 = (_input) => {
|
|
671
706
|
let input;
|
|
@@ -718,7 +753,6 @@ export {
|
|
|
718
753
|
HttpRequest,
|
|
719
754
|
HttpResponse,
|
|
720
755
|
fromBase64,
|
|
721
|
-
toUtf8,
|
|
722
756
|
toBase64,
|
|
723
757
|
escapeUri,
|
|
724
758
|
NodeHttpHandler,
|
|
@@ -736,4 +770,4 @@ export {
|
|
|
736
770
|
strictParseShort,
|
|
737
771
|
strictParseByte
|
|
738
772
|
};
|
|
739
|
-
//# sourceMappingURL=chunk-
|
|
773
|
+
//# sourceMappingURL=chunk-D74LA2XQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../node_modules/@smithy/protocol-http/dist-es/httpRequest.js","../../node_modules/@smithy/protocol-http/dist-es/httpResponse.js","../../node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js","../../node_modules/@smithy/querystring-builder/dist-es/index.js","../../node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js","../../node_modules/@smithy/node-http-handler/dist-es/constants.js","../../node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js","../../node_modules/@smithy/node-http-handler/dist-es/timing.js","../../node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js","../../node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js","../../node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js","../../node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js","../../node_modules/@smithy/node-http-handler/dist-es/write-request-body.js","../../node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js","../../node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js","../../node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js","../../node_modules/@smithy/util-base64/dist-es/fromBase64.js","../../node_modules/@smithy/util-base64/dist-es/toBase64.js","../../node_modules/@smithy/util-hex-encoding/dist-es/index.js"],"sourcesContent":["export class HttpRequest {\n method;\n protocol;\n hostname;\n port;\n path;\n query;\n headers;\n username;\n password;\n fragment;\n body;\n constructor(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 ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n static clone(request) {\n const cloned = new HttpRequest({\n ...request,\n headers: { ...request.headers },\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const 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 clone() {\n return HttpRequest.clone(this);\n }\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","export class HttpResponse {\n statusCode;\n reason;\n headers;\n body;\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n","export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { escapeUri } from \"@smithy/util-uri-escape\";\nexport function buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n","import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { Agent as hAgent, request as hRequest } from \"http\";\nimport { Agent as hsAgent, request as hsRequest } from \"https\";\nimport { NODEJS_TIMEOUT_ERROR_CODES } from \"./constants\";\nimport { getTransformedHeaders } from \"./get-transformed-headers\";\nimport { setConnectionTimeout } from \"./set-connection-timeout\";\nimport { setRequestTimeout } from \"./set-request-timeout\";\nimport { setSocketKeepAlive } from \"./set-socket-keep-alive\";\nimport { setSocketTimeout } from \"./set-socket-timeout\";\nimport { timing } from \"./timing\";\nimport { writeRequestBody } from \"./write-request-body\";\nexport const DEFAULT_REQUEST_TIMEOUT = 0;\nexport class NodeHttpHandler {\n config;\n configProvider;\n socketWarningTimestamp = 0;\n externalAgent = false;\n metadata = { handlerProtocol: \"http/1.1\" };\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15_000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout,\n socketTimeout,\n socketAcquisitionWarningTimeout,\n throwOnRequestTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof hsAgent || typeof httpsAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpsAgent;\n }\n return new hsAgent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger: console,\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((_resolve, _reject) => {\n const config = this.config;\n let writeRequestBodyPromise = undefined;\n const timeouts = [];\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const headers = request.headers ?? {};\n const expectContinue = (headers.Expect ?? headers.expect) === \"100-continue\";\n let agent = isSSL ? config.httpsAgent : config.httpAgent;\n if (expectContinue && !this.externalAgent) {\n agent = new (isSSL ? hsAgent : hAgent)({\n keepAlive: false,\n maxSockets: Infinity,\n });\n }\n timeouts.push(timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n }, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2000) + (config.connectionTimeout ?? 1000)));\n const queryString = buildQueryString(request.query || {});\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? hsRequest : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, config.connectionTimeout));\n timeouts.push(setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console));\n timeouts.push(setSocketTimeout(req, reject, config.socketTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n }));\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n","export const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n","const getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\nexport { getTransformedHeaders };\n","export const timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n","import { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 1000;\nexport const setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n","import { timing } from \"./timing\";\nexport const setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n if (timeoutInMs) {\n return timing.setTimeout(() => {\n let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n if (throwOnRequestTimeout) {\n const error = Object.assign(new Error(msg), {\n name: \"TimeoutError\",\n code: \"ETIMEDOUT\",\n });\n req.destroy(error);\n reject(error);\n }\n else {\n msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n logger?.warn?.(msg);\n }\n }, timeoutInMs);\n }\n return -1;\n};\n","import { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nexport const setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n","import { timing } from \"./timing\";\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nexport const setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n","import { Readable } from \"stream\";\nimport { timing } from \"./timing\";\nconst MIN_WAIT_TIME = 6_000;\nexport async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n const headers = request.headers ?? {};\n const expect = headers.Expect || headers.expect;\n let timeoutId = -1;\n let sendBody = true;\n if (!externalAgent && expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n if (Buffer.isBuffer(body) || typeof body === \"string\") {\n httpRequest.end(body);\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n","import { Writable } from \"stream\";\nexport class Collector extends Writable {\n bufferedBytes = [];\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n","import { Collector } from \"./collector\";\nexport const streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n","export const parseBoolean = (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 \"${value}\"`);\n }\n};\nexport const expectBoolean = (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 ${typeof value}: ${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 const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${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 ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const 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 ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (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 ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (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 const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (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 ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\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 ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const 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 const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (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: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n","import { fromString } from \"@smithy/util-buffer-from\";\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nexport const fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = fromString(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\n","import { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport const toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = fromUtf8(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\n","const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\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 const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const 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 ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n"],"mappings":";;;;;;;AAAO,IAAM,cAAN,MAAM,aAAY;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,SAAS;AACjB,SAAK,SAAS,QAAQ,UAAU;AAChC,SAAK,WAAW,QAAQ,YAAY;AACpC,SAAK,OAAO,QAAQ;AACpB,SAAK,QAAQ,QAAQ,SAAS,CAAC;AAC/B,SAAK,UAAU,QAAQ,WAAW,CAAC;AACnC,SAAK,OAAO,QAAQ;AACpB,SAAK,WAAW,QAAQ,WAClB,QAAQ,SAAS,MAAM,EAAE,MAAM,MAC3B,GAAG,QAAQ,QAAQ,MACnB,QAAQ,WACZ;AACN,SAAK,OAAO,QAAQ,OAAQ,QAAQ,KAAK,OAAO,CAAC,MAAM,MAAM,IAAI,QAAQ,IAAI,KAAK,QAAQ,OAAQ;AAClG,SAAK,WAAW,QAAQ;AACxB,SAAK,WAAW,QAAQ;AACxB,SAAK,WAAW,QAAQ;AAAA,EAC5B;AAAA,EACA,OAAO,MAAM,SAAS;AAClB,UAAM,SAAS,IAAI,aAAY;AAAA,MAC3B,GAAG;AAAA,MACH,SAAS,EAAE,GAAG,QAAQ,QAAQ;AAAA,IAClC,CAAC;AACD,QAAI,OAAO,OAAO;AACd,aAAO,QAAQ,WAAW,OAAO,KAAK;AAAA,IAC1C;AACA,WAAO;AAAA,EACX;AAAA,EACA,OAAO,WAAW,SAAS;AACvB,QAAI,CAAC,SAAS;AACV,aAAO;AAAA,IACX;AACA,UAAM,MAAM;AACZ,WAAQ,YAAY,OAChB,cAAc,OACd,cAAc,OACd,UAAU,OACV,OAAO,IAAI,OAAO,MAAM,YACxB,OAAO,IAAI,SAAS,MAAM;AAAA,EAClC;AAAA,EACA,QAAQ;AACJ,WAAO,aAAY,MAAM,IAAI;AAAA,EACjC;AACJ;AACA,SAAS,WAAW,OAAO;AACvB,SAAO,OAAO,KAAK,KAAK,EAAE,OAAO,CAAC,OAAO,cAAc;AACnD,UAAM,QAAQ,MAAM,SAAS;AAC7B,WAAO;AAAA,MACH,GAAG;AAAA,MACH,CAAC,SAAS,GAAG,MAAM,QAAQ,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI;AAAA,IACrD;AAAA,EACJ,GAAG,CAAC,CAAC;AACT;;;AC/DO,IAAM,eAAN,MAAmB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,SAAS;AACjB,SAAK,aAAa,QAAQ;AAC1B,SAAK,SAAS,QAAQ;AACtB,SAAK,UAAU,QAAQ,WAAW,CAAC;AACnC,SAAK,OAAO,QAAQ;AAAA,EACxB;AAAA,EACA,OAAO,WAAW,UAAU;AACxB,QAAI,CAAC;AACD,aAAO;AACX,UAAM,OAAO;AACb,WAAO,OAAO,KAAK,eAAe,YAAY,OAAO,KAAK,YAAY;AAAA,EAC1E;AACJ;;;ACjBO,IAAM,YAAY,CAAC,QAAQ,mBAAmB,GAAG,EAAE,QAAQ,YAAY,SAAS;AACvF,IAAM,YAAY,CAAC,MAAM,IAAI,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY,CAAC;;;ACAhE,SAAS,iBAAiB,OAAO;AACpC,QAAM,QAAQ,CAAC;AACf,WAAS,OAAO,OAAO,KAAK,KAAK,EAAE,KAAK,GAAG;AACvC,UAAM,QAAQ,MAAM,GAAG;AACvB,UAAM,UAAU,GAAG;AACnB,QAAI,MAAM,QAAQ,KAAK,GAAG;AACtB,eAAS,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,KAAK;AAChD,cAAM,KAAK,GAAG,GAAG,IAAI,UAAU,MAAM,CAAC,CAAC,CAAC,EAAE;AAAA,MAC9C;AAAA,IACJ,OACK;AACD,UAAI,UAAU;AACd,UAAI,SAAS,OAAO,UAAU,UAAU;AACpC,mBAAW,IAAI,UAAU,KAAK,CAAC;AAAA,MACnC;AACA,YAAM,KAAK,OAAO;AAAA,IACtB;AAAA,EACJ;AACA,SAAO,MAAM,KAAK,GAAG;AACzB;;;AClBA,SAAS,SAAS,QAAQ,WAAW,gBAAgB;AACrD,SAAS,SAAS,SAAS,WAAW,iBAAiB;;;ACHhD,IAAM,6BAA6B,CAAC,cAAc,SAAS,WAAW;;;ACA7E,IAAM,wBAAwB,CAAC,YAAY;AACvC,QAAM,qBAAqB,CAAC;AAC5B,aAAW,QAAQ,OAAO,KAAK,OAAO,GAAG;AACrC,UAAM,eAAe,QAAQ,IAAI;AACjC,uBAAmB,IAAI,IAAI,MAAM,QAAQ,YAAY,IAAI,aAAa,KAAK,GAAG,IAAI;AAAA,EACtF;AACA,SAAO;AACX;;;ACPO,IAAM,SAAS;AAAA,EAClB,YAAY,CAAC,IAAI,OAAO,WAAW,IAAI,EAAE;AAAA,EACzC,cAAc,CAAC,cAAc,aAAa,SAAS;AACvD;;;ACFA,IAAM,4BAA4B;AAC3B,IAAM,uBAAuB,CAAC,SAAS,QAAQ,cAAc,MAAM;AACtE,MAAI,CAAC,aAAa;AACd,WAAO;AAAA,EACX;AACA,QAAM,kBAAkB,CAAC,WAAW;AAChC,UAAM,YAAY,OAAO,WAAW,MAAM;AACtC,cAAQ,QAAQ;AAChB,aAAO,OAAO,OAAO,IAAI,MAAM,kIAAkI,WAAW,MAAM,GAAG;AAAA,QACjL,MAAM;AAAA,MACV,CAAC,CAAC;AAAA,IACN,GAAG,cAAc,MAAM;AACvB,UAAM,eAAe,CAAC,WAAW;AAC7B,UAAI,QAAQ,YAAY;AACpB,eAAO,GAAG,WAAW,MAAM;AACvB,iBAAO,aAAa,SAAS;AAAA,QACjC,CAAC;AAAA,MACL,OACK;AACD,eAAO,aAAa,SAAS;AAAA,MACjC;AAAA,IACJ;AACA,QAAI,QAAQ,QAAQ;AAChB,mBAAa,QAAQ,MAAM;AAAA,IAC/B,OACK;AACD,cAAQ,GAAG,UAAU,YAAY;AAAA,IACrC;AAAA,EACJ;AACA,MAAI,cAAc,KAAM;AACpB,oBAAgB,CAAC;AACjB,WAAO;AAAA,EACX;AACA,SAAO,OAAO,WAAW,gBAAgB,KAAK,MAAM,yBAAyB,GAAG,yBAAyB;AAC7G;;;AClCO,IAAM,oBAAoB,CAAC,KAAK,QAAQ,cAAc,GAAG,uBAAuBA,YAAW;AAC9F,MAAI,aAAa;AACb,WAAO,OAAO,WAAW,MAAM;AAC3B,UAAI,MAAM,gCAAgC,wBAAwB,UAAU,MAAM,2CAA2C,WAAW;AACxI,UAAI,uBAAuB;AACvB,cAAM,QAAQ,OAAO,OAAO,IAAI,MAAM,GAAG,GAAG;AAAA,UACxC,MAAM;AAAA,UACN,MAAM;AAAA,QACV,CAAC;AACD,YAAI,QAAQ,KAAK;AACjB,eAAO,KAAK;AAAA,MAChB,OACK;AACD,eAAO;AACP,QAAAA,SAAQ,OAAO,GAAG;AAAA,MACtB;AAAA,IACJ,GAAG,WAAW;AAAA,EAClB;AACA,SAAO;AACX;;;ACnBA,IAAMC,6BAA4B;AAC3B,IAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,eAAe,GAAG,cAAcA,+BAA8B;AACnH,MAAI,cAAc,MAAM;AACpB,WAAO;AAAA,EACX;AACA,QAAM,mBAAmB,MAAM;AAC3B,QAAI,QAAQ,QAAQ;AAChB,cAAQ,OAAO,aAAa,WAAW,kBAAkB,CAAC;AAAA,IAC9D,OACK;AACD,cAAQ,GAAG,UAAU,CAAC,WAAW;AAC7B,eAAO,aAAa,WAAW,kBAAkB,CAAC;AAAA,MACtD,CAAC;AAAA,IACL;AAAA,EACJ;AACA,MAAI,gBAAgB,GAAG;AACnB,qBAAiB;AACjB,WAAO;AAAA,EACX;AACA,SAAO,OAAO,WAAW,kBAAkB,WAAW;AAC1D;;;ACpBA,IAAMC,6BAA4B;AAC3B,IAAM,mBAAmB,CAAC,SAAS,QAAQ,cAAc,MAAM;AAClE,QAAM,kBAAkB,CAAC,WAAW;AAChC,UAAM,UAAU,cAAc;AAC9B,UAAM,YAAY,MAAM;AACpB,cAAQ,QAAQ;AAChB,aAAO,OAAO,OAAO,IAAI,MAAM,kEAAkE,WAAW,0DAA0D,GAAG,EAAE,MAAM,eAAe,CAAC,CAAC;AAAA,IACtM;AACA,QAAI,QAAQ,QAAQ;AAChB,cAAQ,OAAO,WAAW,SAAS,SAAS;AAC5C,cAAQ,GAAG,SAAS,MAAM,QAAQ,QAAQ,eAAe,WAAW,SAAS,CAAC;AAAA,IAClF,OACK;AACD,cAAQ,WAAW,SAAS,SAAS;AAAA,IACzC;AAAA,EACJ;AACA,MAAI,IAAI,eAAe,cAAc,KAAM;AACvC,oBAAgB,CAAC;AACjB,WAAO;AAAA,EACX;AACA,SAAO,OAAO,WAAW,gBAAgB,KAAK,MAAM,gBAAgB,IAAI,IAAIA,0BAAyB,GAAGA,0BAAyB;AACrI;;;ACtBA,SAAS,gBAAgB;AAEzB,IAAM,gBAAgB;AACtB,eAAsB,iBAAiB,aAAa,SAAS,uBAAuB,eAAe,gBAAgB,OAAO;AACtH,QAAM,UAAU,QAAQ,WAAW,CAAC;AACpC,QAAM,SAAS,QAAQ,UAAU,QAAQ;AACzC,MAAI,YAAY;AAChB,MAAI,WAAW;AACf,MAAI,CAAC,iBAAiB,WAAW,gBAAgB;AAC7C,eAAW,MAAM,QAAQ,KAAK;AAAA,MAC1B,IAAI,QAAQ,CAAC,YAAY;AACrB,oBAAY,OAAO,OAAO,WAAW,MAAM,QAAQ,IAAI,GAAG,KAAK,IAAI,eAAe,oBAAoB,CAAC,CAAC;AAAA,MAC5G,CAAC;AAAA,MACD,IAAI,QAAQ,CAAC,YAAY;AACrB,oBAAY,GAAG,YAAY,MAAM;AAC7B,iBAAO,aAAa,SAAS;AAC7B,kBAAQ,IAAI;AAAA,QAChB,CAAC;AACD,oBAAY,GAAG,YAAY,MAAM;AAC7B,iBAAO,aAAa,SAAS;AAC7B,kBAAQ,KAAK;AAAA,QACjB,CAAC;AACD,oBAAY,GAAG,SAAS,MAAM;AAC1B,iBAAO,aAAa,SAAS;AAC7B,kBAAQ,KAAK;AAAA,QACjB,CAAC;AAAA,MACL,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AACA,MAAI,UAAU;AACV,cAAU,aAAa,QAAQ,IAAI;AAAA,EACvC;AACJ;AACA,SAAS,UAAU,aAAa,MAAM;AAClC,MAAI,gBAAgB,UAAU;AAC1B,SAAK,KAAK,WAAW;AACrB;AAAA,EACJ;AACA,MAAI,MAAM;AACN,QAAI,OAAO,SAAS,IAAI,KAAK,OAAO,SAAS,UAAU;AACnD,kBAAY,IAAI,IAAI;AACpB;AAAA,IACJ;AACA,UAAM,QAAQ;AACd,QAAI,OAAO,UAAU,YACjB,MAAM,UACN,OAAO,MAAM,eAAe,YAC5B,OAAO,MAAM,eAAe,UAAU;AACtC,kBAAY,IAAI,OAAO,KAAK,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU,CAAC;AAC7E;AAAA,IACJ;AACA,gBAAY,IAAI,OAAO,KAAK,IAAI,CAAC;AACjC;AAAA,EACJ;AACA,cAAY,IAAI;AACpB;;;AR1CO,IAAM,kBAAN,MAAM,iBAAgB;AAAA,EACzB;AAAA,EACA;AAAA,EACA,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,WAAW,EAAE,iBAAiB,WAAW;AAAA,EACzC,OAAO,OAAO,mBAAmB;AAC7B,QAAI,OAAO,mBAAmB,WAAW,YAAY;AACjD,aAAO;AAAA,IACX;AACA,WAAO,IAAI,iBAAgB,iBAAiB;AAAA,EAChD;AAAA,EACA,OAAO,iBAAiB,OAAO,wBAAwBC,UAAS,SAAS;AACrE,UAAM,EAAE,SAAS,UAAU,WAAW,IAAI;AAC1C,QAAI,OAAO,eAAe,YAAY,eAAe,UAAU;AAC3D,aAAO;AAAA,IACX;AACA,UAAM,WAAW;AACjB,QAAI,KAAK,IAAI,IAAI,WAAW,wBAAwB;AAChD,aAAO;AAAA,IACX;AACA,QAAI,WAAW,UAAU;AACrB,iBAAW,UAAU,SAAS;AAC1B,cAAM,eAAe,QAAQ,MAAM,GAAG,UAAU;AAChD,cAAM,mBAAmB,SAAS,MAAM,GAAG,UAAU;AACrD,YAAI,gBAAgB,cAAc,oBAAoB,IAAI,YAAY;AAClE,UAAAA,SAAQ,OAAO,6DAA6D,YAAY,QAAQ,gBAAgB;AAAA;AAAA,oFAEhD;AAChE,iBAAO,KAAK,IAAI;AAAA,QACpB;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,YAAY,SAAS;AACjB,SAAK,iBAAiB,IAAI,QAAQ,CAAC,SAAS,WAAW;AACnD,UAAI,OAAO,YAAY,YAAY;AAC/B,gBAAQ,EACH,KAAK,CAAC,aAAa;AACpB,kBAAQ,KAAK,qBAAqB,QAAQ,CAAC;AAAA,QAC/C,CAAC,EACI,MAAM,MAAM;AAAA,MACrB,OACK;AACD,gBAAQ,KAAK,qBAAqB,OAAO,CAAC;AAAA,MAC9C;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EACA,qBAAqB,SAAS;AAC1B,UAAM,EAAE,gBAAgB,mBAAmB,eAAe,iCAAiC,WAAW,YAAY,sBAAuB,IAAI,WAAW,CAAC;AACzJ,UAAM,YAAY;AAClB,UAAM,aAAa;AACnB,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,MAAM;AACd,YAAI,qBAAqB,UAAU,OAAO,WAAW,YAAY,YAAY;AACzE,eAAK,gBAAgB;AACrB,iBAAO;AAAA,QACX;AACA,eAAO,IAAI,OAAO,EAAE,WAAW,YAAY,GAAG,UAAU,CAAC;AAAA,MAC7D,GAAG;AAAA,MACH,aAAa,MAAM;AACf,YAAI,sBAAsB,WAAW,OAAO,YAAY,YAAY,YAAY;AAC5E,eAAK,gBAAgB;AACrB,iBAAO;AAAA,QACX;AACA,eAAO,IAAI,QAAQ,EAAE,WAAW,YAAY,GAAG,WAAW,CAAC;AAAA,MAC/D,GAAG;AAAA,MACH,QAAQ;AAAA,IACZ;AAAA,EACJ;AAAA,EACA,UAAU;AACN,SAAK,QAAQ,WAAW,QAAQ;AAChC,SAAK,QAAQ,YAAY,QAAQ;AAAA,EACrC;AAAA,EACA,MAAM,OAAO,SAAS,EAAE,aAAa,eAAe,IAAI,CAAC,GAAG;AACxD,QAAI,CAAC,KAAK,QAAQ;AACd,WAAK,SAAS,MAAM,KAAK;AAAA,IAC7B;AACA,WAAO,IAAI,QAAQ,CAAC,UAAU,YAAY;AACtC,YAAM,SAAS,KAAK;AACpB,UAAI,0BAA0B;AAC9B,YAAM,WAAW,CAAC;AAClB,YAAM,UAAU,OAAO,QAAQ;AAC3B,cAAM;AACN,iBAAS,QAAQ,OAAO,YAAY;AACpC,iBAAS,GAAG;AAAA,MAChB;AACA,YAAM,SAAS,OAAO,QAAQ;AAC1B,cAAM;AACN,iBAAS,QAAQ,OAAO,YAAY;AACpC,gBAAQ,GAAG;AAAA,MACf;AACA,UAAI,aAAa,SAAS;AACtB,cAAM,aAAa,IAAI,MAAM,iBAAiB;AAC9C,mBAAW,OAAO;AAClB,eAAO,UAAU;AACjB;AAAA,MACJ;AACA,YAAM,QAAQ,QAAQ,aAAa;AACnC,YAAM,UAAU,QAAQ,WAAW,CAAC;AACpC,YAAM,kBAAkB,QAAQ,UAAU,QAAQ,YAAY;AAC9D,UAAI,QAAQ,QAAQ,OAAO,aAAa,OAAO;AAC/C,UAAI,kBAAkB,CAAC,KAAK,eAAe;AACvC,gBAAQ,KAAK,QAAQ,UAAU,QAAQ;AAAA,UACnC,WAAW;AAAA,UACX,YAAY;AAAA,QAChB,CAAC;AAAA,MACL;AACA,eAAS,KAAK,OAAO,WAAW,MAAM;AAClC,aAAK,yBAAyB,iBAAgB,iBAAiB,OAAO,KAAK,wBAAwB,OAAO,MAAM;AAAA,MACpH,GAAG,OAAO,oCAAoC,OAAO,kBAAkB,QAAS,OAAO,qBAAqB,IAAK,CAAC;AAClH,YAAM,cAAc,iBAAiB,QAAQ,SAAS,CAAC,CAAC;AACxD,UAAI,OAAO;AACX,UAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY,MAAM;AACtD,cAAM,WAAW,QAAQ,YAAY;AACrC,cAAM,WAAW,QAAQ,YAAY;AACrC,eAAO,GAAG,QAAQ,IAAI,QAAQ;AAAA,MAClC;AACA,UAAI,OAAO,QAAQ;AACnB,UAAI,aAAa;AACb,gBAAQ,IAAI,WAAW;AAAA,MAC3B;AACA,UAAI,QAAQ,UAAU;AAClB,gBAAQ,IAAI,QAAQ,QAAQ;AAAA,MAChC;AACA,UAAI,WAAW,QAAQ,YAAY;AACnC,UAAI,SAAS,CAAC,MAAM,OAAO,SAAS,SAAS,GAAG,GAAG;AAC/C,mBAAW,QAAQ,SAAS,MAAM,GAAG,EAAE;AAAA,MAC3C,OACK;AACD,mBAAW,QAAQ;AAAA,MACvB;AACA,YAAM,mBAAmB;AAAA,QACrB,SAAS,QAAQ;AAAA,QACjB,MAAM;AAAA,QACN,QAAQ,QAAQ;AAAA,QAChB;AAAA,QACA,MAAM,QAAQ;AAAA,QACd;AAAA,QACA;AAAA,MACJ;AACA,YAAM,cAAc,QAAQ,YAAY;AACxC,YAAM,MAAM,YAAY,kBAAkB,CAAC,QAAQ;AAC/C,cAAM,eAAe,IAAI,aAAa;AAAA,UAClC,YAAY,IAAI,cAAc;AAAA,UAC9B,QAAQ,IAAI;AAAA,UACZ,SAAS,sBAAsB,IAAI,OAAO;AAAA,UAC1C,MAAM;AAAA,QACV,CAAC;AACD,gBAAQ,EAAE,UAAU,aAAa,CAAC;AAAA,MACtC,CAAC;AACD,UAAI,GAAG,SAAS,CAAC,QAAQ;AACrB,YAAI,2BAA2B,SAAS,IAAI,IAAI,GAAG;AAC/C,iBAAO,OAAO,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC,CAAC;AAAA,QACvD,OACK;AACD,iBAAO,GAAG;AAAA,QACd;AAAA,MACJ,CAAC;AACD,UAAI,aAAa;AACb,cAAM,UAAU,MAAM;AAClB,cAAI,QAAQ;AACZ,gBAAM,aAAa,IAAI,MAAM,iBAAiB;AAC9C,qBAAW,OAAO;AAClB,iBAAO,UAAU;AAAA,QACrB;AACA,YAAI,OAAO,YAAY,qBAAqB,YAAY;AACpD,gBAAM,SAAS;AACf,iBAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AACxD,cAAI,KAAK,SAAS,MAAM,OAAO,oBAAoB,SAAS,OAAO,CAAC;AAAA,QACxE,OACK;AACD,sBAAY,UAAU;AAAA,QAC1B;AAAA,MACJ;AACA,YAAM,0BAA0B,kBAAkB,OAAO;AACzD,eAAS,KAAK,qBAAqB,KAAK,QAAQ,OAAO,iBAAiB,CAAC;AACzE,eAAS,KAAK,kBAAkB,KAAK,QAAQ,yBAAyB,OAAO,uBAAuB,OAAO,UAAU,OAAO,CAAC;AAC7H,eAAS,KAAK,iBAAiB,KAAK,QAAQ,OAAO,aAAa,CAAC;AACjE,YAAM,YAAY,iBAAiB;AACnC,UAAI,OAAO,cAAc,YAAY,eAAe,WAAW;AAC3D,iBAAS,KAAK,mBAAmB,KAAK;AAAA,UAClC,WAAW,UAAU;AAAA,UACrB,gBAAgB,UAAU;AAAA,QAC9B,CAAC,CAAC;AAAA,MACN;AACA,gCAA0B,iBAAiB,KAAK,SAAS,yBAAyB,KAAK,aAAa,EAAE,MAAM,CAAC,MAAM;AAC/G,iBAAS,QAAQ,OAAO,YAAY;AACpC,eAAO,QAAQ,CAAC;AAAA,MACpB,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EACA,uBAAuB,KAAK,OAAO;AAC/B,SAAK,SAAS;AACd,SAAK,iBAAiB,KAAK,eAAe,KAAK,CAAC,WAAW;AACvD,aAAO;AAAA,QACH,GAAG;AAAA,QACH,CAAC,GAAG,GAAG;AAAA,MACX;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EACA,qBAAqB;AACjB,WAAO,KAAK,UAAU,CAAC;AAAA,EAC3B;AACJ;;;AS/NA,SAAS,gBAAgB;AAClB,IAAM,YAAN,cAAwB,SAAS;AAAA,EACpC,gBAAgB,CAAC;AAAA,EACjB,OAAO,OAAO,UAAU,UAAU;AAC9B,SAAK,cAAc,KAAK,KAAK;AAC7B,aAAS;AAAA,EACb;AACJ;;;ACNO,IAAM,kBAAkB,CAAC,WAAW;AACvC,MAAI,yBAAyB,MAAM,GAAG;AAClC,WAAO,sBAAsB,MAAM;AAAA,EACvC;AACA,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,UAAM,YAAY,IAAI,UAAU;AAChC,WAAO,KAAK,SAAS;AACrB,WAAO,GAAG,SAAS,CAAC,QAAQ;AACxB,gBAAU,IAAI;AACd,aAAO,GAAG;AAAA,IACd,CAAC;AACD,cAAU,GAAG,SAAS,MAAM;AAC5B,cAAU,GAAG,UAAU,WAAY;AAC/B,YAAM,QAAQ,IAAI,WAAW,OAAO,OAAO,KAAK,aAAa,CAAC;AAC9D,cAAQ,KAAK;AAAA,IACjB,CAAC;AAAA,EACL,CAAC;AACL;AACA,IAAM,2BAA2B,CAAC,WAAW,OAAO,mBAAmB,cAAc,kBAAkB;AACvG,eAAe,sBAAsB,QAAQ;AACzC,QAAM,SAAS,CAAC;AAChB,QAAM,SAAS,OAAO,UAAU;AAChC,MAAI,SAAS;AACb,MAAI,SAAS;AACb,SAAO,CAAC,QAAQ;AACZ,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,QAAI,OAAO;AACP,aAAO,KAAK,KAAK;AACjB,gBAAU,MAAM;AAAA,IACpB;AACA,aAAS;AAAA,EACb;AACA,QAAM,YAAY,IAAI,WAAW,MAAM;AACvC,MAAI,SAAS;AACb,aAAW,SAAS,QAAQ;AACxB,cAAU,IAAI,OAAO,MAAM;AAC3B,cAAU,MAAM;AAAA,EACpB;AACA,SAAO;AACX;;;ACxCO,IAAM,eAAe,CAAC,UAAU;AACnC,UAAQ,OAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX;AACI,YAAM,IAAI,MAAM,kCAAkC,KAAK,GAAG;AAAA,EAClE;AACJ;AAiCO,IAAM,eAAe,CAAC,UAAU;AACnC,MAAI,UAAU,QAAQ,UAAU,QAAW;AACvC,WAAO;AAAA,EACX;AACA,MAAI,OAAO,UAAU,UAAU;AAC3B,UAAM,SAAS,WAAW,KAAK;AAC/B,QAAI,CAAC,OAAO,MAAM,MAAM,GAAG;AACvB,UAAI,OAAO,MAAM,MAAM,OAAO,KAAK,GAAG;AAClC,eAAO,KAAK,kBAAkB,wCAAwC,KAAK,EAAE,CAAC;AAAA,MAClF;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AACA,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO;AAAA,EACX;AACA,QAAM,IAAI,UAAU,wBAAwB,OAAO,KAAK,KAAK,KAAK,EAAE;AACxE;AACA,IAAM,YAAY,KAAK,KAAK,KAAK,OAAO,IAAI,KAAK,IAAI;AAC9C,IAAM,gBAAgB,CAAC,UAAU;AACpC,QAAM,WAAW,aAAa,KAAK;AACnC,MAAI,aAAa,UAAa,CAAC,OAAO,MAAM,QAAQ,KAAK,aAAa,YAAY,aAAa,WAAW;AACtG,QAAI,KAAK,IAAI,QAAQ,IAAI,WAAW;AAChC,YAAM,IAAI,UAAU,8BAA8B,KAAK,EAAE;AAAA,IAC7D;AAAA,EACJ;AACA,SAAO;AACX;AACO,IAAM,aAAa,CAAC,UAAU;AACjC,MAAI,UAAU,QAAQ,UAAU,QAAW;AACvC,WAAO;AAAA,EACX;AACA,MAAI,OAAO,UAAU,KAAK,KAAK,CAAC,OAAO,MAAM,KAAK,GAAG;AACjD,WAAO;AAAA,EACX;AACA,QAAM,IAAI,UAAU,yBAAyB,OAAO,KAAK,KAAK,KAAK,EAAE;AACzE;AAEO,IAAM,cAAc,CAAC,UAAU,eAAe,OAAO,EAAE;AACvD,IAAM,cAAc,CAAC,UAAU,eAAe,OAAO,EAAE;AACvD,IAAM,aAAa,CAAC,UAAU,eAAe,OAAO,CAAC;AAC5D,IAAM,iBAAiB,CAAC,OAAO,SAAS;AACpC,QAAM,WAAW,WAAW,KAAK;AACjC,MAAI,aAAa,UAAa,QAAQ,UAAU,IAAI,MAAM,UAAU;AAChE,UAAM,IAAI,UAAU,YAAY,IAAI,qBAAqB,KAAK,EAAE;AAAA,EACpE;AACA,SAAO;AACX;AACA,IAAM,UAAU,CAAC,OAAO,SAAS;AAC7B,UAAQ,MAAM;AAAA,IACV,KAAK;AACD,aAAO,WAAW,GAAG,KAAK,EAAE,CAAC;AAAA,IACjC,KAAK;AACD,aAAO,WAAW,GAAG,KAAK,EAAE,CAAC;AAAA,IACjC,KAAK;AACD,aAAO,UAAU,GAAG,KAAK,EAAE,CAAC;AAAA,EACpC;AACJ;AACO,IAAM,gBAAgB,CAAC,OAAO,aAAa;AAC9C,MAAI,UAAU,QAAQ,UAAU,QAAW;AACvC,QAAI,UAAU;AACV,YAAM,IAAI,UAAU,iCAAiC,QAAQ,EAAE;AAAA,IACnE;AACA,UAAM,IAAI,UAAU,2BAA2B;AAAA,EACnD;AACA,SAAO;AACX;AACO,IAAM,eAAe,CAAC,UAAU;AACnC,MAAI,UAAU,QAAQ,UAAU,QAAW;AACvC,WAAO;AAAA,EACX;AACA,MAAI,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,GAAG;AACpD,WAAO;AAAA,EACX;AACA,QAAM,eAAe,MAAM,QAAQ,KAAK,IAAI,UAAU,OAAO;AAC7D,QAAM,IAAI,UAAU,wBAAwB,YAAY,KAAK,KAAK,EAAE;AACxE;AACO,IAAM,eAAe,CAAC,UAAU;AACnC,MAAI,UAAU,QAAQ,UAAU,QAAW;AACvC,WAAO;AAAA,EACX;AACA,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO;AAAA,EACX;AACA,MAAI,CAAC,WAAW,UAAU,QAAQ,EAAE,SAAS,OAAO,KAAK,GAAG;AACxD,WAAO,KAAK,kBAAkB,wBAAwB,OAAO,KAAK,KAAK,KAAK,EAAE,CAAC;AAC/E,WAAO,OAAO,KAAK;AAAA,EACvB;AACA,QAAM,IAAI,UAAU,wBAAwB,OAAO,KAAK,KAAK,KAAK,EAAE;AACxE;AAwBO,IAAM,qBAAqB,CAAC,UAAU;AACzC,MAAI,OAAO,SAAS,UAAU;AAC1B,WAAO,cAAc,YAAY,KAAK,CAAC;AAAA,EAC3C;AACA,SAAO,cAAc,KAAK;AAC9B;AACA,IAAM,eAAe;AACrB,IAAM,cAAc,CAAC,UAAU;AAC3B,QAAM,UAAU,MAAM,MAAM,YAAY;AACxC,MAAI,YAAY,QAAQ,QAAQ,CAAC,EAAE,WAAW,MAAM,QAAQ;AACxD,UAAM,IAAI,UAAU,wCAAwC;AAAA,EAChE;AACA,SAAO,WAAW,KAAK;AAC3B;AA2BO,IAAM,kBAAkB,CAAC,UAAU;AACtC,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO,WAAW,YAAY,KAAK,CAAC;AAAA,EACxC;AACA,SAAO,WAAW,KAAK;AAC3B;AAEO,IAAM,mBAAmB,CAAC,UAAU;AACvC,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO,YAAY,YAAY,KAAK,CAAC;AAAA,EACzC;AACA,SAAO,YAAY,KAAK;AAC5B;AACO,IAAM,mBAAmB,CAAC,UAAU;AACvC,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO,YAAY,YAAY,KAAK,CAAC;AAAA,EACzC;AACA,SAAO,YAAY,KAAK;AAC5B;AACO,IAAM,kBAAkB,CAAC,UAAU;AACtC,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO,WAAW,YAAY,KAAK,CAAC;AAAA,EACxC;AACA,SAAO,WAAW,KAAK;AAC3B;AACA,IAAM,oBAAoB,CAAC,YAAY;AACnC,SAAO,OAAO,IAAI,UAAU,OAAO,EAAE,SAAS,OAAO,EAChD,MAAM,IAAI,EACV,MAAM,GAAG,CAAC,EACV,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,mBAAmB,CAAC,EAC9C,KAAK,IAAI;AAClB;AACO,IAAM,SAAS;AAAA,EAClB,MAAM,QAAQ;AAClB;;;ACpOA,IAAM,eAAe;AACd,IAAM,aAAa,CAAC,UAAU;AACjC,MAAK,MAAM,SAAS,IAAK,MAAM,GAAG;AAC9B,UAAM,IAAI,UAAU,qCAAqC;AAAA,EAC7D;AACA,MAAI,CAAC,aAAa,KAAK,KAAK,GAAG;AAC3B,UAAM,IAAI,UAAU,wBAAwB;AAAA,EAChD;AACA,QAAM,SAAS,WAAW,OAAO,QAAQ;AACzC,SAAO,IAAI,WAAW,OAAO,QAAQ,OAAO,YAAY,OAAO,UAAU;AAC7E;;;ACTO,IAAM,WAAW,CAAC,WAAW;AAChC,MAAI;AACJ,MAAI,OAAO,WAAW,UAAU;AAC5B,YAAQ,SAAS,MAAM;AAAA,EAC3B,OACK;AACD,YAAQ;AAAA,EACZ;AACA,MAAI,OAAO,UAAU,YAAY,OAAO,MAAM,eAAe,YAAY,OAAO,MAAM,eAAe,UAAU;AAC3G,UAAM,IAAI,MAAM,kFAAkF;AAAA,EACtG;AACA,SAAO,gBAAgB,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU,EAAE,SAAS,QAAQ;AAC9F;;;ACdA,IAAM,eAAe,CAAC;AACtB,IAAM,eAAe,CAAC;AACtB,SAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC1B,MAAI,cAAc,EAAE,SAAS,EAAE,EAAE,YAAY;AAC7C,MAAI,YAAY,WAAW,GAAG;AAC1B,kBAAc,IAAI,WAAW;AAAA,EACjC;AACA,eAAa,CAAC,IAAI;AAClB,eAAa,WAAW,IAAI;AAChC;AACO,SAAS,QAAQ,SAAS;AAC7B,MAAI,QAAQ,SAAS,MAAM,GAAG;AAC1B,UAAM,IAAI,MAAM,qDAAqD;AAAA,EACzE;AACA,QAAM,MAAM,IAAI,WAAW,QAAQ,SAAS,CAAC;AAC7C,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK,GAAG;AACxC,UAAM,cAAc,QAAQ,MAAM,GAAG,IAAI,CAAC,EAAE,YAAY;AACxD,QAAI,eAAe,cAAc;AAC7B,UAAI,IAAI,CAAC,IAAI,aAAa,WAAW;AAAA,IACzC,OACK;AACD,YAAM,IAAI,MAAM,uCAAuC,WAAW,iBAAiB;AAAA,IACvF;AAAA,EACJ;AACA,SAAO;AACX;AACO,SAAS,MAAM,OAAO;AACzB,MAAI,MAAM;AACV,WAAS,IAAI,GAAG,IAAI,MAAM,YAAY,KAAK;AACvC,WAAO,aAAa,MAAM,CAAC,CAAC;AAAA,EAChC;AACA,SAAO;AACX;","names":["logger","DEFER_EVENT_LISTENER_TIME","DEFER_EVENT_LISTENER_TIME","logger"]}
|