{"version":3,"sources":["jsdelivr-header.js","/npm/@aws-sdk/middleware-user-agent@3.826.0/dist-es/configurations.js","/npm/@aws-sdk/middleware-user-agent@3.826.0/dist-es/check-features.js","/npm/@aws-sdk/middleware-user-agent@3.826.0/dist-es/constants.js","/npm/@aws-sdk/middleware-user-agent@3.826.0/dist-es/user-agent-middleware.js","/npm/@aws-sdk/middleware-user-agent@3.826.0/dist-es/encode-features.js"],"names":[],"mappings":"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","file":"/npm/@aws-sdk/middleware-user-agent@3.826.0/dist-es/index.js/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/@aws-sdk/middleware-user-agent@3.826.0/dist-es/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { normalizeProvider } from \"@smithy/core\";\nexport const DEFAULT_UA_APP_ID = undefined;\nfunction isValidUserAgentAppId(appId) {\n    if (appId === undefined) {\n        return true;\n    }\n    return typeof appId === \"string\" && appId.length <= 50;\n}\nexport function resolveUserAgentConfig(input) {\n    const normalizedAppIdProvider = normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID);\n    const { customUserAgent } = input;\n    return Object.assign(input, {\n        customUserAgent: typeof customUserAgent === \"string\" ? [[customUserAgent]] : customUserAgent,\n        userAgentAppId: async () => {\n            const appId = await normalizedAppIdProvider();\n            if (!isValidUserAgentAppId(appId)) {\n                const logger = input.logger?.constructor?.name === \"NoOpLogger\" || !input.logger ? console : input.logger;\n                if (typeof appId !== \"string\") {\n                    logger?.warn(\"userAgentAppId must be a string or undefined.\");\n                }\n                else if (appId.length > 50) {\n                    logger?.warn(\"The provided userAgentAppId exceeds the maximum length of 50 characters.\");\n                }\n            }\n            return appId;\n        },\n    });\n}\n","import { setFeature } from \"@aws-sdk/core\";\nconst ACCOUNT_ID_ENDPOINT_REGEX = /\\d{12}\\.ddb/;\nexport async function checkFeatures(context, config, args) {\n    const request = args.request;\n    if (request?.headers?.[\"smithy-protocol\"] === \"rpc-v2-cbor\") {\n        setFeature(context, \"PROTOCOL_RPC_V2_CBOR\", \"M\");\n    }\n    if (typeof config.retryStrategy === \"function\") {\n        const retryStrategy = await config.retryStrategy();\n        if (typeof retryStrategy.acquireInitialRetryToken === \"function\") {\n            if (retryStrategy.constructor?.name?.includes(\"Adaptive\")) {\n                setFeature(context, \"RETRY_MODE_ADAPTIVE\", \"F\");\n            }\n            else {\n                setFeature(context, \"RETRY_MODE_STANDARD\", \"E\");\n            }\n        }\n        else {\n            setFeature(context, \"RETRY_MODE_LEGACY\", \"D\");\n        }\n    }\n    if (typeof config.accountIdEndpointMode === \"function\") {\n        const endpointV2 = context.endpointV2;\n        if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {\n            setFeature(context, \"ACCOUNT_ID_ENDPOINT\", \"O\");\n        }\n        switch (await config.accountIdEndpointMode?.()) {\n            case \"disabled\":\n                setFeature(context, \"ACCOUNT_ID_MODE_DISABLED\", \"Q\");\n                break;\n            case \"preferred\":\n                setFeature(context, \"ACCOUNT_ID_MODE_PREFERRED\", \"P\");\n                break;\n            case \"required\":\n                setFeature(context, \"ACCOUNT_ID_MODE_REQUIRED\", \"R\");\n                break;\n        }\n    }\n    const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity;\n    if (identity?.$source) {\n        const credentials = identity;\n        if (credentials.accountId) {\n            setFeature(context, \"RESOLVED_ACCOUNT_ID\", \"T\");\n        }\n        for (const [key, value] of Object.entries(credentials.$source ?? {})) {\n            setFeature(context, key, value);\n        }\n    }\n}\n","export const USER_AGENT = \"user-agent\";\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport const SPACE = \" \";\nexport const UA_NAME_SEPARATOR = \"/\";\nexport const UA_NAME_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\nexport const UA_VALUE_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w\\#]/g;\nexport const UA_ESCAPE_CHAR = \"-\";\n","import { getUserAgentPrefix } from \"@aws-sdk/util-endpoints\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { checkFeatures } from \"./check-features\";\nimport { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from \"./constants\";\nimport { encodeFeatures } from \"./encode-features\";\nexport const userAgentMiddleware = (options) => (next, context) => async (args) => {\n    const { request } = args;\n    if (!HttpRequest.isInstance(request)) {\n        return next(args);\n    }\n    const { headers } = request;\n    const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n    const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n    await checkFeatures(context, options, args);\n    const awsContext = context;\n    defaultUserAgent.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);\n    const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n    const appId = await options.userAgentAppId();\n    if (appId) {\n        defaultUserAgent.push(escapeUserAgent([`app/${appId}`]));\n    }\n    const prefix = getUserAgentPrefix();\n    const sdkUserAgentValue = (prefix ? [prefix] : [])\n        .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\n        .join(SPACE);\n    const normalUAValue = [\n        ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n        ...customUserAgent,\n    ].join(SPACE);\n    if (options.runtime !== \"browser\") {\n        if (normalUAValue) {\n            headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n                ? `${headers[USER_AGENT]} ${normalUAValue}`\n                : normalUAValue;\n        }\n        headers[USER_AGENT] = sdkUserAgentValue;\n    }\n    else {\n        headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n    }\n    return next({\n        ...args,\n        request,\n    });\n};\nconst escapeUserAgent = (userAgentPair) => {\n    const name = userAgentPair[0]\n        .split(UA_NAME_SEPARATOR)\n        .map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR))\n        .join(UA_NAME_SEPARATOR);\n    const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n    const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n    const prefix = name.substring(0, prefixSeparatorIndex);\n    let uaName = name.substring(prefixSeparatorIndex + 1);\n    if (prefix === \"api\") {\n        uaName = uaName.toLowerCase();\n    }\n    return [prefix, uaName, version]\n        .filter((item) => item && item.length > 0)\n        .reduce((acc, item, index) => {\n        switch (index) {\n            case 0:\n                return item;\n            case 1:\n                return `${acc}/${item}`;\n            default:\n                return `${acc}#${item}`;\n        }\n    }, \"\");\n};\nexport const getUserAgentMiddlewareOptions = {\n    name: \"getUserAgentMiddleware\",\n    step: \"build\",\n    priority: \"low\",\n    tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n    override: true,\n};\nexport const getUserAgentPlugin = (config) => ({\n    applyToStack: (clientStack) => {\n        clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n    },\n});\n","const BYTE_LIMIT = 1024;\nexport function encodeFeatures(features) {\n    let buffer = \"\";\n    for (const key in features) {\n        const val = features[key];\n        if (buffer.length + val.length + 1 <= BYTE_LIMIT) {\n            if (buffer.length) {\n                buffer += \",\" + val;\n            }\n            else {\n                buffer += val;\n            }\n            continue;\n        }\n        break;\n    }\n    return buffer;\n}\n"]}