coze-coding-dev-sdk 0.7.19-beta.18 → 0.7.19-beta.19

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/131.mjs CHANGED
@@ -1,11 +1,11 @@
1
- let e,i,n,t,a,r,o,u,s,l,h,g,c,d;import*as p from"buffer";import*as f from"crypto";import*as m from"events";import*as y from"fs";import*as S from"node:fs";import*as b from"node:fs/promises";import*as C from"node:stream";import*as w from"os";import*as T from"path";import*as x from"stream";import*as L from"zlib";import{__webpack_require__ as E}from"./rslib-runtime.mjs";import _ from"axios";import{URL as Y,parse as D}from"url";import{ChatOpenAI as v}from"@langchain/openai";import{AIMessage as A,HumanMessage as N,SystemMessage as P}from"@langchain/core/messages";import Z from"pg";import{exec as R,execSync as M}from"child_process";import{env as J,versions as k}from"process";import{Agent as B,request as H}from"http";import{Agent as F,request as X}from"https";E.add({"./node_modules/dotenv/lib/main.js"(e,i,n){let t=n("fs"),a=n("path"),r=n("os"),o=n("crypto"),u=n("./node_modules/dotenv/package.json").version,s=["\uD83D\uDD10 encrypt with Dotenvx: https://dotenvx.com","\uD83D\uDD10 prevent committing .env to code: https://dotenvx.com/precommit","\uD83D\uDD10 prevent building .env in docker: https://dotenvx.com/prebuild","\uD83D\uDCE1 add observability to secrets: https://dotenvx.com/ops","\uD83D\uDC65 sync secrets across teammates & machines: https://dotenvx.com/ops","\uD83D\uDDC2️ backup and recover secrets: https://dotenvx.com/ops","✅ audit secrets and track compliance: https://dotenvx.com/ops","\uD83D\uDD04 add secrets lifecycle management: https://dotenvx.com/ops","\uD83D\uDD11 add access controls to secrets: https://dotenvx.com/ops","\uD83D\uDEE0️ run anywhere with `dotenvx run -- yourcommand`","⚙️ specify custom .env file path with { path: '/custom/path/.env' }","⚙️ enable debug logging with { debug: true }","⚙️ override existing env vars with { override: true }","⚙️ suppress all logs with { quiet: true }","⚙️ write to custom object with { processEnv: myObject }","⚙️ load multiple .env files with { path: ['.env.local', '.env'] }"];function _getRandomTip(){return s[Math.floor(Math.random()*s.length)]}function parseBoolean(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function supportsAnsi(){return process.stdout.isTTY}function dim(e){return supportsAnsi()?`\x1b[2m${e}\x1b[0m`:e}let l=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function _warn(e){console.error(`[dotenv@${u}][WARN] ${e}`)}function _debug(e){console.log(`[dotenv@${u}][DEBUG] ${e}`)}function _log(e){console.log(`[dotenv@${u}] ${e}`)}function _dotenvKey(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function _instructions(e,i){let n;try{n=new URL(i)}catch(e){if("ERR_INVALID_URL"===e.code){let e=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw e.code="INVALID_DOTENV_KEY",e}throw e}let t=n.password;if(!t){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let a=n.searchParams.get("environment");if(!a){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let r=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[r];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${r} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:t}}function _vaultPath(e){let i=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let n of e.path)t.existsSync(n)&&(i=n.endsWith(".vault")?n:`${n}.vault`);else i=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else i=a.resolve(process.cwd(),".env.vault");return t.existsSync(i)?i:null}function _resolveHome(e){return"~"===e[0]?a.join(r.homedir(),e.slice(1)):e}let h={configDotenv:function(e){let i,n=a.resolve(process.cwd(),".env"),r="utf8",o=process.env;e&&null!=e.processEnv&&(o=e.processEnv);let u=parseBoolean(o.DOTENV_CONFIG_DEBUG||e&&e.debug),s=parseBoolean(o.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:u&&_debug("No encoding is specified. UTF-8 is used by default");let l=[n];if(e&&e.path)if(Array.isArray(e.path))for(let i of(l=[],e.path))l.push(_resolveHome(i));else l=[_resolveHome(e.path)];let g={};for(let n of l)try{let i=h.parse(t.readFileSync(n,{encoding:r}));h.populate(g,i,e)}catch(e){u&&_debug(`Failed to load ${n} ${e.message}`),i=e}let c=h.populate(o,g,e);if(u=parseBoolean(o.DOTENV_CONFIG_DEBUG||u),s=parseBoolean(o.DOTENV_CONFIG_QUIET||s),u||!s){let e=Object.keys(c).length,n=[];for(let e of l)try{let i=a.relative(process.cwd(),e);n.push(i)}catch(n){u&&_debug(`Failed to load ${e} ${n.message}`),i=n}_log(`injecting env (${e}) from ${n.join(",")} ${dim(`-- tip: ${_getRandomTip()}`)}`)}return i?{parsed:g,error:i}:{parsed:g}},_configVault:function(e){let i=parseBoolean(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),n=parseBoolean(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(i||!n)&&_log("Loading env from encrypted .env.vault");let t=h._parseVault(e),a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),h.populate(a,t,e),{parsed:t}},_parseVault:function(e){let i,n=_vaultPath(e=e||{});e.path=n;let t=h.configDotenv(e);if(!t.parsed){let e=Error(`MISSING_DATA: Cannot parse ${n} for an unknown reason`);throw e.code="MISSING_DATA",e}let a=_dotenvKey(e).split(","),r=a.length;for(let e=0;e<r;e++)try{let n=a[e].trim(),r=_instructions(t,n);i=h.decrypt(r.ciphertext,r.key);break}catch(i){if(e+1>=r)throw i}return h.parse(i)},config:function(e){if(0===_dotenvKey(e).length)return h.configDotenv(e);let i=_vaultPath(e);return i?h._configVault(e):(_warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${i}. Did you forget to build it?`),h.configDotenv(e))},decrypt:function(e,i){let n=Buffer.from(i.slice(-64),"hex"),t=Buffer.from(e,"base64"),a=t.subarray(0,12),r=t.subarray(-16);t=t.subarray(12,-16);try{let e=o.createDecipheriv("aes-256-gcm",n,a);return e.setAuthTag(r),`${e.update(t)}${e.final()}`}catch(t){let e=t instanceof RangeError,i="Invalid key length"===t.message,n="Unsupported state or unable to authenticate data"===t.message;if(e||i){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(n){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw t}},parse:function(e){let i,n={},t=e.toString();for(t=t.replace(/\r\n?/mg,"\n");null!=(i=l.exec(t));){let e=i[1],t=i[2]||"",a=(t=t.trim())[0];t=t.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===a&&(t=(t=t.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),n[e]=t}return n},populate:function(e,i,n={}){let t=!!(n&&n.debug),a=!!(n&&n.override),r={};if("object"!=typeof i){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let n of Object.keys(i))Object.prototype.hasOwnProperty.call(e,n)?(!0===a&&(e[n]=i[n],r[n]=i[n]),t&&(!0===a?_debug(`"${n}" is already defined and WAS overwritten`):_debug(`"${n}" is already defined and was NOT overwritten`))):(e[n]=i[n],r[n]=i[n]);return r}};e.exports.configDotenv=h.configDotenv,e.exports._configVault=h._configVault,e.exports._parseVault=h._parseVault,e.exports.config=h.config,e.exports.decrypt=h.decrypt,e.exports.parse=h.parse,e.exports.populate=h.populate,e.exports=h},buffer(e){e.exports=p},crypto(e){e.exports=f},events(e){e.exports=m},fs(e){e.exports=y},"node:fs"(e){e.exports=S},"node:fs/promises"(e){e.exports=b},"node:stream"(e){e.exports=C},os(e){e.exports=w},path(e){e.exports=T},stream(e){e.exports=x},zlib(e){e.exports=L},"./node_modules/dotenv/package.json"(e){e.exports=JSON.parse('{"name":"dotenv","version":"17.2.3","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')}});var I,O,Q,U,G,q,$,K,z,W,j,V,ee,ei,en,et,ea,er,eo,eu,es,el,eh,eg,ec,ed,ep,ef,em={};E.r(em),E.d(em,{T:()=>eC});var ey={};E.r(ey),E.d(ey,{n:()=>e_,p:()=>eY});var eS={};E.r(eS),E.d(eS,{F:()=>mU});var eb={};E.r(eb),E.d(eb,{c:()=>eQ});class eC{apiKey;baseUrl;modelBaseUrl;retryTimes;retryDelay;timeout;constructor(e){this.apiKey=e?.apiKey||process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",this.baseUrl=e?.baseUrl||process.env.COZE_INTEGRATION_BASE_URL||"",this.modelBaseUrl=e?.modelBaseUrl||process.env.COZE_INTEGRATION_MODEL_BASE_URL||"",this.retryTimes=e?.retryTimes??3,this.retryDelay=e?.retryDelay??1,this.timeout=e?.timeout??9e5}validate(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.")}getHeaders(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.");return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}}class ew extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class eT extends Error{statusCode;response;constructor(e,i,n){super(e),this.name="APIError",this.statusCode=i,this.response=n}}class ex extends Error{originalError;constructor(e,i){super(e),this.originalError=i,this.name="NetworkError"}}class eL extends Error{constructor(e){super(e),this.name="ValidationError"}}class eE{config;axiosInstance;verbose;constructor(e,i,n=!1){this.config=e||new eC,this.verbose=n,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...i}})}async request(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}async requestWithResponse(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}sanitizeHeaders(e){let i=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],n={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();i.some(i=>e.includes(i))?n[t]="***":n[t]=a}return n}logRequest(e,i,n,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${i}`);let a={};Object.assign(a,this.axiosInstance.defaults.headers.common||{},this.axiosInstance.defaults.headers[e.toLowerCase()]||{},t?.headers||{});let r=this.sanitizeHeaders(a);for(let[e,i]of(console.log("\nHeaders:"),Object.entries(r)))console.log(` ${e}: ${i}`);n&&(console.log("\nBody:"),console.log(JSON.stringify(n,null,2))),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}logResponse(e){if(console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE5 HTTP Response"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Status: ${e.status} ${e.statusText}`),e.headers)for(let[i,n]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${i}: ${n}`);if(e.data){console.log("\nBody:");let i="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(i.length>1e3?i.substring(0,1e3)+"\n... (truncated)":i)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(i=>setTimeout(i,e))}}let e_=["x-tt-logid","x-tt-env","x-use-ppe","x-tt-env-fe","x-run-mode","rpc-persist-res-rec-biz-scene","rpc-persist-coze-record-root-id","rpc-persist-res-rec-root-entity-type","rpc-persist-res-rec-root-entity-id","rpc-persist-res-rec-ext-info"];class eY{static extractForwardHeaders(e){let i={};return e instanceof Headers?e_.forEach(n=>{let t=e.get(n);t&&(i[n]=t)}):e_.forEach(n=>{let t=e[n]||e[n.toLowerCase()];t&&(i[n]=t)}),i}}let eD=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]),ev=new Set(["http:","https:"]),eA=[["code.coze.cn","/api/sandbox/coze_coding/file/proxy"]];class eN extends eL{url;constructor(e,i){super(e),this.name="URLValidationError",this.url=i}}async function url_utils_validateUrl(e,i){let n,{allowHeadCheck:t=!0,timeout:a=5e3}=i||{};if(!e||"string"!=typeof e)throw new eN("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eN("URL cannot be empty",e);try{n=new Y(e)}catch{if(isLocalPath(e))throw new eN(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eN(`Invalid URL format: ${e}`,e)}if(!ev.has(n.protocol))throw new eN(`Unsupported scheme '${n.protocol}', only http/https allowed`,e);let r=n.hostname;if(!r)throw new eN(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(r.toLowerCase())||eD.has(r.replace(/^\[|\]$/g,"").toLowerCase()))throw new eN(`Access to local address is not allowed: ${r}`,e);if(isEphemeralUrl(e))throw new eN("This URL appears to be a temporary sandbox proxy URL that may expire. Please download the file and upload it to persistent storage (Storage skill) first.",e);return t&&await headCheck(e,a),e}function isEphemeralUrl(e){try{let i=new Y(e),n=i.hostname.toLowerCase(),t=i.pathname;for(let[e,i]of eA)if(n===e&&t.startsWith(i))return!0}catch{}return!1}function isLocalPath(e){return!!e&&!!(e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||e.startsWith("~/")||e.length>=3&&/^[a-zA-Z]$/.test(e[0])&&":"===e[1]&&("/"===e[2]||"\\"===e[2]))}function validateUrlSync(e){let i;if(!e||"string"!=typeof e)throw new eN("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eN("URL cannot be empty",e);try{i=new Y(e)}catch{if(isLocalPath(e))throw new eN(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eN(`Invalid URL format: ${e}`,e)}if(!ev.has(i.protocol))throw new eN(`Unsupported scheme '${i.protocol}', only http/https allowed`,e);let n=i.hostname;if(!n)throw new eN(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(n.toLowerCase())||eD.has(n.replace(/^\[|\]$/g,"").toLowerCase()))throw new eN(`Access to local address is not allowed: ${n}`,e);return e}async function headCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let a=await fetch(e,{method:"HEAD",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0"}});if(405===a.status){clearTimeout(t),await rangeCheck(e,i);return}if(!a.ok)throw new eN(`URL is not reachable: HTTP ${a.status}`,e)}catch(n){if(n instanceof eN)throw n;if("AbortError"===n.name)throw new eN(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eN(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}async function rangeCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let i=await fetch(e,{method:"GET",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0",Range:"bytes=0-0"}});if(405===i.status||400===i.status)return;if(i.status>=400)throw new eN(`URL is not reachable: HTTP ${i.status}`,e)}catch(n){if(n instanceof eN)throw n;if("AbortError"===n.name)throw new eN(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eN(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}class eP{static DEFAULT_MODEL="doubao-seedream-5-0-260128";static DEFAULT_SIZE="2K";static DEFAULT_CUSTOM_SIZE="2048x2048";static DEFAULT_WATERMARK=!0;static DEFAULT_RESPONSE_FORMAT="url";static DEFAULT_OPTIMIZE_PROMPT_MODE="standard";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION="disabled";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES=15;static MIN_TOTAL_PIXELS=3686400;static MAX_TOTAL_PIXELS=0x1000000;static MIN_ASPECT_RATIO=1/16;static MAX_ASPECT_RATIO=16;static PRESET_SIZES=["2K","4K"]}function validateImageSize(e){if(eP.PRESET_SIZES.includes(e))return e;let i=e.match(/^(\d+)x(\d+)$/);if(!i)throw Error(`Invalid size format. Must be ${JSON.stringify(eP.PRESET_SIZES)} or 'WIDTHxHEIGHT' format (e.g., 2048x2048). Got: ${e}`);let n=parseInt(i[1],10),t=parseInt(i[2],10);if(n<=0||t<=0)throw Error(`Width and height must be positive integers. Got: ${e}`);let a=n*t;if(a<eP.MIN_TOTAL_PIXELS||a>eP.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${eP.MIN_TOTAL_PIXELS.toLocaleString()} and ${eP.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${n}x${t})`);let r=n/t;if(r<eP.MIN_ASPECT_RATIO||r>eP.MAX_ASPECT_RATIO)throw Error(`Aspect ratio must be between 1:16 and 16:1. Got: ${n}:${t} (${r.toFixed(2)})`);return e}function validateImageSizeOrDefault(e){try{return validateImageSize(e)}catch{return eP.DEFAULT_SIZE}}class eZ{response;constructor(e){this.response=e}get success(){return!this.response.error&&this.response.data.every(e=>!e.error)}get imageUrls(){return this.response.data.filter(e=>e.url).map(e=>e.url)}get imageB64List(){return this.response.data.filter(e=>e.b64_json).map(e=>e.b64_json)}get errorMessages(){let e=[];for(let i of(this.response.error&&e.push(`API Error: ${this.response.error.message||"Unknown error"}`),this.response.data))i.error&&e.push(`Image generation error: ${i.error.message||"Unknown error"}`);return e}}function buildImageGenerationApiRequest(e,i){let n=validateImageSizeOrDefault(e.size||eP.DEFAULT_SIZE);return{model:i,prompt:e.prompt,size:n,watermark:e.watermark??eP.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||eP.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||eP.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||eP.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||eP.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eR extends eE{constructor(e,i,n=!1){super(e,i,n)}async generate(e){if(e.image)if(Array.isArray(e.image))for(let i=0;i<e.image.length;i++)e.image[i]=await url_utils_validateUrl(e.image[i]);else e.image=await url_utils_validateUrl(e.image);let i=e.model||eP.DEFAULT_MODEL,n=buildImageGenerationApiRequest(e,i),t=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,n);if(t.error)throw new eT(`API returned error: ${t.error.message||"Unknown error"}`,t.error.code?parseInt(t.error.code):500,t.error);for(let e of t.data)if(e.error)throw new eT(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return t}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new eZ(e)}}function convertToApiFormat(e){let i={};return e.query&&(i.Query=e.query),e.search_type&&(i.SearchType=e.search_type),void 0!==e.count&&(i.Count=e.count),void 0!==e.need_summary&&(i.NeedSummary=e.need_summary),e.time_range&&(i.TimeRange=e.time_range),e.filter&&(i.Filter={NeedContent:e.filter.need_content||!1,NeedUrl:e.filter.need_url||!1,Sites:e.filter.sites,BlockHosts:e.filter.block_hosts}),i}function convertFromApiFormat(e){let i={};return void 0!==e.Id&&(i.id=e.Id),void 0!==e.SortId&&(i.sort_id=e.SortId),void 0!==e.Title&&(i.title=e.Title),void 0!==e.SiteName&&(i.site_name=e.SiteName),void 0!==e.Url&&(i.url=e.Url),void 0!==e.Snippet&&(i.snippet=e.Snippet),void 0!==e.Summary&&(i.summary=e.Summary),void 0!==e.Content&&(i.content=e.Content),void 0!==e.PublishTime&&(i.publish_time=e.PublishTime),void 0!==e.LogoUrl&&(i.logo_url=e.LogoUrl),void 0!==e.RankScore&&(i.rank_score=e.RankScore),void 0!==e.AuthInfoDes&&(i.auth_info_des=e.AuthInfoDes),void 0!==e.AuthInfoLevel&&(i.auth_info_level=e.AuthInfoLevel),e.Image&&(i.image={url:e.Image.Url,width:e.Image.Width,height:e.Image.Height,shape:e.Image.Shape}),i}class eM extends eE{constructor(e,i,n=!1){super(e,i,n)}async search(e){let i,n=convertToApiFormat(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,n),a=t.ResponseMetadata||{};if(a.Error)throw new eT(`Search failed: ${a.Error}`,500,a.Error);let r=t.Result||{},o=[];if(r.WebResults)for(let e of r.WebResults)o.push(convertFromApiFormat(e));let u=[];if(r.ImageResults)for(let e of r.ImageResults)u.push(convertFromApiFormat(e));return r.Choices&&r.Choices.length>0&&(i=r.Choices[0].Message?.Content),{web_items:o,image_items:u,summary:i}}async webSearch(e,i=10,n=!0){return this.search({query:e,search_type:"web",count:i,need_summary:n})}async webSearchWithSummary(e,i=10){return this.search({query:e,search_type:"web_summary",count:i,need_summary:!0})}async imageSearch(e,i=10){return this.search({query:e,search_type:"image",count:i,need_summary:!1})}async advancedSearch(e,i={}){let n={need_content:i.needContent,need_url:i.needUrl,sites:i.sites,block_hosts:i.blockHosts};return this.search({query:e,search_type:i.searchType||"web",count:i.count||10,filter:n,need_summary:void 0===i.needSummary||i.needSummary,time_range:i.timeRange})}}class eJ{static DEFAULT_SPEAKER="zh_female_xiaohe_uranus_bigtts";static DEFAULT_AUDIO_FORMAT="mp3";static DEFAULT_SAMPLE_RATE=24e3;static DEFAULT_SPEECH_RATE=0;static DEFAULT_LOUDNESS_RATE=0}function buildTTSApiRequest(e){let i={user:{uid:e.uid},req_params:{speaker:e.speaker||eJ.DEFAULT_SPEAKER,audio_params:{format:e.audioFormat||eJ.DEFAULT_AUDIO_FORMAT,sample_rate:e.sampleRate||eJ.DEFAULT_SAMPLE_RATE,speech_rate:e.speechRate??eJ.DEFAULT_SPEECH_RATE,loudness_rate:e.loudnessRate??eJ.DEFAULT_LOUDNESS_RATE}}};return e.text?i.req_params.text=e.text:e.ssml&&(i.req_params.ssml=e.ssml),i}function buildASRApiRequest(e){let i={};return e.url?i.url=e.url:e.base64Data&&(i.data=e.base64Data),{user:{uid:e.uid},audio:i}}class ek extends eE{constructor(e,i,n=!1){super(e,i,n)}async synthesize(e){if(!e.text&&!e.ssml)throw new eL("必须提供 text 或 ssml 其中之一");let i=buildTTSApiRequest(e),n={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await _.post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,i,{headers:n,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new eT(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new eT(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((i,n)=>{let t="",a=0,r="";e.data.on("data",e=>{let o=(r+=e.toString("utf-8")).split("\n");for(let e of(r=o.pop()||"",o))if(e.trim()&&e.startsWith("data:"))try{let r=e.replace("data:","").trim();if(!r)continue;let o=JSON.parse(r);if(0===o.code&&o.data){let e=Buffer.from(o.data,"base64");a+=e.length}else if(2e7===o.code){o.url&&(t=o.url),i({audioUri:t,audioSize:a});return}else if(o.code>0)return void n(new eT(`合成音频失败: ${o.message||""}`,o.code))}catch(e){n(new eT(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?i({audioUri:t,audioSize:a}):n(new eT("未收到完整的音频数据",500))}),e.data.on("error",e=>{n(new eT(`流处理错误: ${e.message}`,500))})})}}class eB extends eE{constructor(e,i,n=!1){super(e,i,n)}async recognize(e){if(!e.url&&!e.base64Data)throw new eL("必须提供 url 或 base64Data 其中之一");let i=buildASRApiRequest(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,i),n=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==n)throw new eT(`ASR 识别失败,状态码: ${n}, 错误信息: ${t}`,e.status,{code:n,message:t});let a=e.data.result||{};return{text:a.text||"",duration:a.duration,utterances:a.utterances,rawData:e.data}}catch(e){if(e instanceof eT)throw e;throw new eT(`ASR 请求异常: ${e.message}`,500)}}}class eH{static DEFAULT_MODEL="doubao-seedance-2-0-260128";static DEFAULT_RESOLUTION="720p";static DEFAULT_RATIO="16:9";static DEFAULT_DURATION=5;static DEFAULT_WATERMARK=!0;static DEFAULT_CAMERA_FIXED=!1;static DEFAULT_GENERATE_AUDIO=!0}class eF extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}static validateContentItems(e,i){let n=0,t=0,a=0,r=0,o=0;for(let i of e)"image_url"===i.type?"first_frame"===i.role?n+=1:"last_frame"===i.role?t+=1:"reference_image"===i.role&&(a+=1):"video_url"===i.type?r+=1:"audio_url"===i.type&&(o+=1);let u=n>0||t>0,s=a>0||r>0||o>0;if(u&&s)throw new eT("图生视频-首尾帧 与 多模态参考生视频 为互斥场景,不可混用。请只使用 first_frame/last_frame 角色,或只使用 reference_image/reference_video/reference_audio。如需『首尾帧 + 多模态参考』效果,可在多模态场景中通过提示词指定参考图作为首帧/尾帧。",400);if(s){if("doubao-seedance-2-0-260128"!==i)throw new eT(`多模态参考生视频(reference_image/reference_video/reference_audio)仅支持 doubao-seedance-2-0-260128 模型,当前模型为 ${i}`,400);if(0===a&&0===r)throw new eT("多模态参考生视频至少需要包含 1 个 reference_image 或 reference_video,不可单独输入 reference_audio。",400);if(a>9)throw new eT(`reference_image 数量超出限制:最多 9 个,当前 ${a} 个`,400);if(r>3)throw new eT(`reference_video 数量超出限制:最多 3 个,当前 ${r} 个`,400);if(o>3)throw new eT(`reference_audio 数量超出限制:最多 3 个,当前 ${o} 个`,400)}if(u){if(n>1)throw new eT(`first_frame 角色至多 1 个,当前 ${n} 个`,400);if(t>1)throw new eT(`last_frame 角色至多 1 个,当前 ${t} 个`,400);if(t>0&&0===n)throw new eT("提供 last_frame 时必须同时提供 first_frame",400)}}async videoGeneration(e,i){let n=(i?.maxWaitTime??900)*1e3,t=i?.model||eH.DEFAULT_MODEL;for(let i of(eF.validateContentItems(e,t),e))"image_url"===i.type?i.image_url.url=await url_utils_validateUrl(i.image_url.url):"video_url"===i.type?i.video_url.url=await url_utils_validateUrl(i.video_url.url):"audio_url"===i.type&&(i.audio_url.url=await url_utils_validateUrl(i.audio_url.url));let a={model:t,content:e};i?.callbackUrl&&(a.callback_url=i.callbackUrl),i?.returnLastFrame&&(a.return_last_frame=i.returnLastFrame),a.resolution=i?.resolution??eH.DEFAULT_RESOLUTION,a.ratio=i?.ratio??eH.DEFAULT_RATIO,a.duration=i?.duration??eH.DEFAULT_DURATION,a.watermark=i?.watermark??eH.DEFAULT_WATERMARK,i?.seed!==void 0&&(a.seed=i.seed),a.camerafixed=i?.camerafixed??eH.DEFAULT_CAMERA_FIXED,a.generate_audio=i?.generateAudio??eH.DEFAULT_GENERATE_AUDIO;let r=null,o=0;for(;o<3;)try{if(!(r=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,a)).id))throw new eT("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${r}`);break}catch(i){o++;let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${o}/3): ${e}`),o>=3)throw new eT(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**o*1e3,1e4);this.verbose&&console.warn(`遇到速率限制,等待 ${e/1e3} 秒后重试...`),await this.sleep(e)}else if(e.toLowerCase().includes("timeout"))this.verbose&&console.warn("请求超时,等待 2 秒后重试..."),await this.sleep(2e3);else throw i}let u=Date.now(),s=0;for(;Date.now()-u<n;){s++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${r}`),i=e.status;if(this.verbose&&console.log(`任务 ${r} 状态检查 #${s}: ${i}`),"succeeded"===i){let i=e.content?.video_url||null,n=e.content?.last_frame_url||"";if(!i)throw new eT(`视频生成成功但响应中缺少视频URL,任务ID: ${r}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${r}, 视频URL: ${i}`),{videoUrl:i,response:e,lastFrameUrl:n}}if("failed"===i){let i=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${r}, 错误: ${i}`),new eT(`视频生成失败: ${i}`,500)}if("cancelled"===i)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${r}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===i||"running"===i){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${i},任务ID: ${r}`),await this.sleep(5e3);continue}}catch(i){let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${r}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new eT(`任务不存在或已过期,任务ID: ${r}`,404);if(Date.now()-u>=n)throw i;await this.sleep(5e3);continue}}let l=Math.floor((Date.now()-u)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${r}, 已等待: ${l}秒`),new eT(`视频生成超时,已等待 ${l} 秒,任务ID: ${r}`,408)}async videoGenerationAsync(e,i){return this.videoGeneration(e,i)}}class eX{static DEFAULT_URL_EXPIRE=86400;static MAX_URL_EXPIRE=2592e3;static MIN_URL_EXPIRE=1;static MIN_AUDIO_URL_EXPIRE=3600;static DEFAULT_FONT_TYPE="1525745";static DEFAULT_FONT_SIZE=36;static DEFAULT_FONT_COLOR="#FFFFFFFF";static DEFAULT_BACKGROUND_COLOR="#00000000";static DEFAULT_BACKGROUND_BORDER_WIDTH=0;static DEFAULT_FONT_POS_HEIGHT="10%";static DEFAULT_FONT_POS_X="0";static DEFAULT_FONT_POS_Y="90%";static DEFAULT_FONT_POS_WIDTH="100%";static DEFAULT_SYNC_METHOD="trim";static DEFAULT_SYNC_MODE="video";static DEFAULT_SUBTITLE_TYPE="srt";static DEFAULT_AUDIO_FORMAT="m4a"}class eI extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){e=await url_utils_validateUrl(e);let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==i.code)throw new eT(`Key frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByInterval(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:i});if(0!==n.code)throw new eT(`Interval frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByCount(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:i});if(0!==n.code)throw new eT(`Count-based frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}}class eO extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,i=eX.MIN_URL_EXPIRE){if(void 0===e)return eX.DEFAULT_URL_EXPIRE;if(e<i||e>eX.MAX_URL_EXPIRE)throw new eT(`url_expire must be between ${i} and ${eX.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,i,n){e=await url_utils_validateUrl(e),n?.subtitleUrl&&(n.subtitleUrl=await url_utils_validateUrl(n.subtitleUrl));let t=this.validateUrlExpire(n?.urlExpire),a={video:e,subtitle_config:{background_border_width:i.background_border_width??eX.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:i.font_type??eX.DEFAULT_FONT_TYPE,font_pos_config:{height:i.font_pos_config.height??eX.DEFAULT_FONT_POS_HEIGHT,pos_x:i.font_pos_config.pos_x??eX.DEFAULT_FONT_POS_X,pos_y:i.font_pos_config.pos_y??eX.DEFAULT_FONT_POS_Y,width:i.font_pos_config.width??eX.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==i.border_width&&(a.subtitle_config.border_width=i.border_width),void 0!==i.font_color&&(a.subtitle_config.font_color=i.font_color),void 0!==i.font_size&&(a.subtitle_config.font_size=i.font_size),void 0!==i.background_color&&(a.subtitle_config.background_color=i.background_color),void 0!==i.border_color&&(a.subtitle_config.border_color=i.border_color),n?.subtitleUrl&&(a.subtitle_url=n.subtitleUrl),n?.textList&&n.textList.length>0&&(a.text_list=n.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Add subtitles failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Add subtitles failed: returned URL is empty",500);return r.data}async concatVideos(e,i){if(!e||0===e.length)throw new eT("videos list cannot be empty",400);for(let i=0;i<e.length;i++)e[i]=await url_utils_validateUrl(e[i]);let n={videos:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.transitions&&i.transitions.length>0&&(n.transitions=i.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,n),a=t.headers["x-api-status-code"]||"0",r=t.headers["x-api-message"]||"";if("0"!==a)throw new eT(`Concat videos failed, status code: ${a}, error: ${r}`,parseInt(a)||500);if(!t.data.url)throw new eT("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,i,n){e=await url_utils_validateUrl(e),i=await url_utils_validateUrl(i);let t=this.validateUrlExpire(n?.urlExpire),a={video:e,audio:i,url_expire:t};n?.isVideoAudioSync!==void 0&&(a.is_video_audio_sync=n.isVideoAudioSync),n?.outputSync&&(a.output_sync={sync_method:n.outputSync.sync_method??eX.DEFAULT_SYNC_METHOD,sync_mode:n.outputSync.sync_mode??eX.DEFAULT_SYNC_MODE}),n?.isAudioReserve!==void 0&&(a.is_audio_reserve=n.isAudioReserve);let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Compile video audio failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Compile video audio failed: returned URL is empty",500);return r.data}async audioToSubtitle(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire),t={source:e,url_expire:n};i?.subtitleType&&(t.subtitle_type=i.subtitleType);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Audio to subtitle failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Audio to subtitle failed: returned URL is empty",500);return a.data}async extractAudio(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire,eX.MIN_AUDIO_URL_EXPIRE),t={video:e,url_expire:n};i?.format&&(t.format=i.format);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Extract audio failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Extract audio failed: returned URL is empty",500);return a.data}async videoTrim(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire);if(i?.startTime!==void 0&&i.startTime<0)throw new eT("start_time must be greater than or equal to 0",400);if(i?.endTime!==void 0&&i.endTime<0)throw new eT("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:n};i?.startTime!==void 0&&(t.start_time=i.startTime),i?.endTime!==void 0&&(t.end_time=i.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Video trim failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Video trim failed: returned URL is empty",500);return a.data}}let eQ={MODEL:"doubao-seed-1-8-251228",THINKING:"disabled",CACHING:"disabled",TEMPERATURE:1,STREAMING:!0};class eU{config;customHeaders;constructor(e,i){this.config=e||new eC,this.customHeaders=i}createLLM(e,i,n){let t={};t.thinking={type:e.thinking??eQ.THINKING},e.caching&&"disabled"!==e.caching&&(t.caching={type:e.caching});let a={Authorization:`Bearer ${this.config.apiKey}`,"X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...this.customHeaders,...n};return i&&(a["X-Previous-Response-Id"]=i),new v({model:e.model||eQ.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:eQ.STREAMING,temperature:void 0!==e.temperature?e.temperature:eQ.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let i=this.convertContent(e.content);switch(e.role){case"system":return new P(i);case"user":return new N(i);case"assistant":return new A(i);default:throw Error(`Unknown message role: ${e.role}`)}})}convertContent(e){return"string"==typeof e?e:e.map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("image_url"===e.type){let i={url:e.image_url.url};return e.image_url.detail&&(i.detail=e.image_url.detail),{type:"image_url",image_url:i}}if("video_url"===e.type){let i={url:e.video_url.url};return void 0!==e.video_url.fps&&(i.fps=e.video_url.fps),{type:"video_url",video_url:i}}return e})}async *stream(e,i={},n,t){if(!e.some(e=>"user"===e.role))throw Error('messages must contain at least one message with role: "user", otherwise the API request will fail validation.');for(let i of e)if(Array.isArray(i.content))for(let e of i.content)"image_url"===e.type&&e.image_url?e.image_url.url=await url_utils_validateUrl(e.image_url.url):"video_url"===e.type&&e.video_url&&(e.video_url.url=await url_utils_validateUrl(e.video_url.url));let a=this.createLLM(i,n,t),r=this.convertMessages(e);for await(let e of(await a.stream(r)))yield e}async invoke(e,i={},n,t){let a="";for await(let r of this.stream(e,i,n,t))r.content&&(a+=r.content.toString());return{content:a}}}var eG=((I={})[I.TEXT=0]="TEXT",I[I.URL=1]="URL",I[I.URI=2]="URI",I);class e$ extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async search(e,i,n=5,t=0,a){let r={query:e,top_k:n,min_score:t};i&&(r.dataset=i);let o=`${this.baseUrl}/v1/knowledge_base/recall`,u={...a};this.config.apiKey&&(u["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,r,{headers:u});return{chunks:(s.data||[]).map(e=>({content:e.slice||"",score:e.score||0,chunk_id:e.chunk_id,doc_id:e.doc_id})),code:s.code||0,msg:s.msg||""}}async addDocuments(e,i,n,t){let a={dataset:i,data:e};n&&(a.chunk_config=Object.fromEntries(Object.entries(n).filter(([e,i])=>void 0!==i)));let r=`${this.baseUrl}/v1/knowledge_base/batch_import`,o={...t};this.config.apiKey&&(o["x-coze-token"]=`Bearer ${this.config.apiKey}`);let u=await this.request("POST",r,a,{headers:o}),s=u.msg||"";return 0===u.code&&(s="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:u.doc_ids,code:u.code||0,msg:s}}}let eK=Symbol.for("drizzle:entityKind");function entity_is(e,i){if(!e||"object"!=typeof e)return!1;if(e instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,eK))throw Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let n=Object.getPrototypeOf(e).constructor;if(n)for(;n;){if(eK in n&&n[eK]===i[eK])return!0;n=Object.getPrototypeOf(n)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class ez{static [eK]="ConsoleLogWriter";write(e){console.log(e)}}class eW{static [eK]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new ez}logQuery(e,i){let n=i.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),t=n.length?` -- params: [${n.join(", ")}]`:"";this.writer.write(`Query: ${e}${t}`)}}class ej{static [eK]="NoopLogger";logQuery(){}}class eV{constructor(e,i){this.table=e,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static [eK]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}class e0{static [eK]="ColumnBuilder";config;constructor(e,i,n){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){""===this.config.name&&(this.config.name=e)}}let e1=Symbol.for("drizzle:Name");class e3{static [eK]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,i){this.reference=()=>{let{name:i,columns:n,foreignColumns:t}=e();return{name:i,columns:n,foreignTable:t[0].table,foreignColumns:t}},i&&(this._onUpdate=i.onUpdate,this._onDelete=i.onDelete)}onUpdate(e){return this._onUpdate=void 0===e?"no action":e,this}onDelete(e){return this._onDelete=void 0===e?"no action":e,this}build(e){return new e2(e,this)}}class e2{constructor(e,i){this.table=e,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static [eK]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:i,foreignColumns:n}=this.reference(),t=i.map(e=>e.name),a=n.map(e=>e.name),r=[this.table[e1],...t,n[0].table[e1],...a];return e??`${r.join("_")}_fk`}}function iife(e,...i){return e(...i)}function uniqueKeyName(e,i){return`${e[e1]}_${i.join("_")}_unique`}class e4{constructor(e,i){this.name=i,this.columns=e}static [eK]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new e6(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class e8{static [eK]=null;name;constructor(e){this.name=e}on(...e){return new e4(e,this.name)}}class e6{constructor(e,i,n,t){this.table=e,this.columns=i,this.name=t??uniqueKeyName(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=n}static [eK]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function parsePgArrayValue(e,i,n){for(let t=i;t<e.length;t++){let a=e[t];if("\\"===a){t++;continue}if('"'===a)return[e.slice(i,t).replace(/\\/g,""),t+1];if(!n&&(","===a||"}"===a))return[e.slice(i,t).replace(/\\/g,""),t]}return[e.slice(i).replace(/\\/g,""),e.length]}function parsePgNestedArray(e,i=0){let n=[],t=i,a=!1;for(;t<e.length;){let r=e[t];if(","===r){(a||t===i)&&n.push(""),a=!0,t++;continue}if(a=!1,"\\"===r){t+=2;continue}if('"'===r){let[i,a]=parsePgArrayValue(e,t+1,!0);n.push(i),t=a;continue}if("}"===r)return[n,t+1];if("{"===r){let[i,a]=parsePgNestedArray(e,t+1);n.push(i),t=a;continue}let[o,u]=parsePgArrayValue(e,t,!1);n.push(o),t=u}return[n,t]}function parsePgArray(e){let[i]=parsePgNestedArray(e,1);return i}function makePgArray(e){return`{${e.map(e=>Array.isArray(e)?makePgArray(e):"string"==typeof e?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class e5 extends e0{foreignKeyConfigs=[];static [eK]="PgColumnBuilder";array(e){return new it(this.config.name,this,e)}references(e,i={}){return this.foreignKeyConfigs.push({ref:e,actions:i}),this}unique(e,i){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,i){return this.foreignKeyConfigs.map(({ref:n,actions:t})=>iife((n,t)=>{let a=new e3(()=>({columns:[e],foreignColumns:[n()]}));return t.onUpdate&&a.onUpdate(t.onUpdate),t.onDelete&&a.onDelete(t.onDelete),a.build(i)},n,t))}buildExtraConfigColumn(e){return new e9(e,this.config)}}class e7 extends eV{constructor(e,i){i.uniqueName||(i.uniqueName=uniqueKeyName(e,[i.name])),super(e,i),this.table=e}static [eK]="PgColumn"}class e9 extends e7{static [eK]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class ie{static [eK]=null;constructor(e,i,n,t){this.name=e,this.keyAsName=i,this.type=n,this.indexConfig=t}name;keyAsName;type;indexConfig}class it extends e5{static [eK]="PgArrayBuilder";constructor(e,i,n){super(e,"array","PgArray"),this.config.baseBuilder=i,this.config.size=n}build(e){let i=this.config.baseBuilder.build(e);return new ia(e,this.config,i)}}class ia extends e7{constructor(e,i,n,t){super(e,i),this.baseColumn=n,this.range=t,this.size=i.size}size;static [eK]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=parsePgArray(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,i=!1){let n=e.map(e=>null===e?null:entity_is(this.baseColumn,ia)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return i?n:makePgArray(n)}}class ir extends e5{static [eK]="PgEnumObjectColumnBuilder";constructor(e,i){super(e,"string","PgEnumObjectColumn"),this.config.enum=i}build(e){return new io(e,this.config)}}class io extends e7{static [eK]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}let iu=Symbol.for("drizzle:isPgEnum");function isPgEnum(e){return!!e&&"function"==typeof e&&iu in e&&!0===e[iu]}class is extends e5{static [eK]="PgEnumColumnBuilder";constructor(e,i){super(e,"string","PgEnumColumn"),this.config.enum=i}build(e){return new il(e,this.config)}}class il extends e7{static [eK]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}class ih{static [eK]="Subquery";constructor(e,i,n,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:i,alias:n,isWith:t,usedTables:a}}}class ig extends ih{static [eK]="WithSubquery"}let ic=(n,t)=>e?(i||(i=e.trace.getTracer("drizzle-orm","0.45.1")),iife((e,i)=>i.startActiveSpan(n,i=>{try{return t(i)}catch(n){throw i.setStatus({code:e.SpanStatusCode.ERROR,message:n instanceof Error?n.message:"Unknown error"}),n}finally{i.end()}}),e,i)):t(),id=Symbol.for("drizzle:ViewBaseConfig"),ip=Symbol.for("drizzle:Schema"),im=Symbol.for("drizzle:Columns"),iy=Symbol.for("drizzle:ExtraConfigColumns"),iS=Symbol.for("drizzle:OriginalName"),ib=Symbol.for("drizzle:BaseName"),iC=Symbol.for("drizzle:IsAlias"),iw=Symbol.for("drizzle:ExtraConfigBuilder"),iT=Symbol.for("drizzle:IsDrizzleTable");class ix{static [eK]="Table";static Symbol={Name:e1,Schema:ip,OriginalName:iS,Columns:im,ExtraConfigColumns:iy,BaseName:ib,IsAlias:iC,ExtraConfigBuilder:iw};[e1];[iS];[ip];[im];[iy];[ib];[iC]=!1;[iT]=!0;[iw]=void 0;constructor(e,i,n){this[e1]=this[iS]=e,this[ip]=i,this[ib]=n}}function getTableUniqueName(e){return`${e[ip]??"public"}.${e[e1]}`}class iL{static [eK]=null}function isSQLWrapper(e){return null!=e&&"function"==typeof e.getSQL}function mergeQueries(e){let i={sql:"",params:[]};for(let n of e)i.sql+=n.sql,i.params.push(...n.params),n.typings?.length&&(i.typings||(i.typings=[]),i.typings.push(...n.typings));return i}class iE{static [eK]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new i_([this])}}class i_{constructor(e){for(let i of(this.queryChunks=e,e))if(entity_is(i,ix)){let e=i[ix.Symbol.Schema];this.usedTables.push(void 0===e?i[ix.Symbol.Name]:e+"."+i[ix.Symbol.Name])}}static [eK]="SQL";decoder=iD;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ic("drizzle.buildSQL",i=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return i?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,i){let n=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:t,escapeName:a,escapeParam:r,prepareTyping:o,inlineParams:u,paramStartIndex:s}=n;return mergeQueries(e.map(e=>{if(entity_is(e,iE))return{sql:e.value.join(""),params:[]};if(entity_is(e,iY))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let i=[new iE("(")];for(let[n,t]of e.entries())i.push(t),n<e.length-1&&i.push(new iE(", "));return i.push(new iE(")")),this.buildQueryFromSourceParams(i,n)}if(entity_is(e,i_))return this.buildQueryFromSourceParams(e.queryChunks,{...n,inlineParams:u||e.shouldInlineParams});if(entity_is(e,ix)){let i=e[ix.Symbol.Schema],n=e[ix.Symbol.Name];return{sql:void 0===i||e[iC]?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,eV)){let n=t.getColumnCasing(e);if("indexes"===i.invokeSource)return{sql:a(n),params:[]};let r=e.table[ix.Symbol.Schema];return{sql:e.table[iC]||void 0===r?a(e.table[ix.Symbol.Name])+"."+a(n):a(r)+"."+a(e.table[ix.Symbol.Name])+"."+a(n),params:[]}}if(entity_is(e,iM)){let i=e[id].schema,n=e[id].name;return{sql:void 0===i||e[id].isAlias?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,iA)){if(entity_is(e.value,iZ))return{sql:r(s.value++,e),params:[e],typings:["none"]};let i=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(entity_is(i,i_))return this.buildQueryFromSourceParams([i],n);if(u)return{sql:this.mapInlineParam(i,n),params:[]};let t=["none"];return o&&(t=[o(e.encoder)]),{sql:r(s.value++,i),params:[i],typings:t}}return entity_is(e,iZ)?{sql:r(s.value++,e),params:[e],typings:["none"]}:entity_is(e,i_.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:entity_is(e,ih)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new iE("("),e._.sql,new iE(") "),new iY(e._.alias)],n):isPgEnum(e)?e.schema?{sql:a(e.schema)+"."+a(e.enumName),params:[]}:{sql:a(e.enumName),params:[]}:isSQLWrapper(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],n):this.buildQueryFromSourceParams([new iE("("),e.getSQL(),new iE(")")],n):u?{sql:this.mapInlineParam(e,n),params:[]}:{sql:r(s.value++,e),params:[e],typings:["none"]}}))}mapInlineParam(e,{escapeString:i}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return i(e);if("object"==typeof e){let n=e.toString();return"[object Object]"===n?i(JSON.stringify(e)):i(n)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new i_.Aliased(this,e)}mapWith(e){return this.decoder="function"==typeof e?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class iY{constructor(e){this.value=e}static [eK]="Name";brand;getSQL(){return new i_([this])}}function isDriverValueEncoder(e){return"object"==typeof e&&null!==e&&"mapToDriverValue"in e&&"function"==typeof e.mapToDriverValue}let iD={mapFromDriverValue:e=>e},iv={mapToDriverValue:e=>e};({...iD,...iv});class iA{constructor(e,i=iv){this.value=e,this.encoder=i}static [eK]="Param";brand;getSQL(){return new i_([this])}}function sql_sql(e,...i){let n=[];for(let[t,a]of((i.length>0||e.length>0&&""!==e[0])&&n.push(new iE(e[0])),i.entries()))n.push(a,new iE(e[t+1]));return new i_(n)}(O=sql_sql||(sql_sql={})).empty=function(){return new i_([])},O.fromList=function(e){return new i_(e)},O.raw=function(e){return new i_([new iE(e)])},O.join=function(e,i){let n=[];for(let[t,a]of e.entries())t>0&&void 0!==i&&n.push(i),n.push(a);return new i_(n)},O.identifier=function(e){return new iY(e)},O.placeholder=function(e){return new iZ(e)},O.param=function(e,i){return new iA(e,i)};var iN=i_||(i_={});class iP{constructor(e,i){this.sql=e,this.fieldAlias=i}static [eK]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new iP(this.sql,this.fieldAlias)}}iN.Aliased=iP;class iZ{constructor(e){this.name=e}static [eK]="Placeholder";getSQL(){return new i_([this])}}function fillPlaceholders(e,i){return e.map(e=>{if(entity_is(e,iZ)){if(!(e.name in i))throw Error(`No value for placeholder "${e.name}" was provided`);return i[e.name]}if(entity_is(e,iA)&&entity_is(e.value,iZ)){if(!(e.value.name in i))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(i[e.value.name])}return e})}let iR=Symbol.for("drizzle:IsDrizzleView");class iM{static [eK]="View";[id];[iR]=!0;constructor({name:e,schema:i,selectedFields:n,query:t}){this[id]={name:e,originalName:e,schema:i,selectedFields:n,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new i_([this])}}eV.prototype.getSQL=function(){return new i_([this])},ix.prototype.getSQL=function(){return new i_([this])},ih.prototype.getSQL=function(){return new i_([this])};class iJ{constructor(e){this.table=e}static [eK]="ColumnAliasProxyHandler";get(e,i){return"table"===i?this.table:e[i]}}class ik{constructor(e,i){this.alias=e,this.replaceOriginalName=i}static [eK]="TableAliasProxyHandler";get(e,i){if(i===ix.Symbol.IsAlias)return!0;if(i===ix.Symbol.Name||this.replaceOriginalName&&i===ix.Symbol.OriginalName)return this.alias;if(i===id)return{...e[id],name:this.alias,isAlias:!0};if(i===ix.Symbol.Columns){let i=e[ix.Symbol.Columns];if(!i)return i;let n={};return Object.keys(i).map(t=>{n[t]=new Proxy(i[t],new iJ(new Proxy(e,this)))}),n}let n=e[i];return entity_is(n,eV)?new Proxy(n,new iJ(new Proxy(e,this))):n}}class iB{constructor(e){this.alias=e}static [eK]=null;get(e,i){return"sourceTable"===i?aliasedTable(e.sourceTable,this.alias):e[i]}}function aliasedTable(e,i){return new Proxy(e,new ik(i,!1))}function aliasedTableColumn(e,i){return new Proxy(e,new iJ(new Proxy(e.table,new ik(i,!1))))}function mapColumnsInAliasedSQLToAlias(e,i){return new i_.Aliased(mapColumnsInSQLToAlias(e.sql,i),e.fieldAlias)}function mapColumnsInSQLToAlias(e,i){return sql_sql.join(e.queryChunks.map(e=>entity_is(e,eV)?aliasedTableColumn(e,i):entity_is(e,i_)?mapColumnsInSQLToAlias(e,i):entity_is(e,i_.Aliased)?mapColumnsInAliasedSQLToAlias(e,i):e))}function toSnakeCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function toCamelCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,i,n)=>e+(0===n?i.toLowerCase():`${i[0].toUpperCase()}${i.slice(1)}`),"")}function noopCase(e){return e}class iH{static [eK]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?toSnakeCase:"camelCase"===e?toCamelCase:noopCase}getColumnCasing(e){if(!e.keyAsName)return e.name;let i=e.table[ix.Symbol.Schema]??"public",n=e.table[ix.Symbol.OriginalName],t=`${i}.${n}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let i=e[ix.Symbol.Schema]??"public",n=e[ix.Symbol.OriginalName],t=`${i}.${n}`;if(!this.cachedTables[t]){for(let i of Object.values(e[ix.Symbol.Columns])){let e=`${t}.${i.name}`;this.cache[e]=this.convert(i.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class iF extends Error{static [eK]="DrizzleError";constructor({message:e,cause:i}){super(e),this.name="DrizzleError",this.cause=i}}class iX extends Error{constructor(e,i,n){super(`Failed query: ${e}
2
- params: ${i}`),this.query=e,this.params=i,this.cause=n,Error.captureStackTrace(this,iX),n&&(this.cause=n)}}class iI extends iF{static [eK]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class iO extends e5{static [eK]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new iQ(e,this.config)}}class iQ extends e7{static [eK]="PgJsonb";constructor(e,i){super(e,i)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iU extends e5{static [eK]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new iG(e,this.config)}}class iG extends e7{static [eK]="PgJson";constructor(e,i){super(e,i)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iq extends e5{static [eK]="PgNumericBuilder";constructor(e,i,n){super(e,"string","PgNumeric"),this.config.precision=i,this.config.scale=n}build(e){return new i$(e,this.config)}}class i$ extends e7{static [eK]="PgNumeric";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iK extends e5{static [eK]="PgNumericNumberBuilder";constructor(e,i,n){super(e,"number","PgNumericNumber"),this.config.precision=i,this.config.scale=n}build(e){return new iz(e,this.config)}}class iz extends e7{static [eK]="PgNumericNumber";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iW extends e5{static [eK]="PgNumericBigIntBuilder";constructor(e,i,n){super(e,"bigint","PgNumericBigInt"),this.config.precision=i,this.config.scale=n}build(e){return new ij(e,this.config)}}class ij extends e7{static [eK]="PgNumericBigInt";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iV extends e5{static [eK]="PgDateColumnBaseBuilder";defaultNow(){return this.default(sql_sql`now()`)}}class i0 extends iV{constructor(e,i,n){super(e,"string","PgTime"),this.withTimezone=i,this.precision=n,this.config.withTimezone=i,this.config.precision=n}static [eK]="PgTimeBuilder";build(e){return new i1(e,this.config)}}class i1 extends e7{static [eK]="PgTime";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class i3 extends iV{static [eK]="PgTimestampBuilder";constructor(e,i,n){super(e,"date","PgTimestamp"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i2(e,this.config)}}class i2 extends e7{static [eK]="PgTimestamp";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":` (${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return"string"==typeof e?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class i4 extends iV{static [eK]="PgTimestampStringBuilder";constructor(e,i,n){super(e,"string","PgTimestampString"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i8(e,this.config)}}class i8 extends e7{static [eK]="PgTimestampString";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if("string"==typeof e)return e;let i=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let n=e.getTimezoneOffset();return`${i}${n<=0?"+":"-"}${Math.floor(Math.abs(n)/60).toString().padStart(2,"0")}`}return i}}class i6 extends iV{static [eK]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new i5(e,this.config)}}class i5 extends e7{static [eK]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class i7 extends iV{static [eK]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new i9(e,this.config)}}class i9 extends e7{static [eK]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class ni extends e5{static [eK]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(sql_sql`gen_random_uuid()`)}build(e){return new nn(e,this.config)}}class nn extends e7{static [eK]="PgUUID";getSQLType(){return"uuid"}}let nt=Symbol.for("drizzle:PgInlineForeignKeys"),na=Symbol.for("drizzle:EnableRLS");class nr extends ix{static [eK]="PgTable";static Symbol=Object.assign({},ix.Symbol,{InlineForeignKeys:nt,EnableRLS:na});[nt]=[];[na]=!1;[ix.Symbol.ExtraConfigBuilder]=void 0;[ix.Symbol.ExtraConfigColumns]={}}class no{static [eK]="PgPrimaryKeyBuilder";columns;name;constructor(e,i){this.columns=e,this.name=i}build(e){return new nu(e,this.columns,this.name)}}class nu{constructor(e,i,n){this.table=e,this.columns=i,this.name=n}static [eK]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[nr.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function bindIfParam(e,i){return!isDriverValueEncoder(i)||isSQLWrapper(e)||entity_is(e,iA)||entity_is(e,iZ)||entity_is(e,eV)||entity_is(e,ix)||entity_is(e,iM)?e:new iA(e,i)}let eq=(e,i)=>sql_sql`${e} = ${bindIfParam(i,e)}`,ne=(e,i)=>sql_sql`${e} <> ${bindIfParam(i,e)}`;function and(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new i_(1===i.length?i:[new iE("("),sql_sql.join(i,new iE(" and ")),new iE(")")])}function or(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new i_(1===i.length?i:[new iE("("),sql_sql.join(i,new iE(" or ")),new iE(")")])}function not(e){return sql_sql`not ${e}`}let gt=(e,i)=>sql_sql`${e} > ${bindIfParam(i,e)}`,gte=(e,i)=>sql_sql`${e} >= ${bindIfParam(i,e)}`,lt=(e,i)=>sql_sql`${e} < ${bindIfParam(i,e)}`,lte=(e,i)=>sql_sql`${e} <= ${bindIfParam(i,e)}`;function inArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`false`:sql_sql`${e} in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} in ${bindIfParam(i,e)}`}function notInArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`true`:sql_sql`${e} not in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} not in ${bindIfParam(i,e)}`}function isNull(e){return sql_sql`${e} is null`}function isNotNull(e){return sql_sql`${e} is not null`}function exists(e){return sql_sql`exists ${e}`}function notExists(e){return sql_sql`not exists ${e}`}function between(e,i,n){return sql_sql`${e} between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function notBetween(e,i,n){return sql_sql`${e} not between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function like(e,i){return sql_sql`${e} like ${i}`}function notLike(e,i){return sql_sql`${e} not like ${i}`}function ilike(e,i){return sql_sql`${e} ilike ${i}`}function notIlike(e,i){return sql_sql`${e} not ilike ${i}`}function asc(e){return sql_sql`${e} asc`}function select_desc(e){return sql_sql`${e} desc`}class ns{constructor(e,i,n){this.sourceTable=e,this.referencedTable=i,this.relationName=n,this.referencedTableName=i[ix.Symbol.Name]}static [eK]="Relation";referencedTableName;fieldName}class nl{constructor(e,i){this.table=e,this.config=i}static [eK]="Relations"}class nh extends ns{constructor(e,i,n,t){super(e,i,n?.relationName),this.config=n,this.isNullable=t}static [eK]="One";withFieldName(e){let i=new nh(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=e,i}}class ng extends ns{constructor(e,i,n){super(e,i,n?.relationName),this.config=n}static [eK]="Many";withFieldName(e){let i=new ng(this.sourceTable,this.referencedTable,this.config);return i.fieldName=e,i}}function getOperators(){return{and:and,between:between,eq:eq,exists:exists,gt:gt,gte:gte,ilike:ilike,inArray:inArray,isNull:isNull,isNotNull:isNotNull,like:like,lt:lt,lte:lte,ne:ne,not:not,notBetween:notBetween,notExists:notExists,notLike:notLike,notIlike:notIlike,notInArray:notInArray,or:or,sql:sql_sql}}function getOrderByOperators(){return{sql:sql_sql,asc:asc,desc:select_desc}}function extractTablesRelationalConfig(e,i){1===Object.keys(e).length&&"default"in e&&!entity_is(e.default,ix)&&(e=e.default);let n={},t={},a={};for(let[r,o]of Object.entries(e))if(entity_is(o,ix)){let e=getTableUniqueName(o),i=t[e];for(let t of(n[e]=r,a[r]={tsName:r,dbName:o[ix.Symbol.Name],schema:o[ix.Symbol.Schema],columns:o[ix.Symbol.Columns],relations:i?.relations??{},primaryKey:i?.primaryKey??[]},Object.values(o[ix.Symbol.Columns])))t.primary&&a[r].primaryKey.push(t);let u=o[ix.Symbol.ExtraConfigBuilder]?.(o[ix.Symbol.ExtraConfigColumns]);if(u)for(let e of Object.values(u))entity_is(e,no)&&a[r].primaryKey.push(...e.columns)}else if(entity_is(o,nl)){let e,r=getTableUniqueName(o.table),u=n[r];for(let[n,s]of Object.entries(o.config(i(o.table))))if(u){let i=a[u];i.relations[n]=s,e&&i.primaryKey.push(...e)}else r in t||(t[r]={relations:{},primaryKey:e}),t[r].relations[n]=s}return{tables:a,tableNamesMap:n}}function createOne(e){return function(i,n){return new nh(e,i,n,n?.fields.reduce((e,i)=>e&&i.notNull,!0)??!1)}}function createMany(e){return function(i,n){return new ng(e,i,n)}}function normalizeRelation(e,i,n){if(entity_is(n,nh)&&n.config)return{fields:n.config.fields,references:n.config.references};let t=i[getTableUniqueName(n.referencedTable)];if(!t)throw Error(`Table "${n.referencedTable[ix.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let r=n.sourceTable,o=i[getTableUniqueName(r)];if(!o)throw Error(`Table "${r[ix.Symbol.Name]}" not found in schema`);let u=[];for(let e of Object.values(a.relations))(n.relationName&&n!==e&&e.relationName===n.relationName||!n.relationName&&e.referencedTable===n.sourceTable)&&u.push(e);if(u.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${n.sourceTable[ix.Symbol.Name]}". Please specify relation name`);if(u[0]&&entity_is(u[0],nh)&&u[0].config)return{fields:u[0].config.references,references:u[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${n.fieldName}"`)}function createTableRelationsHelpers(e){return{one:createOne(e),many:createMany(e)}}function mapRelationalRow(e,i,n,t,a=e=>e){let r={};for(let[o,u]of t.entries())if(u.isJson){let t=i.relations[u.tsKey],s=n[o],l="string"==typeof s?JSON.parse(s):s;r[u.tsKey]=entity_is(t,nh)?l&&mapRelationalRow(e,e[u.relationTableTsKey],l,u.selection,a):l.map(i=>mapRelationalRow(e,e[u.relationTableTsKey],i,u.selection,a))}else{let e,i=a(n[o]),t=u.field;e=entity_is(t,eV)?t:entity_is(t,i_)?t.decoder:t.sql.decoder,r[u.tsKey]=null===i?null:e.mapFromDriverValue(i)}return r}function mapResultRow(e,i,n){let t={},a=e.reduce((e,{path:a,field:r},o)=>{let u;u=entity_is(r,eV)?r:entity_is(r,i_)?r.decoder:entity_is(r,ih)?r._.sql.decoder:r.sql.decoder;let s=e;for(let[e,l]of a.entries())if(e<a.length-1)l in s||(s[l]={}),s=s[l];else{let e=i[o],h=s[l]=null===e?null:u.mapFromDriverValue(e);if(n&&entity_is(r,eV)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==r.table[e1]&&(t[e]=!1):t[e]=null===h&&r.table[e1]}}return e},{});if(n&&Object.keys(t).length>0)for(let[e,i]of Object.entries(t))"string"!=typeof i||n[i]||(a[e]=null);return a}function orderSelectedFields(e,i){return Object.entries(e).reduce((e,[n,t])=>{if("string"!=typeof n)return e;let a=i?[...i,n]:[n];return entity_is(t,eV)||entity_is(t,i_)||entity_is(t,i_.Aliased)||entity_is(t,ih)?e.push({path:a,field:t}):entity_is(t,ix)?e.push(...orderSelectedFields(t[ix.Symbol.Columns],a)):e.push(...orderSelectedFields(t,a)),e},[])}function haveSameKeys(e,i){let n=Object.keys(e),t=Object.keys(i);if(n.length!==t.length)return!1;for(let[e,i]of n.entries())if(i!==t[e])return!1;return!0}function mapUpdateSet(e,i){let n=Object.entries(i).filter(([,e])=>void 0!==e).map(([i,n])=>entity_is(n,i_)||entity_is(n,eV)?[i,n]:[i,new iA(n,e[ix.Symbol.Columns][i])]);if(0===n.length)throw Error("No values to set");return Object.fromEntries(n)}function applyMixins(e,i){for(let n of i)for(let i of Object.getOwnPropertyNames(n.prototype))"constructor"!==i&&Object.defineProperty(e.prototype,i,Object.getOwnPropertyDescriptor(n.prototype,i)||Object.create(null))}function getTableColumns(e){return e[ix.Symbol.Columns]}function getTableLikeName(e){return entity_is(e,ih)?e._.alias:entity_is(e,iM)?e[id].name:entity_is(e,i_)?void 0:e[ix.Symbol.IsAlias]?e[ix.Symbol.Name]:e[ix.Symbol.BaseName]}function isConfig(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let i=typeof e.logger;return"boolean"===i||"object"===i&&"function"==typeof e.logger.logQuery||"undefined"===i}if("schema"in e){let i=typeof e.schema;return"object"===i||"undefined"===i}if("casing"in e){let i=typeof e.casing;return"string"===i||"undefined"===i}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let i=typeof e.connection;return"string"===i||"object"===i||"undefined"===i}if("client"in e){let i=typeof e.client;return"object"===i||"function"===i||"undefined"===i}return 0===Object.keys(e).length}"u"<typeof TextDecoder||new TextDecoder;class nc extends iM{static [eK]="PgViewBase"}class nd{static [eK]="PgDialect";casing;constructor(e){this.casing=new iH(e?.casing)}async migrate(e,i,n){let t="string"==typeof n?"__drizzle_migrations":n.migrationsTable??"__drizzle_migrations",a="string"==typeof n?"drizzle":n.migrationsSchema??"drizzle",r=sql_sql`
1
+ let e,i,n,t,a,r,o,u,s,l,h,g,c,d;import*as p from"buffer";import*as f from"crypto";import*as m from"events";import*as y from"fs";import*as S from"node:fs";import*as b from"node:fs/promises";import*as C from"node:stream";import*as w from"os";import*as T from"path";import*as x from"stream";import*as L from"zlib";import{__webpack_require__ as E}from"./rslib-runtime.mjs";import _ from"axios";import{URL as Y,parse as D}from"url";import{ChatOpenAI as v}from"@langchain/openai";import{AIMessage as A,HumanMessage as N,SystemMessage as P}from"@langchain/core/messages";import Z from"pg";import{exec as R,execSync as M}from"child_process";import{env as J,versions as k}from"process";import{Agent as B,request as H}from"http";import{Agent as F,request as X}from"https";E.add({"./node_modules/dotenv/lib/main.js"(e,i,n){let t=n("fs"),a=n("path"),r=n("os"),o=n("crypto"),u=n("./node_modules/dotenv/package.json").version,s=["\uD83D\uDD10 encrypt with Dotenvx: https://dotenvx.com","\uD83D\uDD10 prevent committing .env to code: https://dotenvx.com/precommit","\uD83D\uDD10 prevent building .env in docker: https://dotenvx.com/prebuild","\uD83D\uDCE1 add observability to secrets: https://dotenvx.com/ops","\uD83D\uDC65 sync secrets across teammates & machines: https://dotenvx.com/ops","\uD83D\uDDC2️ backup and recover secrets: https://dotenvx.com/ops","✅ audit secrets and track compliance: https://dotenvx.com/ops","\uD83D\uDD04 add secrets lifecycle management: https://dotenvx.com/ops","\uD83D\uDD11 add access controls to secrets: https://dotenvx.com/ops","\uD83D\uDEE0️ run anywhere with `dotenvx run -- yourcommand`","⚙️ specify custom .env file path with { path: '/custom/path/.env' }","⚙️ enable debug logging with { debug: true }","⚙️ override existing env vars with { override: true }","⚙️ suppress all logs with { quiet: true }","⚙️ write to custom object with { processEnv: myObject }","⚙️ load multiple .env files with { path: ['.env.local', '.env'] }"];function _getRandomTip(){return s[Math.floor(Math.random()*s.length)]}function parseBoolean(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function supportsAnsi(){return process.stdout.isTTY}function dim(e){return supportsAnsi()?`\x1b[2m${e}\x1b[0m`:e}let l=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function _warn(e){console.error(`[dotenv@${u}][WARN] ${e}`)}function _debug(e){console.log(`[dotenv@${u}][DEBUG] ${e}`)}function _log(e){console.log(`[dotenv@${u}] ${e}`)}function _dotenvKey(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function _instructions(e,i){let n;try{n=new URL(i)}catch(e){if("ERR_INVALID_URL"===e.code){let e=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw e.code="INVALID_DOTENV_KEY",e}throw e}let t=n.password;if(!t){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let a=n.searchParams.get("environment");if(!a){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let r=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[r];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${r} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:t}}function _vaultPath(e){let i=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let n of e.path)t.existsSync(n)&&(i=n.endsWith(".vault")?n:`${n}.vault`);else i=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else i=a.resolve(process.cwd(),".env.vault");return t.existsSync(i)?i:null}function _resolveHome(e){return"~"===e[0]?a.join(r.homedir(),e.slice(1)):e}let h={configDotenv:function(e){let i,n=a.resolve(process.cwd(),".env"),r="utf8",o=process.env;e&&null!=e.processEnv&&(o=e.processEnv);let u=parseBoolean(o.DOTENV_CONFIG_DEBUG||e&&e.debug),s=parseBoolean(o.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:u&&_debug("No encoding is specified. UTF-8 is used by default");let l=[n];if(e&&e.path)if(Array.isArray(e.path))for(let i of(l=[],e.path))l.push(_resolveHome(i));else l=[_resolveHome(e.path)];let g={};for(let n of l)try{let i=h.parse(t.readFileSync(n,{encoding:r}));h.populate(g,i,e)}catch(e){u&&_debug(`Failed to load ${n} ${e.message}`),i=e}let c=h.populate(o,g,e);if(u=parseBoolean(o.DOTENV_CONFIG_DEBUG||u),s=parseBoolean(o.DOTENV_CONFIG_QUIET||s),u||!s){let e=Object.keys(c).length,n=[];for(let e of l)try{let i=a.relative(process.cwd(),e);n.push(i)}catch(n){u&&_debug(`Failed to load ${e} ${n.message}`),i=n}_log(`injecting env (${e}) from ${n.join(",")} ${dim(`-- tip: ${_getRandomTip()}`)}`)}return i?{parsed:g,error:i}:{parsed:g}},_configVault:function(e){let i=parseBoolean(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),n=parseBoolean(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(i||!n)&&_log("Loading env from encrypted .env.vault");let t=h._parseVault(e),a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),h.populate(a,t,e),{parsed:t}},_parseVault:function(e){let i,n=_vaultPath(e=e||{});e.path=n;let t=h.configDotenv(e);if(!t.parsed){let e=Error(`MISSING_DATA: Cannot parse ${n} for an unknown reason`);throw e.code="MISSING_DATA",e}let a=_dotenvKey(e).split(","),r=a.length;for(let e=0;e<r;e++)try{let n=a[e].trim(),r=_instructions(t,n);i=h.decrypt(r.ciphertext,r.key);break}catch(i){if(e+1>=r)throw i}return h.parse(i)},config:function(e){if(0===_dotenvKey(e).length)return h.configDotenv(e);let i=_vaultPath(e);return i?h._configVault(e):(_warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${i}. Did you forget to build it?`),h.configDotenv(e))},decrypt:function(e,i){let n=Buffer.from(i.slice(-64),"hex"),t=Buffer.from(e,"base64"),a=t.subarray(0,12),r=t.subarray(-16);t=t.subarray(12,-16);try{let e=o.createDecipheriv("aes-256-gcm",n,a);return e.setAuthTag(r),`${e.update(t)}${e.final()}`}catch(t){let e=t instanceof RangeError,i="Invalid key length"===t.message,n="Unsupported state or unable to authenticate data"===t.message;if(e||i){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(n){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw t}},parse:function(e){let i,n={},t=e.toString();for(t=t.replace(/\r\n?/mg,"\n");null!=(i=l.exec(t));){let e=i[1],t=i[2]||"",a=(t=t.trim())[0];t=t.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===a&&(t=(t=t.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),n[e]=t}return n},populate:function(e,i,n={}){let t=!!(n&&n.debug),a=!!(n&&n.override),r={};if("object"!=typeof i){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let n of Object.keys(i))Object.prototype.hasOwnProperty.call(e,n)?(!0===a&&(e[n]=i[n],r[n]=i[n]),t&&(!0===a?_debug(`"${n}" is already defined and WAS overwritten`):_debug(`"${n}" is already defined and was NOT overwritten`))):(e[n]=i[n],r[n]=i[n]);return r}};e.exports.configDotenv=h.configDotenv,e.exports._configVault=h._configVault,e.exports._parseVault=h._parseVault,e.exports.config=h.config,e.exports.decrypt=h.decrypt,e.exports.parse=h.parse,e.exports.populate=h.populate,e.exports=h},buffer(e){e.exports=p},crypto(e){e.exports=f},events(e){e.exports=m},fs(e){e.exports=y},"node:fs"(e){e.exports=S},"node:fs/promises"(e){e.exports=b},"node:stream"(e){e.exports=C},os(e){e.exports=w},path(e){e.exports=T},stream(e){e.exports=x},zlib(e){e.exports=L},"./node_modules/dotenv/package.json"(e){e.exports=JSON.parse('{"name":"dotenv","version":"17.2.3","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')}});var I,O,Q,U,G,q,$,K,z,W,j,V,ee,ei,en,et,ea,er,eo,eu,es,el,eh,eg,ec,ed,ep,ef,em={};E.r(em),E.d(em,{T:()=>eC});var ey={};E.r(ey),E.d(ey,{n:()=>e_,p:()=>eY});var eS={};E.r(eS),E.d(eS,{F:()=>mq});var eb={};E.r(eb),E.d(eb,{c:()=>eG});class eC{apiKey;baseUrl;modelBaseUrl;retryTimes;retryDelay;timeout;constructor(e){this.apiKey=e?.apiKey||process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",this.baseUrl=e?.baseUrl||process.env.COZE_INTEGRATION_BASE_URL||"",this.modelBaseUrl=e?.modelBaseUrl||process.env.COZE_INTEGRATION_MODEL_BASE_URL||"",this.retryTimes=e?.retryTimes??3,this.retryDelay=e?.retryDelay??1,this.timeout=e?.timeout??9e5}validate(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.")}getHeaders(){if(!this.apiKey)throw Error("API key is required. Set COZE_WORKLOAD_IDENTITY_API_KEY or provide apiKey in config.");return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}}class ew extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class eT extends Error{statusCode;response;constructor(e,i,n){super(e),this.name="APIError",this.statusCode=i,this.response=n}}class ex extends Error{originalError;constructor(e,i){super(e),this.originalError=i,this.name="NetworkError"}}class eL extends Error{constructor(e){super(e),this.name="ValidationError"}}class eE{config;axiosInstance;verbose;constructor(e,i,n=!1){this.config=e||new eC,this.verbose=n,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...i}})}async request(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}async requestWithResponse(e,i,n,t){let a=null;for(let r=0;r<=this.config.retryTimes;r++)try{0===r&&this.verbose&&this.logRequest(e,i,n,t);let a=await this.axiosInstance.request({method:e,url:i,data:n,...t});return 0===r&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let i=e.response.status;if(i>=400&&i<500&&429!==i)throw new eT(e.response.data?.message||e.message,i,e.response.data)}r<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(r+1))}if(a)if(_.isAxiosError(a)&&a.response)throw new eT(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new ex(a.message);throw new ex("Request failed after retries")}sanitizeHeaders(e){let i=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],n={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();i.some(i=>e.includes(i))?n[t]="***":n[t]=a}return n}logRequest(e,i,n,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${i}`);let a={};Object.assign(a,this.axiosInstance.defaults.headers.common||{},this.axiosInstance.defaults.headers[e.toLowerCase()]||{},t?.headers||{});let r=this.sanitizeHeaders(a);for(let[e,i]of(console.log("\nHeaders:"),Object.entries(r)))console.log(` ${e}: ${i}`);n&&(console.log("\nBody:"),console.log(JSON.stringify(n,null,2))),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}logResponse(e){if(console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE5 HTTP Response"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Status: ${e.status} ${e.statusText}`),e.headers)for(let[i,n]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${i}: ${n}`);if(e.data){console.log("\nBody:");let i="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(i.length>1e3?i.substring(0,1e3)+"\n... (truncated)":i)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(i=>setTimeout(i,e))}}let e_=["x-tt-logid","x-tt-env","x-use-ppe","x-tt-env-fe","x-run-mode","rpc-persist-res-rec-biz-scene","rpc-persist-coze-record-root-id","rpc-persist-res-rec-root-entity-type","rpc-persist-res-rec-root-entity-id","rpc-persist-res-rec-ext-info"];class eY{static extractForwardHeaders(e){let i={};return e instanceof Headers?e_.forEach(n=>{let t=e.get(n);t&&(i[n]=t)}):e_.forEach(n=>{let t=e[n]||e[n.toLowerCase()];t&&(i[n]=t)}),i}}let eD=new Set(["localhost","127.0.0.1","0.0.0.0","::1"]),ev=new Set(["http:","https:"]),eA=[["code.coze.cn","/api/sandbox/coze_coding/file/proxy"]],eN=/^data:([\w.+-]+\/[\w.+-]+)(?:;[\w.+-]+=[\w.+-]+)*;base64,[A-Za-z0-9+/]+={0,2}$/i,eP=new Set(["image/x-wmf","image/wmf","image/x-emf","image/emf","image/x-ms-bmp","image/tiff","image/x-tiff","image/x-icon","image/vnd.microsoft.icon","image/x-portable-pixmap","image/x-portable-bitmap","image/x-portable-graymap"]);class eZ extends eL{url;constructor(e,i){super(e),this.name="URLValidationError",this.url=i}}function isBase64DataUri(e){return!!e&&"string"==typeof e&&eN.test(e.trim())}function getDataUriMediatype(e){if(!e||"string"!=typeof e)return;let i=eN.exec(e.trim());if(i)return i[1].toLowerCase()}function checkBase64DataUri(e){if(!isBase64DataUri(e))return!1;let i=getDataUriMediatype(e);if(i&&eP.has(i))throw new eZ(`The image format '${i}' is outdated and not supported by many models. Please convert the image to a widely-supported format (PNG, JPEG, WEBP or GIF) and try again.`,e);return!0}async function url_utils_validateUrl(e,i){let n,{allowHeadCheck:t=!0,timeout:a=5e3}=i||{};if(!e||"string"!=typeof e)throw new eZ("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eZ("URL cannot be empty",e);if(checkBase64DataUri(e))return e;try{n=new Y(e)}catch{if(isLocalPath(e))throw new eZ(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eZ(`Invalid URL format: ${e}`,e)}if(!ev.has(n.protocol))throw new eZ(`Unsupported scheme '${n.protocol}', only http/https allowed`,e);let r=n.hostname;if(!r)throw new eZ(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(r.toLowerCase())||eD.has(r.replace(/^\[|\]$/g,"").toLowerCase()))throw new eZ(`Access to local address is not allowed: ${r}`,e);if(isEphemeralUrl(e))throw new eZ("This URL appears to be a temporary sandbox proxy URL that may expire. Please download the file and upload it to persistent storage (Storage skill) first.",e);return t&&await headCheck(e,a),e}function isEphemeralUrl(e){try{let i=new Y(e),n=i.hostname.toLowerCase(),t=i.pathname;for(let[e,i]of eA)if(n===e&&t.startsWith(i))return!0}catch{}return!1}function isLocalPath(e){return!!e&&!!(e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||e.startsWith("~/")||e.length>=3&&/^[a-zA-Z]$/.test(e[0])&&":"===e[1]&&("/"===e[2]||"\\"===e[2]))}function validateUrlSync(e){let i;if(!e||"string"!=typeof e)throw new eZ("URL cannot be empty","string"==typeof e?e:void 0);if(!(e=e.trim()))throw new eZ("URL cannot be empty",e);if(checkBase64DataUri(e))return e;try{i=new Y(e)}catch{if(isLocalPath(e))throw new eZ(`The input appears to be a local file path: ${e}. Please upload it using the Storage skill first to get a persistent HTTP URL.`,e);throw new eZ(`Invalid URL format: ${e}`,e)}if(!ev.has(i.protocol))throw new eZ(`Unsupported scheme '${i.protocol}', only http/https allowed`,e);let n=i.hostname;if(!n)throw new eZ(`Cannot extract hostname from URL: ${e}`,e);if(eD.has(n.toLowerCase())||eD.has(n.replace(/^\[|\]$/g,"").toLowerCase()))throw new eZ(`Access to local address is not allowed: ${n}`,e);return e}async function headCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let a=await fetch(e,{method:"HEAD",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0"}});if(405===a.status){clearTimeout(t),await rangeCheck(e,i);return}if(!a.ok)throw new eZ(`URL is not reachable: HTTP ${a.status}`,e)}catch(n){if(n instanceof eZ)throw n;if("AbortError"===n.name)throw new eZ(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eZ(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}async function rangeCheck(e,i){let n=new AbortController,t=setTimeout(()=>n.abort(),i);try{let i=await fetch(e,{method:"GET",signal:n.signal,headers:{"User-Agent":"CozeSDK-URLValidator/1.0",Range:"bytes=0-0"}});if(405===i.status||400===i.status)return;if(i.status>=400)throw new eZ(`URL is not reachable: HTTP ${i.status}`,e)}catch(n){if(n instanceof eZ)throw n;if("AbortError"===n.name)throw new eZ(`URL is not reachable (request timed out after ${i}ms). Please check if the URL is correct and accessible.`,e);throw new eZ(`URL is not reachable (${n.message}). Please check if the URL is correct and accessible.`,e)}finally{clearTimeout(t)}}class eR{static DEFAULT_MODEL="doubao-seedream-5-0-260128";static DEFAULT_SIZE="2K";static DEFAULT_CUSTOM_SIZE="2048x2048";static DEFAULT_WATERMARK=!0;static DEFAULT_RESPONSE_FORMAT="url";static DEFAULT_OPTIMIZE_PROMPT_MODE="standard";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION="disabled";static DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES=15;static MIN_TOTAL_PIXELS=3686400;static MAX_TOTAL_PIXELS=0x1000000;static MIN_ASPECT_RATIO=1/16;static MAX_ASPECT_RATIO=16;static PRESET_SIZES=["2K","4K"]}function validateImageSize(e){if(eR.PRESET_SIZES.includes(e))return e;let i=e.match(/^(\d+)x(\d+)$/);if(!i)throw Error(`Invalid size format. Must be ${JSON.stringify(eR.PRESET_SIZES)} or 'WIDTHxHEIGHT' format (e.g., 2048x2048). Got: ${e}`);let n=parseInt(i[1],10),t=parseInt(i[2],10);if(n<=0||t<=0)throw Error(`Width and height must be positive integers. Got: ${e}`);let a=n*t;if(a<eR.MIN_TOTAL_PIXELS||a>eR.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${eR.MIN_TOTAL_PIXELS.toLocaleString()} and ${eR.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${n}x${t})`);let r=n/t;if(r<eR.MIN_ASPECT_RATIO||r>eR.MAX_ASPECT_RATIO)throw Error(`Aspect ratio must be between 1:16 and 16:1. Got: ${n}:${t} (${r.toFixed(2)})`);return e}function validateImageSizeOrDefault(e){try{return validateImageSize(e)}catch{return eR.DEFAULT_SIZE}}class eM{response;constructor(e){this.response=e}get success(){return!this.response.error&&this.response.data.every(e=>!e.error)}get imageUrls(){return this.response.data.filter(e=>e.url).map(e=>e.url)}get imageB64List(){return this.response.data.filter(e=>e.b64_json).map(e=>e.b64_json)}get errorMessages(){let e=[];for(let i of(this.response.error&&e.push(`API Error: ${this.response.error.message||"Unknown error"}`),this.response.data))i.error&&e.push(`Image generation error: ${i.error.message||"Unknown error"}`);return e}}function buildImageGenerationApiRequest(e,i){let n=validateImageSizeOrDefault(e.size||eR.DEFAULT_SIZE);return{model:i,prompt:e.prompt,size:n,watermark:e.watermark??eR.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||eR.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||eR.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||eR.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||eR.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eJ extends eE{constructor(e,i,n=!1){super(e,i,n)}async generate(e){if(e.image)if(Array.isArray(e.image))for(let i=0;i<e.image.length;i++)e.image[i]=await url_utils_validateUrl(e.image[i]);else e.image=await url_utils_validateUrl(e.image);let i=e.model||eR.DEFAULT_MODEL,n=buildImageGenerationApiRequest(e,i),t=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,n);if(t.error)throw new eT(`API returned error: ${t.error.message||"Unknown error"}`,t.error.code?parseInt(t.error.code):500,t.error);for(let e of t.data)if(e.error)throw new eT(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return t}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new eM(e)}}function convertToApiFormat(e){let i={};return e.query&&(i.Query=e.query),e.search_type&&(i.SearchType=e.search_type),void 0!==e.count&&(i.Count=e.count),void 0!==e.need_summary&&(i.NeedSummary=e.need_summary),e.time_range&&(i.TimeRange=e.time_range),e.filter&&(i.Filter={NeedContent:e.filter.need_content||!1,NeedUrl:e.filter.need_url||!1,Sites:e.filter.sites,BlockHosts:e.filter.block_hosts}),i}function convertFromApiFormat(e){let i={};return void 0!==e.Id&&(i.id=e.Id),void 0!==e.SortId&&(i.sort_id=e.SortId),void 0!==e.Title&&(i.title=e.Title),void 0!==e.SiteName&&(i.site_name=e.SiteName),void 0!==e.Url&&(i.url=e.Url),void 0!==e.Snippet&&(i.snippet=e.Snippet),void 0!==e.Summary&&(i.summary=e.Summary),void 0!==e.Content&&(i.content=e.Content),void 0!==e.PublishTime&&(i.publish_time=e.PublishTime),void 0!==e.LogoUrl&&(i.logo_url=e.LogoUrl),void 0!==e.RankScore&&(i.rank_score=e.RankScore),void 0!==e.AuthInfoDes&&(i.auth_info_des=e.AuthInfoDes),void 0!==e.AuthInfoLevel&&(i.auth_info_level=e.AuthInfoLevel),e.Image&&(i.image={url:e.Image.Url,width:e.Image.Width,height:e.Image.Height,shape:e.Image.Shape}),i}class ek extends eE{constructor(e,i,n=!1){super(e,i,n)}async search(e){let i,n=convertToApiFormat(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,n),a=t.ResponseMetadata||{};if(a.Error)throw new eT(`Search failed: ${a.Error}`,500,a.Error);let r=t.Result||{},o=[];if(r.WebResults)for(let e of r.WebResults)o.push(convertFromApiFormat(e));let u=[];if(r.ImageResults)for(let e of r.ImageResults)u.push(convertFromApiFormat(e));return r.Choices&&r.Choices.length>0&&(i=r.Choices[0].Message?.Content),{web_items:o,image_items:u,summary:i}}async webSearch(e,i=10,n=!0){return this.search({query:e,search_type:"web",count:i,need_summary:n})}async webSearchWithSummary(e,i=10){return this.search({query:e,search_type:"web_summary",count:i,need_summary:!0})}async imageSearch(e,i=10){return this.search({query:e,search_type:"image",count:i,need_summary:!1})}async advancedSearch(e,i={}){let n={need_content:i.needContent,need_url:i.needUrl,sites:i.sites,block_hosts:i.blockHosts};return this.search({query:e,search_type:i.searchType||"web",count:i.count||10,filter:n,need_summary:void 0===i.needSummary||i.needSummary,time_range:i.timeRange})}}class eB{static DEFAULT_SPEAKER="zh_female_xiaohe_uranus_bigtts";static DEFAULT_AUDIO_FORMAT="mp3";static DEFAULT_SAMPLE_RATE=24e3;static DEFAULT_SPEECH_RATE=0;static DEFAULT_LOUDNESS_RATE=0}function buildTTSApiRequest(e){let i={user:{uid:e.uid},req_params:{speaker:e.speaker||eB.DEFAULT_SPEAKER,audio_params:{format:e.audioFormat||eB.DEFAULT_AUDIO_FORMAT,sample_rate:e.sampleRate||eB.DEFAULT_SAMPLE_RATE,speech_rate:e.speechRate??eB.DEFAULT_SPEECH_RATE,loudness_rate:e.loudnessRate??eB.DEFAULT_LOUDNESS_RATE}}};return e.text?i.req_params.text=e.text:e.ssml&&(i.req_params.ssml=e.ssml),i}function buildASRApiRequest(e){let i={};return e.url?i.url=e.url:e.base64Data&&(i.data=e.base64Data),{user:{uid:e.uid},audio:i}}class eH extends eE{constructor(e,i,n=!1){super(e,i,n)}async synthesize(e){if(!e.text&&!e.ssml)throw new eL("必须提供 text 或 ssml 其中之一");let i=buildTTSApiRequest(e),n={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await _.post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,i,{headers:n,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new eT(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new eT(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((i,n)=>{let t="",a=0,r="";e.data.on("data",e=>{let o=(r+=e.toString("utf-8")).split("\n");for(let e of(r=o.pop()||"",o))if(e.trim()&&e.startsWith("data:"))try{let r=e.replace("data:","").trim();if(!r)continue;let o=JSON.parse(r);if(0===o.code&&o.data){let e=Buffer.from(o.data,"base64");a+=e.length}else if(2e7===o.code){o.url&&(t=o.url),i({audioUri:t,audioSize:a});return}else if(o.code>0)return void n(new eT(`合成音频失败: ${o.message||""}`,o.code))}catch(e){n(new eT(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?i({audioUri:t,audioSize:a}):n(new eT("未收到完整的音频数据",500))}),e.data.on("error",e=>{n(new eT(`流处理错误: ${e.message}`,500))})})}}class eF extends eE{constructor(e,i,n=!1){super(e,i,n)}async recognize(e){if(!e.url&&!e.base64Data)throw new eL("必须提供 url 或 base64Data 其中之一");let i=buildASRApiRequest(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,i),n=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==n)throw new eT(`ASR 识别失败,状态码: ${n}, 错误信息: ${t}`,e.status,{code:n,message:t});let a=e.data.result||{};return{text:a.text||"",duration:a.duration,utterances:a.utterances,rawData:e.data}}catch(e){if(e instanceof eT)throw e;throw new eT(`ASR 请求异常: ${e.message}`,500)}}}class eX{static DEFAULT_MODEL="doubao-seedance-2-0-260128";static DEFAULT_RESOLUTION="720p";static DEFAULT_RATIO="16:9";static DEFAULT_DURATION=5;static DEFAULT_WATERMARK=!0;static DEFAULT_CAMERA_FIXED=!1;static DEFAULT_GENERATE_AUDIO=!0}class eI extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}static validateContentItems(e,i){let n=0,t=0,a=0,r=0,o=0;for(let i of e)"image_url"===i.type?"first_frame"===i.role?n+=1:"last_frame"===i.role?t+=1:"reference_image"===i.role&&(a+=1):"video_url"===i.type?r+=1:"audio_url"===i.type&&(o+=1);let u=n>0||t>0,s=a>0||r>0||o>0;if(u&&s)throw new eT("图生视频-首尾帧 与 多模态参考生视频 为互斥场景,不可混用。请只使用 first_frame/last_frame 角色,或只使用 reference_image/reference_video/reference_audio。如需『首尾帧 + 多模态参考』效果,可在多模态场景中通过提示词指定参考图作为首帧/尾帧。",400);if(s){if("doubao-seedance-2-0-260128"!==i)throw new eT(`多模态参考生视频(reference_image/reference_video/reference_audio)仅支持 doubao-seedance-2-0-260128 模型,当前模型为 ${i}`,400);if(0===a&&0===r)throw new eT("多模态参考生视频至少需要包含 1 个 reference_image 或 reference_video,不可单独输入 reference_audio。",400);if(a>9)throw new eT(`reference_image 数量超出限制:最多 9 个,当前 ${a} 个`,400);if(r>3)throw new eT(`reference_video 数量超出限制:最多 3 个,当前 ${r} 个`,400);if(o>3)throw new eT(`reference_audio 数量超出限制:最多 3 个,当前 ${o} 个`,400)}if(u){if(n>1)throw new eT(`first_frame 角色至多 1 个,当前 ${n} 个`,400);if(t>1)throw new eT(`last_frame 角色至多 1 个,当前 ${t} 个`,400);if(t>0&&0===n)throw new eT("提供 last_frame 时必须同时提供 first_frame",400)}}async videoGeneration(e,i){let n=(i?.maxWaitTime??900)*1e3,t=i?.model||eX.DEFAULT_MODEL;for(let i of(eI.validateContentItems(e,t),e))"image_url"===i.type?i.image_url.url=await url_utils_validateUrl(i.image_url.url):"video_url"===i.type?i.video_url.url=await url_utils_validateUrl(i.video_url.url):"audio_url"===i.type&&(i.audio_url.url=await url_utils_validateUrl(i.audio_url.url));let a={model:t,content:e};i?.callbackUrl&&(a.callback_url=i.callbackUrl),i?.returnLastFrame&&(a.return_last_frame=i.returnLastFrame),a.resolution=i?.resolution??eX.DEFAULT_RESOLUTION,a.ratio=i?.ratio??eX.DEFAULT_RATIO,a.duration=i?.duration??eX.DEFAULT_DURATION,a.watermark=i?.watermark??eX.DEFAULT_WATERMARK,i?.seed!==void 0&&(a.seed=i.seed),a.camerafixed=i?.camerafixed??eX.DEFAULT_CAMERA_FIXED,a.generate_audio=i?.generateAudio??eX.DEFAULT_GENERATE_AUDIO;let r=null,o=0;for(;o<3;)try{if(!(r=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,a)).id))throw new eT("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${r}`);break}catch(i){o++;let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${o}/3): ${e}`),o>=3)throw new eT(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**o*1e3,1e4);this.verbose&&console.warn(`遇到速率限制,等待 ${e/1e3} 秒后重试...`),await this.sleep(e)}else if(e.toLowerCase().includes("timeout"))this.verbose&&console.warn("请求超时,等待 2 秒后重试..."),await this.sleep(2e3);else throw i}let u=Date.now(),s=0;for(;Date.now()-u<n;){s++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${r}`),i=e.status;if(this.verbose&&console.log(`任务 ${r} 状态检查 #${s}: ${i}`),"succeeded"===i){let i=e.content?.video_url||null,n=e.content?.last_frame_url||"";if(!i)throw new eT(`视频生成成功但响应中缺少视频URL,任务ID: ${r}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${r}, 视频URL: ${i}`),{videoUrl:i,response:e,lastFrameUrl:n}}if("failed"===i){let i=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${r}, 错误: ${i}`),new eT(`视频生成失败: ${i}`,500)}if("cancelled"===i)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${r}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===i||"running"===i){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${i},任务ID: ${r}`),await this.sleep(5e3);continue}}catch(i){let e=i instanceof Error?i.message:String(i);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${r}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new eT(`任务不存在或已过期,任务ID: ${r}`,404);if(Date.now()-u>=n)throw i;await this.sleep(5e3);continue}}let l=Math.floor((Date.now()-u)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${r}, 已等待: ${l}秒`),new eT(`视频生成超时,已等待 ${l} 秒,任务ID: ${r}`,408)}async videoGenerationAsync(e,i){return this.videoGeneration(e,i)}}class eO{static DEFAULT_URL_EXPIRE=86400;static MAX_URL_EXPIRE=2592e3;static MIN_URL_EXPIRE=1;static MIN_AUDIO_URL_EXPIRE=3600;static DEFAULT_FONT_TYPE="1525745";static DEFAULT_FONT_SIZE=36;static DEFAULT_FONT_COLOR="#FFFFFFFF";static DEFAULT_BACKGROUND_COLOR="#00000000";static DEFAULT_BACKGROUND_BORDER_WIDTH=0;static DEFAULT_FONT_POS_HEIGHT="10%";static DEFAULT_FONT_POS_X="0";static DEFAULT_FONT_POS_Y="90%";static DEFAULT_FONT_POS_WIDTH="100%";static DEFAULT_SYNC_METHOD="trim";static DEFAULT_SYNC_MODE="video";static DEFAULT_SUBTITLE_TYPE="srt";static DEFAULT_AUDIO_FORMAT="m4a"}class eQ extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){e=await url_utils_validateUrl(e);let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==i.code)throw new eT(`Key frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByInterval(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:i});if(0!==n.code)throw new eT(`Interval frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByCount(e,i){e=await url_utils_validateUrl(e);let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:i});if(0!==n.code)throw new eT(`Count-based frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}}class eU extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,i=eO.MIN_URL_EXPIRE){if(void 0===e)return eO.DEFAULT_URL_EXPIRE;if(e<i||e>eO.MAX_URL_EXPIRE)throw new eT(`url_expire must be between ${i} and ${eO.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,i,n){e=await url_utils_validateUrl(e),n?.subtitleUrl&&(n.subtitleUrl=await url_utils_validateUrl(n.subtitleUrl));let t=this.validateUrlExpire(n?.urlExpire),a={video:e,subtitle_config:{background_border_width:i.background_border_width??eO.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:i.font_type??eO.DEFAULT_FONT_TYPE,font_pos_config:{height:i.font_pos_config.height??eO.DEFAULT_FONT_POS_HEIGHT,pos_x:i.font_pos_config.pos_x??eO.DEFAULT_FONT_POS_X,pos_y:i.font_pos_config.pos_y??eO.DEFAULT_FONT_POS_Y,width:i.font_pos_config.width??eO.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==i.border_width&&(a.subtitle_config.border_width=i.border_width),void 0!==i.font_color&&(a.subtitle_config.font_color=i.font_color),void 0!==i.font_size&&(a.subtitle_config.font_size=i.font_size),void 0!==i.background_color&&(a.subtitle_config.background_color=i.background_color),void 0!==i.border_color&&(a.subtitle_config.border_color=i.border_color),n?.subtitleUrl&&(a.subtitle_url=n.subtitleUrl),n?.textList&&n.textList.length>0&&(a.text_list=n.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Add subtitles failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Add subtitles failed: returned URL is empty",500);return r.data}async concatVideos(e,i){if(!e||0===e.length)throw new eT("videos list cannot be empty",400);for(let i=0;i<e.length;i++)e[i]=await url_utils_validateUrl(e[i]);let n={videos:e,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.transitions&&i.transitions.length>0&&(n.transitions=i.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,n),a=t.headers["x-api-status-code"]||"0",r=t.headers["x-api-message"]||"";if("0"!==a)throw new eT(`Concat videos failed, status code: ${a}, error: ${r}`,parseInt(a)||500);if(!t.data.url)throw new eT("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,i,n){e=await url_utils_validateUrl(e),i=await url_utils_validateUrl(i);let t=this.validateUrlExpire(n?.urlExpire),a={video:e,audio:i,url_expire:t};n?.isVideoAudioSync!==void 0&&(a.is_video_audio_sync=n.isVideoAudioSync),n?.outputSync&&(a.output_sync={sync_method:n.outputSync.sync_method??eO.DEFAULT_SYNC_METHOD,sync_mode:n.outputSync.sync_mode??eO.DEFAULT_SYNC_MODE}),n?.isAudioReserve!==void 0&&(a.is_audio_reserve=n.isAudioReserve);let r=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,a),o=r.headers["x-api-status-code"]||"0",u=r.headers["x-api-message"]||"";if("0"!==o)throw new eT(`Compile video audio failed, status code: ${o}, error: ${u}`,parseInt(o)||500);if(!r.data.url)throw new eT("Compile video audio failed: returned URL is empty",500);return r.data}async audioToSubtitle(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire),t={source:e,url_expire:n};i?.subtitleType&&(t.subtitle_type=i.subtitleType);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Audio to subtitle failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Audio to subtitle failed: returned URL is empty",500);return a.data}async extractAudio(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire,eO.MIN_AUDIO_URL_EXPIRE),t={video:e,url_expire:n};i?.format&&(t.format=i.format);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Extract audio failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Extract audio failed: returned URL is empty",500);return a.data}async videoTrim(e,i){e=await url_utils_validateUrl(e);let n=this.validateUrlExpire(i?.urlExpire);if(i?.startTime!==void 0&&i.startTime<0)throw new eT("start_time must be greater than or equal to 0",400);if(i?.endTime!==void 0&&i.endTime<0)throw new eT("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:n};i?.startTime!==void 0&&(t.start_time=i.startTime),i?.endTime!==void 0&&(t.end_time=i.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),r=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==r)throw new eT(`Video trim failed, status code: ${r}, error: ${o}`,parseInt(r)||500);if(!a.data.url)throw new eT("Video trim failed: returned URL is empty",500);return a.data}}let eG={MODEL:"doubao-seed-1-8-251228",THINKING:"disabled",CACHING:"disabled",TEMPERATURE:1,STREAMING:!0};class e${config;customHeaders;constructor(e,i){this.config=e||new eC,this.customHeaders=i}createLLM(e,i,n){let t={};t.thinking={type:e.thinking??eG.THINKING},e.caching&&"disabled"!==e.caching&&(t.caching={type:e.caching});let a={Authorization:`Bearer ${this.config.apiKey}`,"X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0",...this.customHeaders,...n};return i&&(a["X-Previous-Response-Id"]=i),new v({model:e.model||eG.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:eG.STREAMING,temperature:void 0!==e.temperature?e.temperature:eG.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let i=this.convertContent(e.content);switch(e.role){case"system":return new P(i);case"user":return new N(i);case"assistant":return new A(i);default:throw Error(`Unknown message role: ${e.role}`)}})}convertContent(e){return"string"==typeof e?e:e.map(e=>{if("text"===e.type)return{type:"text",text:e.text};if("image_url"===e.type){let i={url:e.image_url.url};return e.image_url.detail&&(i.detail=e.image_url.detail),{type:"image_url",image_url:i}}if("video_url"===e.type){let i={url:e.video_url.url};return void 0!==e.video_url.fps&&(i.fps=e.video_url.fps),{type:"video_url",video_url:i}}return e})}async *stream(e,i={},n,t){if(!e.some(e=>"user"===e.role))throw Error('messages must contain at least one message with role: "user", otherwise the API request will fail validation.');for(let i of e)if(Array.isArray(i.content))for(let e of i.content)"image_url"===e.type&&e.image_url?e.image_url.url=await url_utils_validateUrl(e.image_url.url):"video_url"===e.type&&e.video_url&&(e.video_url.url=await url_utils_validateUrl(e.video_url.url));let a=this.createLLM(i,n,t),r=this.convertMessages(e);for await(let e of(await a.stream(r)))yield e}async invoke(e,i={},n,t){let a="";for await(let r of this.stream(e,i,n,t))r.content&&(a+=r.content.toString());return{content:a}}}var eK=((I={})[I.TEXT=0]="TEXT",I[I.URL=1]="URL",I[I.URI=2]="URI",I);class ez extends eE{baseUrl;constructor(e,i,n=!1){super(e,i,n),this.baseUrl=this.config.baseUrl}async search(e,i,n=5,t=0,a){let r={query:e,top_k:n,min_score:t};i&&(r.dataset=i);let o=`${this.baseUrl}/v1/knowledge_base/recall`,u={...a};this.config.apiKey&&(u["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,r,{headers:u});return{chunks:(s.data||[]).map(e=>({content:e.slice||"",score:e.score||0,chunk_id:e.chunk_id,doc_id:e.doc_id})),code:s.code||0,msg:s.msg||""}}async addDocuments(e,i,n,t){let a={dataset:i,data:e};n&&(a.chunk_config=Object.fromEntries(Object.entries(n).filter(([e,i])=>void 0!==i)));let r=`${this.baseUrl}/v1/knowledge_base/batch_import`,o={...t};this.config.apiKey&&(o["x-coze-token"]=`Bearer ${this.config.apiKey}`);let u=await this.request("POST",r,a,{headers:o}),s=u.msg||"";return 0===u.code&&(s="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:u.doc_ids,code:u.code||0,msg:s}}}let eW=Symbol.for("drizzle:entityKind");function entity_is(e,i){if(!e||"object"!=typeof e)return!1;if(e instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,eW))throw Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let n=Object.getPrototypeOf(e).constructor;if(n)for(;n;){if(eW in n&&n[eW]===i[eW])return!0;n=Object.getPrototypeOf(n)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class ej{static [eW]="ConsoleLogWriter";write(e){console.log(e)}}class eV{static [eW]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new ej}logQuery(e,i){let n=i.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),t=n.length?` -- params: [${n.join(", ")}]`:"";this.writer.write(`Query: ${e}${t}`)}}class e0{static [eW]="NoopLogger";logQuery(){}}class e1{constructor(e,i){this.table=e,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static [eW]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}class e3{static [eW]="ColumnBuilder";config;constructor(e,i,n){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){""===this.config.name&&(this.config.name=e)}}let e2=Symbol.for("drizzle:Name");class e4{static [eW]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,i){this.reference=()=>{let{name:i,columns:n,foreignColumns:t}=e();return{name:i,columns:n,foreignTable:t[0].table,foreignColumns:t}},i&&(this._onUpdate=i.onUpdate,this._onDelete=i.onDelete)}onUpdate(e){return this._onUpdate=void 0===e?"no action":e,this}onDelete(e){return this._onDelete=void 0===e?"no action":e,this}build(e){return new e8(e,this)}}class e8{constructor(e,i){this.table=e,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static [eW]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:i,foreignColumns:n}=this.reference(),t=i.map(e=>e.name),a=n.map(e=>e.name),r=[this.table[e2],...t,n[0].table[e2],...a];return e??`${r.join("_")}_fk`}}function iife(e,...i){return e(...i)}function uniqueKeyName(e,i){return`${e[e2]}_${i.join("_")}_unique`}class e6{constructor(e,i){this.name=i,this.columns=e}static [eW]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new e7(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class e5{static [eW]=null;name;constructor(e){this.name=e}on(...e){return new e6(e,this.name)}}class e7{constructor(e,i,n,t){this.table=e,this.columns=i,this.name=t??uniqueKeyName(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=n}static [eW]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function parsePgArrayValue(e,i,n){for(let t=i;t<e.length;t++){let a=e[t];if("\\"===a){t++;continue}if('"'===a)return[e.slice(i,t).replace(/\\/g,""),t+1];if(!n&&(","===a||"}"===a))return[e.slice(i,t).replace(/\\/g,""),t]}return[e.slice(i).replace(/\\/g,""),e.length]}function parsePgNestedArray(e,i=0){let n=[],t=i,a=!1;for(;t<e.length;){let r=e[t];if(","===r){(a||t===i)&&n.push(""),a=!0,t++;continue}if(a=!1,"\\"===r){t+=2;continue}if('"'===r){let[i,a]=parsePgArrayValue(e,t+1,!0);n.push(i),t=a;continue}if("}"===r)return[n,t+1];if("{"===r){let[i,a]=parsePgNestedArray(e,t+1);n.push(i),t=a;continue}let[o,u]=parsePgArrayValue(e,t,!1);n.push(o),t=u}return[n,t]}function parsePgArray(e){let[i]=parsePgNestedArray(e,1);return i}function makePgArray(e){return`{${e.map(e=>Array.isArray(e)?makePgArray(e):"string"==typeof e?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class e9 extends e3{foreignKeyConfigs=[];static [eW]="PgColumnBuilder";array(e){return new ir(this.config.name,this,e)}references(e,i={}){return this.foreignKeyConfigs.push({ref:e,actions:i}),this}unique(e,i){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,i){return this.foreignKeyConfigs.map(({ref:n,actions:t})=>iife((n,t)=>{let a=new e4(()=>({columns:[e],foreignColumns:[n()]}));return t.onUpdate&&a.onUpdate(t.onUpdate),t.onDelete&&a.onDelete(t.onDelete),a.build(i)},n,t))}buildExtraConfigColumn(e){return new it(e,this.config)}}class ie extends e1{constructor(e,i){i.uniqueName||(i.uniqueName=uniqueKeyName(e,[i.name])),super(e,i),this.table=e}static [eW]="PgColumn"}class it extends ie{static [eW]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class ia{static [eW]=null;constructor(e,i,n,t){this.name=e,this.keyAsName=i,this.type=n,this.indexConfig=t}name;keyAsName;type;indexConfig}class ir extends e9{static [eW]="PgArrayBuilder";constructor(e,i,n){super(e,"array","PgArray"),this.config.baseBuilder=i,this.config.size=n}build(e){let i=this.config.baseBuilder.build(e);return new io(e,this.config,i)}}class io extends ie{constructor(e,i,n,t){super(e,i),this.baseColumn=n,this.range=t,this.size=i.size}size;static [eW]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=parsePgArray(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,i=!1){let n=e.map(e=>null===e?null:entity_is(this.baseColumn,io)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return i?n:makePgArray(n)}}class iu extends e9{static [eW]="PgEnumObjectColumnBuilder";constructor(e,i){super(e,"string","PgEnumObjectColumn"),this.config.enum=i}build(e){return new is(e,this.config)}}class is extends ie{static [eW]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}let il=Symbol.for("drizzle:isPgEnum");function isPgEnum(e){return!!e&&"function"==typeof e&&il in e&&!0===e[il]}class ih extends e9{static [eW]="PgEnumColumnBuilder";constructor(e,i){super(e,"string","PgEnumColumn"),this.config.enum=i}build(e){return new ig(e,this.config)}}class ig extends ie{static [eW]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,i){super(e,i),this.enum=i.enum}getSQLType(){return this.enum.enumName}}class ic{static [eW]="Subquery";constructor(e,i,n,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:i,alias:n,isWith:t,usedTables:a}}}class id extends ic{static [eW]="WithSubquery"}let ip=(n,t)=>e?(i||(i=e.trace.getTracer("drizzle-orm","0.45.1")),iife((e,i)=>i.startActiveSpan(n,i=>{try{return t(i)}catch(n){throw i.setStatus({code:e.SpanStatusCode.ERROR,message:n instanceof Error?n.message:"Unknown error"}),n}finally{i.end()}}),e,i)):t(),im=Symbol.for("drizzle:ViewBaseConfig"),iy=Symbol.for("drizzle:Schema"),iS=Symbol.for("drizzle:Columns"),ib=Symbol.for("drizzle:ExtraConfigColumns"),iC=Symbol.for("drizzle:OriginalName"),iw=Symbol.for("drizzle:BaseName"),iT=Symbol.for("drizzle:IsAlias"),ix=Symbol.for("drizzle:ExtraConfigBuilder"),iL=Symbol.for("drizzle:IsDrizzleTable");class iE{static [eW]="Table";static Symbol={Name:e2,Schema:iy,OriginalName:iC,Columns:iS,ExtraConfigColumns:ib,BaseName:iw,IsAlias:iT,ExtraConfigBuilder:ix};[e2];[iC];[iy];[iS];[ib];[iw];[iT]=!1;[iL]=!0;[ix]=void 0;constructor(e,i,n){this[e2]=this[iC]=e,this[iy]=i,this[iw]=n}}function getTableUniqueName(e){return`${e[iy]??"public"}.${e[e2]}`}class i_{static [eW]=null}function isSQLWrapper(e){return null!=e&&"function"==typeof e.getSQL}function mergeQueries(e){let i={sql:"",params:[]};for(let n of e)i.sql+=n.sql,i.params.push(...n.params),n.typings?.length&&(i.typings||(i.typings=[]),i.typings.push(...n.typings));return i}class iY{static [eW]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new iD([this])}}class iD{constructor(e){for(let i of(this.queryChunks=e,e))if(entity_is(i,iE)){let e=i[iE.Symbol.Schema];this.usedTables.push(void 0===e?i[iE.Symbol.Name]:e+"."+i[iE.Symbol.Name])}}static [eW]="SQL";decoder=iA;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ip("drizzle.buildSQL",i=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return i?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,i){let n=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:t,escapeName:a,escapeParam:r,prepareTyping:o,inlineParams:u,paramStartIndex:s}=n;return mergeQueries(e.map(e=>{if(entity_is(e,iY))return{sql:e.value.join(""),params:[]};if(entity_is(e,iv))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let i=[new iY("(")];for(let[n,t]of e.entries())i.push(t),n<e.length-1&&i.push(new iY(", "));return i.push(new iY(")")),this.buildQueryFromSourceParams(i,n)}if(entity_is(e,iD))return this.buildQueryFromSourceParams(e.queryChunks,{...n,inlineParams:u||e.shouldInlineParams});if(entity_is(e,iE)){let i=e[iE.Symbol.Schema],n=e[iE.Symbol.Name];return{sql:void 0===i||e[iT]?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,e1)){let n=t.getColumnCasing(e);if("indexes"===i.invokeSource)return{sql:a(n),params:[]};let r=e.table[iE.Symbol.Schema];return{sql:e.table[iT]||void 0===r?a(e.table[iE.Symbol.Name])+"."+a(n):a(r)+"."+a(e.table[iE.Symbol.Name])+"."+a(n),params:[]}}if(entity_is(e,ik)){let i=e[im].schema,n=e[im].name;return{sql:void 0===i||e[im].isAlias?a(n):a(i)+"."+a(n),params:[]}}if(entity_is(e,iP)){if(entity_is(e.value,iM))return{sql:r(s.value++,e),params:[e],typings:["none"]};let i=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(entity_is(i,iD))return this.buildQueryFromSourceParams([i],n);if(u)return{sql:this.mapInlineParam(i,n),params:[]};let t=["none"];return o&&(t=[o(e.encoder)]),{sql:r(s.value++,i),params:[i],typings:t}}return entity_is(e,iM)?{sql:r(s.value++,e),params:[e],typings:["none"]}:entity_is(e,iD.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:entity_is(e,ic)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new iY("("),e._.sql,new iY(") "),new iv(e._.alias)],n):isPgEnum(e)?e.schema?{sql:a(e.schema)+"."+a(e.enumName),params:[]}:{sql:a(e.enumName),params:[]}:isSQLWrapper(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],n):this.buildQueryFromSourceParams([new iY("("),e.getSQL(),new iY(")")],n):u?{sql:this.mapInlineParam(e,n),params:[]}:{sql:r(s.value++,e),params:[e],typings:["none"]}}))}mapInlineParam(e,{escapeString:i}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return i(e);if("object"==typeof e){let n=e.toString();return"[object Object]"===n?i(JSON.stringify(e)):i(n)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new iD.Aliased(this,e)}mapWith(e){return this.decoder="function"==typeof e?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class iv{constructor(e){this.value=e}static [eW]="Name";brand;getSQL(){return new iD([this])}}function isDriverValueEncoder(e){return"object"==typeof e&&null!==e&&"mapToDriverValue"in e&&"function"==typeof e.mapToDriverValue}let iA={mapFromDriverValue:e=>e},iN={mapToDriverValue:e=>e};({...iA,...iN});class iP{constructor(e,i=iN){this.value=e,this.encoder=i}static [eW]="Param";brand;getSQL(){return new iD([this])}}function sql_sql(e,...i){let n=[];for(let[t,a]of((i.length>0||e.length>0&&""!==e[0])&&n.push(new iY(e[0])),i.entries()))n.push(a,new iY(e[t+1]));return new iD(n)}(O=sql_sql||(sql_sql={})).empty=function(){return new iD([])},O.fromList=function(e){return new iD(e)},O.raw=function(e){return new iD([new iY(e)])},O.join=function(e,i){let n=[];for(let[t,a]of e.entries())t>0&&void 0!==i&&n.push(i),n.push(a);return new iD(n)},O.identifier=function(e){return new iv(e)},O.placeholder=function(e){return new iM(e)},O.param=function(e,i){return new iP(e,i)};var iZ=iD||(iD={});class iR{constructor(e,i){this.sql=e,this.fieldAlias=i}static [eW]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new iR(this.sql,this.fieldAlias)}}iZ.Aliased=iR;class iM{constructor(e){this.name=e}static [eW]="Placeholder";getSQL(){return new iD([this])}}function fillPlaceholders(e,i){return e.map(e=>{if(entity_is(e,iM)){if(!(e.name in i))throw Error(`No value for placeholder "${e.name}" was provided`);return i[e.name]}if(entity_is(e,iP)&&entity_is(e.value,iM)){if(!(e.value.name in i))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(i[e.value.name])}return e})}let iJ=Symbol.for("drizzle:IsDrizzleView");class ik{static [eW]="View";[im];[iJ]=!0;constructor({name:e,schema:i,selectedFields:n,query:t}){this[im]={name:e,originalName:e,schema:i,selectedFields:n,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new iD([this])}}e1.prototype.getSQL=function(){return new iD([this])},iE.prototype.getSQL=function(){return new iD([this])},ic.prototype.getSQL=function(){return new iD([this])};class iB{constructor(e){this.table=e}static [eW]="ColumnAliasProxyHandler";get(e,i){return"table"===i?this.table:e[i]}}class iH{constructor(e,i){this.alias=e,this.replaceOriginalName=i}static [eW]="TableAliasProxyHandler";get(e,i){if(i===iE.Symbol.IsAlias)return!0;if(i===iE.Symbol.Name||this.replaceOriginalName&&i===iE.Symbol.OriginalName)return this.alias;if(i===im)return{...e[im],name:this.alias,isAlias:!0};if(i===iE.Symbol.Columns){let i=e[iE.Symbol.Columns];if(!i)return i;let n={};return Object.keys(i).map(t=>{n[t]=new Proxy(i[t],new iB(new Proxy(e,this)))}),n}let n=e[i];return entity_is(n,e1)?new Proxy(n,new iB(new Proxy(e,this))):n}}class iF{constructor(e){this.alias=e}static [eW]=null;get(e,i){return"sourceTable"===i?aliasedTable(e.sourceTable,this.alias):e[i]}}function aliasedTable(e,i){return new Proxy(e,new iH(i,!1))}function aliasedTableColumn(e,i){return new Proxy(e,new iB(new Proxy(e.table,new iH(i,!1))))}function mapColumnsInAliasedSQLToAlias(e,i){return new iD.Aliased(mapColumnsInSQLToAlias(e.sql,i),e.fieldAlias)}function mapColumnsInSQLToAlias(e,i){return sql_sql.join(e.queryChunks.map(e=>entity_is(e,e1)?aliasedTableColumn(e,i):entity_is(e,iD)?mapColumnsInSQLToAlias(e,i):entity_is(e,iD.Aliased)?mapColumnsInAliasedSQLToAlias(e,i):e))}function toSnakeCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function toCamelCase(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,i,n)=>e+(0===n?i.toLowerCase():`${i[0].toUpperCase()}${i.slice(1)}`),"")}function noopCase(e){return e}class iX{static [eW]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?toSnakeCase:"camelCase"===e?toCamelCase:noopCase}getColumnCasing(e){if(!e.keyAsName)return e.name;let i=e.table[iE.Symbol.Schema]??"public",n=e.table[iE.Symbol.OriginalName],t=`${i}.${n}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let i=e[iE.Symbol.Schema]??"public",n=e[iE.Symbol.OriginalName],t=`${i}.${n}`;if(!this.cachedTables[t]){for(let i of Object.values(e[iE.Symbol.Columns])){let e=`${t}.${i.name}`;this.cache[e]=this.convert(i.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class iI extends Error{static [eW]="DrizzleError";constructor({message:e,cause:i}){super(e),this.name="DrizzleError",this.cause=i}}class iO extends Error{constructor(e,i,n){super(`Failed query: ${e}
2
+ params: ${i}`),this.query=e,this.params=i,this.cause=n,Error.captureStackTrace(this,iO),n&&(this.cause=n)}}class iQ extends iI{static [eW]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class iU extends e9{static [eW]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new iG(e,this.config)}}class iG extends ie{static [eW]="PgJsonb";constructor(e,i){super(e,i)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iq extends e9{static [eW]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new i$(e,this.config)}}class i$ extends ie{static [eW]="PgJson";constructor(e,i){super(e,i)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class iK extends e9{static [eW]="PgNumericBuilder";constructor(e,i,n){super(e,"string","PgNumeric"),this.config.precision=i,this.config.scale=n}build(e){return new iz(e,this.config)}}class iz extends ie{static [eW]="PgNumeric";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iW extends e9{static [eW]="PgNumericNumberBuilder";constructor(e,i,n){super(e,"number","PgNumericNumber"),this.config.precision=i,this.config.scale=n}build(e){return new ij(e,this.config)}}class ij extends ie{static [eW]="PgNumericNumber";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class iV extends e9{static [eW]="PgNumericBigIntBuilder";constructor(e,i,n){super(e,"bigint","PgNumericBigInt"),this.config.precision=i,this.config.scale=n}build(e){return new i0(e,this.config)}}class i0 extends ie{static [eW]="PgNumericBigInt";precision;scale;constructor(e,i){super(e,i),this.precision=i.precision,this.scale=i.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`numeric(${this.precision}, ${this.scale})`:void 0===this.precision?"numeric":`numeric(${this.precision})`}}class i1 extends e9{static [eW]="PgDateColumnBaseBuilder";defaultNow(){return this.default(sql_sql`now()`)}}class i3 extends i1{constructor(e,i,n){super(e,"string","PgTime"),this.withTimezone=i,this.precision=n,this.config.withTimezone=i,this.config.precision=n}static [eW]="PgTimeBuilder";build(e){return new i2(e,this.config)}}class i2 extends ie{static [eW]="PgTime";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class i4 extends i1{static [eW]="PgTimestampBuilder";constructor(e,i,n){super(e,"date","PgTimestamp"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i8(e,this.config)}}class i8 extends ie{static [eW]="PgTimestamp";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":` (${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){return"string"==typeof e?new Date(this.withTimezone?e:e+"+0000"):e}mapToDriverValue=e=>e.toISOString()}class i6 extends i1{static [eW]="PgTimestampStringBuilder";constructor(e,i,n){super(e,"string","PgTimestampString"),this.config.withTimezone=i,this.config.precision=n}build(e){return new i5(e,this.config)}}class i5 extends ie{static [eW]="PgTimestampString";withTimezone;precision;constructor(e,i){super(e,i),this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`timestamp${e}${this.withTimezone?" with time zone":""}`}mapFromDriverValue(e){if("string"==typeof e)return e;let i=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let n=e.getTimezoneOffset();return`${i}${n<=0?"+":"-"}${Math.floor(Math.abs(n)/60).toString().padStart(2,"0")}`}return i}}class i7 extends i1{static [eW]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new i9(e,this.config)}}class i9 extends ie{static [eW]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class ni extends i1{static [eW]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new nn(e,this.config)}}class nn extends ie{static [eW]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class nt extends e9{static [eW]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(sql_sql`gen_random_uuid()`)}build(e){return new na(e,this.config)}}class na extends ie{static [eW]="PgUUID";getSQLType(){return"uuid"}}let nr=Symbol.for("drizzle:PgInlineForeignKeys"),no=Symbol.for("drizzle:EnableRLS");class nu extends iE{static [eW]="PgTable";static Symbol=Object.assign({},iE.Symbol,{InlineForeignKeys:nr,EnableRLS:no});[nr]=[];[no]=!1;[iE.Symbol.ExtraConfigBuilder]=void 0;[iE.Symbol.ExtraConfigColumns]={}}class ns{static [eW]="PgPrimaryKeyBuilder";columns;name;constructor(e,i){this.columns=e,this.name=i}build(e){return new nl(e,this.columns,this.name)}}class nl{constructor(e,i,n){this.table=e,this.columns=i,this.name=n}static [eW]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[nu.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function bindIfParam(e,i){return!isDriverValueEncoder(i)||isSQLWrapper(e)||entity_is(e,iP)||entity_is(e,iM)||entity_is(e,e1)||entity_is(e,iE)||entity_is(e,ik)?e:new iP(e,i)}let eq=(e,i)=>sql_sql`${e} = ${bindIfParam(i,e)}`,ne=(e,i)=>sql_sql`${e} <> ${bindIfParam(i,e)}`;function and(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new iD(1===i.length?i:[new iY("("),sql_sql.join(i,new iY(" and ")),new iY(")")])}function or(...e){let i=e.filter(e=>void 0!==e);if(0!==i.length)return new iD(1===i.length?i:[new iY("("),sql_sql.join(i,new iY(" or ")),new iY(")")])}function not(e){return sql_sql`not ${e}`}let gt=(e,i)=>sql_sql`${e} > ${bindIfParam(i,e)}`,gte=(e,i)=>sql_sql`${e} >= ${bindIfParam(i,e)}`,lt=(e,i)=>sql_sql`${e} < ${bindIfParam(i,e)}`,lte=(e,i)=>sql_sql`${e} <= ${bindIfParam(i,e)}`;function inArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`false`:sql_sql`${e} in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} in ${bindIfParam(i,e)}`}function notInArray(e,i){return Array.isArray(i)?0===i.length?sql_sql`true`:sql_sql`${e} not in ${i.map(i=>bindIfParam(i,e))}`:sql_sql`${e} not in ${bindIfParam(i,e)}`}function isNull(e){return sql_sql`${e} is null`}function isNotNull(e){return sql_sql`${e} is not null`}function exists(e){return sql_sql`exists ${e}`}function notExists(e){return sql_sql`not exists ${e}`}function between(e,i,n){return sql_sql`${e} between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function notBetween(e,i,n){return sql_sql`${e} not between ${bindIfParam(i,e)} and ${bindIfParam(n,e)}`}function like(e,i){return sql_sql`${e} like ${i}`}function notLike(e,i){return sql_sql`${e} not like ${i}`}function ilike(e,i){return sql_sql`${e} ilike ${i}`}function notIlike(e,i){return sql_sql`${e} not ilike ${i}`}function asc(e){return sql_sql`${e} asc`}function select_desc(e){return sql_sql`${e} desc`}class nh{constructor(e,i,n){this.sourceTable=e,this.referencedTable=i,this.relationName=n,this.referencedTableName=i[iE.Symbol.Name]}static [eW]="Relation";referencedTableName;fieldName}class ng{constructor(e,i){this.table=e,this.config=i}static [eW]="Relations"}class nc extends nh{constructor(e,i,n,t){super(e,i,n?.relationName),this.config=n,this.isNullable=t}static [eW]="One";withFieldName(e){let i=new nc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=e,i}}class nd extends nh{constructor(e,i,n){super(e,i,n?.relationName),this.config=n}static [eW]="Many";withFieldName(e){let i=new nd(this.sourceTable,this.referencedTable,this.config);return i.fieldName=e,i}}function getOperators(){return{and:and,between:between,eq:eq,exists:exists,gt:gt,gte:gte,ilike:ilike,inArray:inArray,isNull:isNull,isNotNull:isNotNull,like:like,lt:lt,lte:lte,ne:ne,not:not,notBetween:notBetween,notExists:notExists,notLike:notLike,notIlike:notIlike,notInArray:notInArray,or:or,sql:sql_sql}}function getOrderByOperators(){return{sql:sql_sql,asc:asc,desc:select_desc}}function extractTablesRelationalConfig(e,i){1===Object.keys(e).length&&"default"in e&&!entity_is(e.default,iE)&&(e=e.default);let n={},t={},a={};for(let[r,o]of Object.entries(e))if(entity_is(o,iE)){let e=getTableUniqueName(o),i=t[e];for(let t of(n[e]=r,a[r]={tsName:r,dbName:o[iE.Symbol.Name],schema:o[iE.Symbol.Schema],columns:o[iE.Symbol.Columns],relations:i?.relations??{},primaryKey:i?.primaryKey??[]},Object.values(o[iE.Symbol.Columns])))t.primary&&a[r].primaryKey.push(t);let u=o[iE.Symbol.ExtraConfigBuilder]?.(o[iE.Symbol.ExtraConfigColumns]);if(u)for(let e of Object.values(u))entity_is(e,ns)&&a[r].primaryKey.push(...e.columns)}else if(entity_is(o,ng)){let e,r=getTableUniqueName(o.table),u=n[r];for(let[n,s]of Object.entries(o.config(i(o.table))))if(u){let i=a[u];i.relations[n]=s,e&&i.primaryKey.push(...e)}else r in t||(t[r]={relations:{},primaryKey:e}),t[r].relations[n]=s}return{tables:a,tableNamesMap:n}}function createOne(e){return function(i,n){return new nc(e,i,n,n?.fields.reduce((e,i)=>e&&i.notNull,!0)??!1)}}function createMany(e){return function(i,n){return new nd(e,i,n)}}function normalizeRelation(e,i,n){if(entity_is(n,nc)&&n.config)return{fields:n.config.fields,references:n.config.references};let t=i[getTableUniqueName(n.referencedTable)];if(!t)throw Error(`Table "${n.referencedTable[iE.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let r=n.sourceTable,o=i[getTableUniqueName(r)];if(!o)throw Error(`Table "${r[iE.Symbol.Name]}" not found in schema`);let u=[];for(let e of Object.values(a.relations))(n.relationName&&n!==e&&e.relationName===n.relationName||!n.relationName&&e.referencedTable===n.sourceTable)&&u.push(e);if(u.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${n.sourceTable[iE.Symbol.Name]}". Please specify relation name`);if(u[0]&&entity_is(u[0],nc)&&u[0].config)return{fields:u[0].config.references,references:u[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${n.fieldName}"`)}function createTableRelationsHelpers(e){return{one:createOne(e),many:createMany(e)}}function mapRelationalRow(e,i,n,t,a=e=>e){let r={};for(let[o,u]of t.entries())if(u.isJson){let t=i.relations[u.tsKey],s=n[o],l="string"==typeof s?JSON.parse(s):s;r[u.tsKey]=entity_is(t,nc)?l&&mapRelationalRow(e,e[u.relationTableTsKey],l,u.selection,a):l.map(i=>mapRelationalRow(e,e[u.relationTableTsKey],i,u.selection,a))}else{let e,i=a(n[o]),t=u.field;e=entity_is(t,e1)?t:entity_is(t,iD)?t.decoder:t.sql.decoder,r[u.tsKey]=null===i?null:e.mapFromDriverValue(i)}return r}function mapResultRow(e,i,n){let t={},a=e.reduce((e,{path:a,field:r},o)=>{let u;u=entity_is(r,e1)?r:entity_is(r,iD)?r.decoder:entity_is(r,ic)?r._.sql.decoder:r.sql.decoder;let s=e;for(let[e,l]of a.entries())if(e<a.length-1)l in s||(s[l]={}),s=s[l];else{let e=i[o],h=s[l]=null===e?null:u.mapFromDriverValue(e);if(n&&entity_is(r,e1)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==r.table[e2]&&(t[e]=!1):t[e]=null===h&&r.table[e2]}}return e},{});if(n&&Object.keys(t).length>0)for(let[e,i]of Object.entries(t))"string"!=typeof i||n[i]||(a[e]=null);return a}function orderSelectedFields(e,i){return Object.entries(e).reduce((e,[n,t])=>{if("string"!=typeof n)return e;let a=i?[...i,n]:[n];return entity_is(t,e1)||entity_is(t,iD)||entity_is(t,iD.Aliased)||entity_is(t,ic)?e.push({path:a,field:t}):entity_is(t,iE)?e.push(...orderSelectedFields(t[iE.Symbol.Columns],a)):e.push(...orderSelectedFields(t,a)),e},[])}function haveSameKeys(e,i){let n=Object.keys(e),t=Object.keys(i);if(n.length!==t.length)return!1;for(let[e,i]of n.entries())if(i!==t[e])return!1;return!0}function mapUpdateSet(e,i){let n=Object.entries(i).filter(([,e])=>void 0!==e).map(([i,n])=>entity_is(n,iD)||entity_is(n,e1)?[i,n]:[i,new iP(n,e[iE.Symbol.Columns][i])]);if(0===n.length)throw Error("No values to set");return Object.fromEntries(n)}function applyMixins(e,i){for(let n of i)for(let i of Object.getOwnPropertyNames(n.prototype))"constructor"!==i&&Object.defineProperty(e.prototype,i,Object.getOwnPropertyDescriptor(n.prototype,i)||Object.create(null))}function getTableColumns(e){return e[iE.Symbol.Columns]}function getTableLikeName(e){return entity_is(e,ic)?e._.alias:entity_is(e,ik)?e[im].name:entity_is(e,iD)?void 0:e[iE.Symbol.IsAlias]?e[iE.Symbol.Name]:e[iE.Symbol.BaseName]}function isConfig(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let i=typeof e.logger;return"boolean"===i||"object"===i&&"function"==typeof e.logger.logQuery||"undefined"===i}if("schema"in e){let i=typeof e.schema;return"object"===i||"undefined"===i}if("casing"in e){let i=typeof e.casing;return"string"===i||"undefined"===i}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let i=typeof e.connection;return"string"===i||"object"===i||"undefined"===i}if("client"in e){let i=typeof e.client;return"object"===i||"function"===i||"undefined"===i}return 0===Object.keys(e).length}"u"<typeof TextDecoder||new TextDecoder;class np extends ik{static [eW]="PgViewBase"}class nf{static [eW]="PgDialect";casing;constructor(e){this.casing=new iX(e?.casing)}async migrate(e,i,n){let t="string"==typeof n?"__drizzle_migrations":n.migrationsTable??"__drizzle_migrations",a="string"==typeof n?"drizzle":n.migrationsSchema??"drizzle",r=sql_sql`
3
3
  CREATE TABLE IF NOT EXISTS ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} (
4
4
  id SERIAL PRIMARY KEY,
5
5
  hash text NOT NULL,
6
6
  created_at bigint
7
7
  )
8
- `;await i.execute(sql_sql`CREATE SCHEMA IF NOT EXISTS ${sql_sql.identifier(a)}`),await i.execute(r);let o=(await i.all(sql_sql`select id, hash, created_at from ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} order by created_at desc limit 1`))[0];await i.transaction(async i=>{for await(let n of e)if(!o||Number(o.created_at)<n.folderMillis){for(let e of n.sql)await i.execute(sql_sql.raw(e));await i.execute(sql_sql`insert into ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let i=[sql_sql`with `];for(let[n,t]of e.entries())i.push(sql_sql`${sql_sql.identifier(t._.alias)} as (${t._.sql})`),n<e.length-1&&i.push(sql_sql`, `);return i.push(sql_sql` `),sql_sql.join(i)}buildDeleteQuery({table:e,where:i,returning:n,withList:t}){let a=this.buildWithCTE(t),r=n?sql_sql` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,o=i?sql_sql` where ${i}`:void 0;return sql_sql`${a}delete from ${e}${o}${r}`}buildUpdateSet(e,i){let n=e[ix.Symbol.Columns],t=Object.keys(n).filter(e=>void 0!==i[e]||n[e]?.onUpdateFn!==void 0),a=t.length;return sql_sql.join(t.flatMap((e,t)=>{let r=n[e],o=r.onUpdateFn?.(),u=i[e]??(entity_is(o,i_)?o:sql_sql.param(o,r)),s=sql_sql`${sql_sql.identifier(this.casing.getColumnCasing(r))} = ${u}`;return t<a-1?[s,sql_sql.raw(", ")]:[s]}))}buildUpdateQuery({table:e,set:i,where:n,returning:t,withList:a,from:r,joins:o}){let u=this.buildWithCTE(a),s=e[nr.Symbol.Name],l=e[nr.Symbol.Schema],h=e[nr.Symbol.OriginalName],g=s===h?void 0:s,c=sql_sql`${l?sql_sql`${sql_sql.identifier(l)}.`:void 0}${sql_sql.identifier(h)}${g&&sql_sql` ${sql_sql.identifier(g)}`}`,d=this.buildUpdateSet(e,i),p=r&&sql_sql.join([sql_sql.raw(" from "),this.buildFromTable(r)]),f=this.buildJoins(o),m=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!r})}`:void 0,y=n?sql_sql` where ${n}`:void 0;return sql_sql`${u}update ${c} set ${d}${p}${f}${y}${m}`}buildSelection(e,{isSingleTable:i=!1}={}){let n=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(entity_is(e,i_.Aliased)&&e.isSelectionField)a.push(sql_sql.identifier(e.fieldAlias));else if(entity_is(e,i_.Aliased)||entity_is(e,i_)){let n=entity_is(e,i_.Aliased)?e.sql:e;i?a.push(new i_(n.queryChunks.map(e=>entity_is(e,e7)?sql_sql.identifier(this.casing.getColumnCasing(e)):e))):a.push(n),entity_is(e,i_.Aliased)&&a.push(sql_sql` as ${sql_sql.identifier(e.fieldAlias)}`)}else if(entity_is(e,eV))i?a.push(sql_sql.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(entity_is(e,ih)){let i=Object.entries(e._.selectedFields);if(1===i.length){let n=i[0][1],t=entity_is(n,i_)?n.decoder:entity_is(n,eV)?{mapFromDriverValue:e=>n.mapFromDriverValue(e)}:n.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<n-1&&a.push(sql_sql`, `),a});return sql_sql.join(t)}buildJoins(e){if(!e||0===e.length)return;let i=[];for(let[n,t]of e.entries()){0===n&&i.push(sql_sql` `);let a=t.table,r=t.lateral?sql_sql` lateral`:void 0,o=t.on?sql_sql` on ${t.on}`:void 0;if(entity_is(a,nr)){let e=a[nr.Symbol.Name],n=a[nr.Symbol.Schema],u=a[nr.Symbol.OriginalName],s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else if(entity_is(a,iM)){let e=a[id].name,n=a[id].schema,u=a[id].originalName,s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${a}${o}`);n<e.length-1&&i.push(sql_sql` `)}return sql_sql.join(i)}buildFromTable(e){if(entity_is(e,ix)&&e[ix.Symbol.IsAlias]){let i=sql_sql`${sql_sql.identifier(e[ix.Symbol.OriginalName])}`;return e[ix.Symbol.Schema]&&(i=sql_sql`${sql_sql.identifier(e[ix.Symbol.Schema])}.${i}`),sql_sql`${i} ${sql_sql.identifier(e[ix.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:n,where:t,having:a,table:r,joins:o,orderBy:u,groupBy:s,limit:l,offset:h,lockingClause:g,distinct:c,setOperators:d}){let p,f,m,y=n??orderSelectedFields(i);for(let e of y){let i;if(entity_is(e.field,eV)&&e.field.table[e1]!==(entity_is(r,ih)?r._.alias:entity_is(r,nc)?r[id].name:entity_is(r,i_)?void 0:r[e1])&&(i=e.field.table,!o?.some(({alias:e})=>e===(i[ix.Symbol.IsAlias]?i[e1]:i[ix.Symbol.BaseName])))){let i=e.field.table[e1];throw Error(`Your "${e.path.join("->")}" field references a column "${i}"."${e.field.name}", but the table "${i}" is not part of the query! Did you forget to join it?`)}}let S=!o||0===o.length,b=this.buildWithCTE(e);c&&(p=!0===c?sql_sql` distinct`:sql_sql` distinct on (${sql_sql.join(c.on,sql_sql`, `)})`);let C=this.buildSelection(y,{isSingleTable:S}),w=this.buildFromTable(r),T=this.buildJoins(o),x=t?sql_sql` where ${t}`:void 0,L=a?sql_sql` having ${a}`:void 0;u&&u.length>0&&(f=sql_sql` order by ${sql_sql.join(u,sql_sql`, `)}`),s&&s.length>0&&(m=sql_sql` group by ${sql_sql.join(s,sql_sql`, `)}`);let E="object"==typeof l||"number"==typeof l&&l>=0?sql_sql` limit ${l}`:void 0,_=h?sql_sql` offset ${h}`:void 0,Y=sql_sql.empty();if(g){let e=sql_sql` for ${sql_sql.raw(g.strength)}`;g.config.of&&e.append(sql_sql` of ${sql_sql.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],sql_sql`, `)}`),g.config.noWait?e.append(sql_sql` nowait`):g.config.skipLocked&&e.append(sql_sql` skip locked`),Y.append(e)}let D=sql_sql`${b}select${p} ${C} from ${w}${T}${x}${m}${L}${f}${E}${_}${Y}`;return d.length>0?this.buildSetOperations(D,d):D}buildSetOperations(e,i){let[n,...t]=i;if(!n)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:n,rightSelect:t,limit:a,orderBy:r,offset:o}}){let u,s=sql_sql`(${e.getSQL()}) `,l=sql_sql`(${t.getSQL()})`;if(r&&r.length>0){let e=[];for(let i of r)if(entity_is(i,e7))e.push(sql_sql.identifier(i.name));else if(entity_is(i,i_)){for(let e=0;e<i.queryChunks.length;e++){let n=i.queryChunks[e];entity_is(n,e7)&&(i.queryChunks[e]=sql_sql.identifier(n.name))}e.push(sql_sql`${i}`)}else e.push(sql_sql`${i}`);u=sql_sql` order by ${sql_sql.join(e,sql_sql`, `)} `}let h="object"==typeof a||"number"==typeof a&&a>=0?sql_sql` limit ${a}`:void 0,g=sql_sql.raw(`${i} ${n?"all ":""}`),c=o?sql_sql` offset ${o}`:void 0;return sql_sql`${s}${g}${l}${u}${h}${c}`}buildInsertQuery({table:e,values:i,onConflict:n,returning:t,withList:a,select:r,overridingSystemValue_:o}){let u=[],s=Object.entries(e[ix.Symbol.Columns]).filter(([e,i])=>!i.shouldDisableInsert()),l=s.map(([,e])=>sql_sql.identifier(this.casing.getColumnCasing(e)));if(r)entity_is(i,i_)?u.push(i):u.push(i.getSQL());else for(let[e,n]of(u.push(sql_sql.raw("values ")),i.entries())){let t=[];for(let[e,i]of s){let a=n[e];if(void 0===a||entity_is(a,iA)&&void 0===a.value)if(void 0!==i.defaultFn){let e=i.defaultFn(),n=entity_is(e,i_)?e:sql_sql.param(e,i);t.push(n)}else if(i.default||void 0===i.onUpdateFn)t.push(sql_sql`default`);else{let e=i.onUpdateFn(),n=entity_is(e,i_)?e:sql_sql.param(e,i);t.push(n)}else t.push(a)}u.push(t),e<i.length-1&&u.push(sql_sql`, `)}let h=this.buildWithCTE(a),g=sql_sql.join(u),c=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,d=n?sql_sql` on conflict ${n}`:void 0,p=!0===o?sql_sql`overriding system value `:void 0;return sql_sql`${h}insert into ${e} ${l} ${p}${g}${d}${c}`}buildRefreshMaterializedViewQuery({view:e,concurrently:i,withNoData:n}){let t=i?sql_sql` concurrently`:void 0,a=n?sql_sql` with no data`:void 0;return sql_sql`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(entity_is(e,iQ)||entity_is(e,iG))return"json";if(entity_is(e,i$))return"decimal";if(entity_is(e,i1))return"time";if(entity_is(e,i2)||entity_is(e,i8))return"timestamp";if(entity_is(e,i5)||entity_is(e,i9))return"date";else if(entity_is(e,nn))return"uuid";else return"none"}sqlToQuery(e,i){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:t,tableConfig:a,queryConfig:r,tableAlias:o,nestedQueryRelation:u,joinOn:s}){let l,h=[],g,c,d=[],p,f=[];if(!0===r)h=Object.entries(a.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:aliasedTableColumn(i,o),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,i])=>[e,aliasedTableColumn(i,o)]));if(r.where){let e="function"==typeof r.where?r.where(t,getOperators()):r.where;p=e&&mapColumnsInSQLToAlias(e,o)}let u=[],s=[];if(r.columns){let e=!1;for(let[i,n]of Object.entries(r.columns))void 0!==n&&i in a.columns&&(e||!0!==n||(e=!0),s.push(i));s.length>0&&(s=e?s.filter(e=>r.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!s.includes(e)))}else s=Object.keys(a.columns);for(let e of s){let i=a.columns[e];u.push({tsKey:e,value:i})}let l=[];if(r.with&&(l=Object.entries(r.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:a.relations[e]}))),r.extras)for(let[e,i]of Object.entries("function"==typeof r.extras?r.extras(t,{sql:sql_sql}):r.extras))u.push({tsKey:e,value:mapColumnsInAliasedSQLToAlias(i,o)});for(let{tsKey:e,value:i}of u)h.push({dbKey:entity_is(i,i_.Aliased)?i.fieldAlias:a.columns[e].name,tsKey:e,field:entity_is(i,eV)?aliasedTableColumn(i,o):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let m="function"==typeof r.orderBy?r.orderBy(t,getOrderByOperators()):r.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:u}of(Array.isArray(m)||(m=[m]),d=m.map(e=>entity_is(e,eV)?aliasedTableColumn(e,o):mapColumnsInSQLToAlias(e,o)),g=r.limit,c=r.offset,l)){let r=normalizeRelation(i,n,u),s=n[getTableUniqueName(u.referencedTable)],l=`${o}_${t}`,g=and(...r.fields.map((e,i)=>eq(aliasedTableColumn(r.references[i],l),aliasedTableColumn(e,o)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:e[s],tableConfig:i[s],queryConfig:entity_is(u,nh)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:l,joinOn:g,nestedQueryRelation:u}),d=sql_sql`${sql_sql.identifier(l)}.${sql_sql.identifier("data")}`.as(t);f.push({on:sql_sql`true`,table:new ih(c.sql,{},l),alias:l,joinType:"left",lateral:!0}),h.push({dbKey:t,tsKey:t,field:d,relationTableTsKey:s,isJson:!0,selection:c.selection})}}if(0===h.length)throw new iF({message:`No fields selected for table "${a.tsName}" ("${o}")`});if(p=and(s,p),u){let e=sql_sql`json_build_array(${sql_sql.join(h.map(({field:e,tsKey:i,isJson:n})=>n?sql_sql`${sql_sql.identifier(`${o}_${i}`)}.${sql_sql.identifier("data")}`:entity_is(e,i_.Aliased)?e.sql:e),sql_sql`, `)})`;entity_is(u,ng)&&(e=sql_sql`coalesce(json_agg(${e}${d.length>0?sql_sql` order by ${sql_sql.join(d,sql_sql`, `)}`:void 0}), '[]'::json)`);let i=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:a.tsName,selection:h}];void 0!==g||void 0!==c||d.length>0?(l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:[{path:[],field:sql_sql.raw("*")}],where:p,limit:g,offset:c,orderBy:d,setOperators:[]}),p=void 0,g=void 0,c=void 0,d=[]):l=aliasedTable(t,o),l=this.buildSelectQuery({table:entity_is(l,nr)?l:new ih(l,{},o),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:entity_is(e,eV)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]})}else l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:h.map(({field:e})=>({path:[],field:entity_is(e,eV)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class np{static [eK]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===id)return{...e[id],selectedFields:new Proxy(e[id].selectedFields,this)};if("symbol"==typeof i)return e[i];let n=(entity_is(e,ih)?e._.selectedFields:entity_is(e,iM)?e[id].selectedFields:e)[i];if(entity_is(n,i_.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!n.isSelectionField)return n.sql;let e=n.clone();return e.isSelectionField=!0,e}if(entity_is(n,i_)){if("sql"===this.config.sqlBehavior)return n;throw Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return entity_is(n,eV)?this.config.alias?new Proxy(n,new iJ(new Proxy(n.table,new ik(this.config.alias,this.config.replaceOriginalName??!1)))):n:"object"!=typeof n||null===n?n:new Proxy(n,new np(this.config))}}class nf{static [eK]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class nm{static [eK]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}then(e,i){return this.execute().then(e,i)}}function extractUsedTable(e){return entity_is(e,nr)?[e[ip]?`${e[ip]}.${e[ix.Symbol.BaseName]}`:e[ix.Symbol.BaseName]]:entity_is(e,ih)?e._.usedTables??[]:entity_is(e,i_)?e.usedTables??[]:[]}class ny{static [eK]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let i,n=!!this.fields;return i=this.fields?this.fields:entity_is(e,ih)?Object.fromEntries(Object.keys(e._.selectedFields).map(i=>[i,e[i]])):entity_is(e,nc)?e[id].selectedFields:entity_is(e,i_)?{}:getTableColumns(e),new nb({table:e,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class nS extends nf{static [eK]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:n,session:t,dialect:a,withList:r,distinct:o}){for(let u of(super(),this.config={withList:r,table:e,fields:{...i},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=t,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},extractUsedTable(e)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(n,t)=>{let a=this.tableName,r=getTableLikeName(n);for(let e of extractUsedTable(n))this.usedTables.add(e);if("string"==typeof r&&this.config.joins?.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof a&&(this.config.fields={[a]:this.config.fields}),"string"==typeof r&&!entity_is(n,i_))){let e=entity_is(n,ih)?n._.selectedFields:entity_is(n,iM)?n[id].selectedFields:n[ix.Symbol.Columns];this.config.fields[r]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:n,joinType:e,alias:r,lateral:i}),"string"==typeof r)switch(e){case"left":this.joinsNotNullableMap[r]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[r]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,i){return n=>{let t="function"==typeof n?n(getPgSetOperators()):n;if(!haveSameKeys(this.getSelectedFields(),t.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:i,rightSelect:t}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new np({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new np({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,i={}){return this.config.lockingClause={strength:e,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(e){let i=[];if(i.push(...extractUsedTable(this.config.table)),this.config.joins)for(let e of this.config.joins)i.push(...extractUsedTable(e.table));return new Proxy(new ih(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new np({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new np({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class nb extends nS{static [eK]="PgSelect";_prepare(e){let{session:i,config:n,dialect:t,joinsNotNullableMap:a,authToken:r,cacheConfig:o,usedTables:u}=this;if(!i)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:s}=n;return ic("drizzle.prepareQuery",()=>{let n=orderSelectedFields(s),l=i.prepareQuery(t.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:"select",tables:[...u]},o);return l.joinsNotNullableMap=a,l.setToken(r)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}function createSetOperator(e,i){return(n,t,...a)=>{let r=[t,...a].map(n=>({type:e,isAll:i,rightSelect:n}));for(let e of r)if(!haveSameKeys(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(r)}}applyMixins(nb,[nm]);let getPgSetOperators=()=>({union:nC,unionAll:nw,intersect:nT,intersectAll:nx,except:nL,exceptAll:nE}),nC=createSetOperator("union",!1),nw=createSetOperator("union",!0),nT=createSetOperator("intersect",!1),nx=createSetOperator("intersect",!0),nL=createSetOperator("except",!1),nE=createSetOperator("except",!0);class n_{static [eK]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=entity_is(e,nd)?e:void 0,this.dialectConfig=entity_is(e,nd)?void 0:e}$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(n)),new Proxy(new ig(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new np({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let i=this;return{select:function(n){return new ny({fields:n??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new ny({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,n){return new ny({fields:n??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new ny({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new ny({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new ny({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new nd(this.dialectConfig)),this.dialect}}class nY{constructor(e,i,n,t){this.table=e,this.session=i,this.dialect=n,this.withList=t}static [eK]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new nD(this.table,mapUpdateSet(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class nD extends nm{constructor(e,i,n,t,a){super(),this.session=n,this.dialect=t,this.config={set:i,table:e,withList:a,joins:[]},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [eK]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let i=getTableLikeName(e);return"string"==typeof i&&(this.joinsNotNullableMap[i]=!0),this.config.from=e,this}getTableLikeFields(e){return entity_is(e,nr)?e[ix.Symbol.Columns]:entity_is(e,ih)?e._.selectedFields:e[id].selectedFields}createJoin(e){return(i,n)=>{let t=getTableLikeName(i);if("string"==typeof t&&this.config.joins.some(e=>e.alias===t))throw Error(`Alias "${t}" is already used in this query`);if("function"==typeof n){let e=this.config.from&&!entity_is(this.config.from,i_)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[ix.Symbol.Columns],new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new np({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:n,table:i,joinType:e,alias:t}),"string"==typeof t)switch(e){case"left":this.joinsNotNullableMap[t]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!0;break;case"inner":this.joinsNotNullableMap[t]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[ix.Symbol.Columns]),this.config.from)){let i=getTableLikeName(this.config.from);if("string"==typeof i&&this.config.from&&!entity_is(this.config.from,i_)){let n=this.getTableLikeFields(this.config.from);e[i]=n}for(let i of this.config.joins){let n=getTableLikeName(i.table);if("string"==typeof n&&!entity_is(i.table,i_)){let t=this.getTableLikeFields(i.table);e[n]=t}}}return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){let i=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig);return i.joinsNotNullableMap=this.joinsNotNullableMap,i}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new np({alias:this.config.table[e1],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nv{constructor(e,i,n,t,a){this.table=e,this.session=i,this.dialect=n,this.withList=t,this.overridingSystemValue_=a}static [eK]="PgInsertBuilder";authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let i=e.map(e=>{let i={},n=this.table[ix.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];i[t]=entity_is(a,i_)?a:new iA(a,n[t])}return i});return new nA(this.table,i,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let i="function"==typeof e?e(new n_):e;if(!entity_is(i,i_)&&!haveSameKeys(this.table[im],i._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new nA(this.table,i,this.session,this.dialect,this.withList,!0)}}class nA extends nm{constructor(e,i,n,t,a,r,o){super(),this.session=n,this.dialect=t,this.config={table:e,values:i,withList:a,select:r,overridingSystemValue_:o}}static [eK]="PgInsert";config;cacheConfig;returning(e=this.config.table[ix.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=sql_sql`do nothing`;else{let i="";i=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?sql_sql` where ${e.where}`:void 0;this.config.onConflict=sql_sql`(${sql_sql.raw(i)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let i=e.where?sql_sql` where ${e.where}`:void 0,n=e.targetWhere?sql_sql` where ${e.targetWhere}`:void 0,t=e.setWhere?sql_sql` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,mapUpdateSet(this.config.table,e.set)),r="";return r=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=sql_sql`(${sql_sql.raw(r)})${n} do update set ${a}${i}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ic("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new np({alias:this.config.table[e1],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nN extends nm{constructor(e,i,n,t){super(),this.session=i,this.dialect=n,this.config={table:e,withList:t}}static [eK]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[ix.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ic("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new np({alias:this.config.table[e1],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nP extends i_{constructor(e){super(nP.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=nP.buildCount(e.source,e.filters)}sql;token;static [eK]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,i){return sql_sql`(select count(*) from ${e}${sql_sql.raw(" where ").if(i)}${i})`}static buildCount(e,i){return sql_sql`select count(*) as count from ${e}${sql_sql.raw(" where ").if(i)}${i};`}setToken(e){return this.token=e,this}then(e,i){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,i)}catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}}class nZ{constructor(e,i,n,t,a,r,o){this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o}static [eK]="PgRelationalQueryBuilder";findMany(e){return new nR(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new nR(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class nR extends nm{constructor(e,i,n,t,a,r,o,u,s){super(),this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o,this.config=u,this.mode=s}static [eK]="PgRelationalQuery";_prepare(e){return ic("drizzle.prepareQuery",()=>{let{query:i,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let t=e.map(e=>mapRelationalRow(this.schema,this.tableConfig,e,i.selection,n));return"first"===this.mode?t[0]:t})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery(),i=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return ic("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class nM extends nm{constructor(e,i,n,t){super(),this.execute=e,this.sql=i,this.query=n,this.mapBatchResult=t}static [eK]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,i){return i?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class nJ extends nm{constructor(e,i,n){super(),this.session=i,this.dialect=n,this.config={view:e}}static [eK]="PgRefreshMaterializedView";config;concurrently(){if(void 0!==this.config.withNoData)throw Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(void 0!==this.config.concurrently)throw Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ic("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ic("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class nk{constructor(e,i,n){if(this.dialect=e,this.session=i,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[t,a]of Object.entries(this._.schema))this.query[t]=new nZ(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[t],a,e,i);this.$cache={invalidate:async e=>{}}}static [eK]="PgDatabase";query;$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(new n_(n.dialect))),new Proxy(new ig(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new np({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,i){return new nP({source:e,filters:i,session:this.session})}$cache;with(...e){let i=this;return{select:function(n){return new ny({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e})},selectDistinct:function(n){return new ny({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:!0})},selectDistinctOn:function(n,t){return new ny({fields:t??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:{on:n}})},update:function(n){return new nY(n,i.session,i.dialect,e)},insert:function(n){return new nv(n,i.session,i.dialect,e)},delete:function(n){return new nN(n,i.session,i.dialect,e)}}}select(e){return new ny({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new ny({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,i){return new ny({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new nY(e,this.session,this.dialect)}insert(e){return new nv(e,this.session,this.dialect)}delete(e){return new nN(e,this.session,this.dialect)}refreshMaterializedView(e){return new nJ(e,this.session,this.dialect)}authToken;execute(e){let i="string"==typeof e?sql_sql.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(i),t=this.session.prepareQuery(n,void 0,void 0,!1);return new nM(()=>t.execute(void 0,this.authToken),i,n,e=>t.mapResult(e,!0))}transaction(e,i){return this.session.transaction(e,i)}}class nB{static [eK]="Cache"}class nH extends nB{strategy(){return"all"}static [eK]="NoopCache";async get(e){}async put(e,i,n,t){}async onMutate(e){}}async function hashQuery(e,i){let n=`${e}-${JSON.stringify(i)}`,t=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class nF{constructor(e,i,n,t){this.query=e,this.cache=i,this.queryMetadata=n,this.cacheConfig=t,i&&"all"===i.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,i){return e}setToken(e){return this.authToken=e,this}static [eK]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,i,n){if(void 0===this.cache||entity_is(this.cache,nH)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new iX(e,i,n)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new iX(e,i,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new iX(e,i,n)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await hashQuery(e,i),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await n()}catch(n){throw new iX(e,i,n)}return await this.cache.put(this.cacheConfig.tag??await hashQuery(e,i),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await n()}catch(n){throw new iX(e,i,n)}}}class nX{constructor(e){this.dialect=e}static [eK]="PgSession";execute(e,i){return ic("drizzle.operation",()=>ic("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(i).execute(void 0,i))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,i){return Number((await this.execute(e,i))[0].count)}}class nI extends nk{constructor(e,i,n,t=0){super(e,i,n),this.schema=n,this.nestedIndex=t}static [eK]="PgTransaction";rollback(){throw new iI}getTransactionConfigSQL(e){let i=[];return e.isolationLevel&&i.push(`isolation level ${e.isolationLevel}`),e.accessMode&&i.push(e.accessMode),"boolean"==typeof e.deferrable&&i.push(e.deferrable?"deferrable":"not deferrable"),sql_sql.raw(i.join(" "))}setTransaction(e){return this.session.execute(sql_sql`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:nO,types:nQ}=Z;class nU extends nF{constructor(e,i,n,t,a,r,o,u,s,l,h){super({sql:i,params:n},a,r,o),this.client=e,this.queryString=i,this.params=n,this.logger=t,this.fields=u,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:s,text:i,types:{getTypeParser:(e,i)=>e===nQ.builtins.TIMESTAMPTZ||e===nQ.builtins.TIMESTAMP||e===nQ.builtins.DATE||e===nQ.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nQ.getTypeParser(e,i)}},this.queryConfig={name:s,text:i,rowMode:"array",types:{getTypeParser:(e,i)=>e===nQ.builtins.TIMESTAMPTZ||e===nQ.builtins.TIMESTAMP||e===nQ.builtins.DATE||e===nQ.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nQ.getTypeParser(e,i)}}}static [eK]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return ic("drizzle.execute",async()=>{let i=fillPlaceholders(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,i);let{fields:n,rawQueryConfig:t,client:a,queryConfig:r,joinsNotNullableMap:o,customResultMapper:u}=this;if(!n&&!u)return ic("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(t.text,i,async()=>await a.query(t,i))));let s=await ic("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":r.name,"drizzle.query.text":r.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(r.text,i,async()=>await a.query(r,i))));return ic("drizzle.mapResponse",()=>u?u(s.rows):s.rows.map(e=>mapResultRow(n,e,o)))})}all(e={}){return ic("drizzle.execute",()=>{let i=fillPlaceholders(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,i),ic("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(this.rawQueryConfig.text,i,async()=>this.client.query(this.rawQueryConfig,i)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class nG extends nX{constructor(e,i,n,t={}){super(i),this.client=e,this.schema=n,this.options=t,this.logger=t.logger??new ej,this.cache=t.cache??new nH}static [eK]="NodePgSession";logger;cache;prepareQuery(e,i,n,t,a,r,o){return new nU(this.client,e.sql,e.params,this.logger,this.cache,r,o,i,n,t,a)}async transaction(e,i){let n=this.client instanceof nO||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=n?new nG(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new nq(this.dialect,t,this.schema);await a.execute(sql_sql`begin${i?sql_sql` ${a.getTransactionConfigSQL(i)}`:void 0}`);try{let i=await e(a);return await a.execute(sql_sql`commit`),i}catch(e){throw await a.execute(sql_sql`rollback`),e}finally{n&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class nq extends nI{static [eK]="NodePgTransaction";async transaction(e){let i=`sp${this.nestedIndex+1}`,n=new nq(this.dialect,this.session,this.schema,this.nestedIndex+1);await n.execute(sql_sql.raw(`savepoint ${i}`));try{let t=await e(n);return await n.execute(sql_sql.raw(`release savepoint ${i}`)),t}catch(e){throw await n.execute(sql_sql.raw(`rollback to savepoint ${i}`)),e}}}class n${constructor(e,i,n={}){this.client=e,this.dialect=i,this.options=n}static [eK]="NodePgDriver";createSession(e){return new nG(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class nK extends nk{static [eK]="NodePgDatabase"}function construct(e,i={}){let n,t,a=new nd({casing:i.casing});if(!0===i.logger?n=new eW:!1!==i.logger&&(n=i.logger),i.schema){let e=extractTablesRelationalConfig(i.schema,createTableRelationsHelpers);t={fullSchema:i.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let r=new n$(e,a,{logger:n,cache:i.cache}).createSession(t),o=new nK(a,r,t);return o.$client=e,o.$cache=i.cache,o.$cache&&(o.$cache.invalidate=i.cache?.onMutate),o}function drizzle(...e){if("string"==typeof e[0])return construct(new Z.Pool({connectionString:e[0]}),e[1]);if(isConfig(e[0])){let{connection:i,client:n,...t}=e[0];return n?construct(n,t):construct(new Z.Pool("string"==typeof i?{connectionString:i}:i),t)}return construct(e[0],e[1])}(drizzle||(drizzle={})).mock=function(e){return construct({},e)};class nz{static MAX_CONNECTIONS=100;static IDLE_TIMEOUT_MILLIS=3e4;static CONNECTION_TIMEOUT_MILLIS=3e4;static MAX_RETRY_TIME=2e4;static DEFAULT_SCHEMA_PATH="src/storage/database/shared/schema.ts"}let nW=!1;function loadEnv(){if(!nW&&!process.env.PGDATABASE_URL)try{try{if(E("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){nW=!0;return}}catch{}let e=`
8
+ `;await i.execute(sql_sql`CREATE SCHEMA IF NOT EXISTS ${sql_sql.identifier(a)}`),await i.execute(r);let o=(await i.all(sql_sql`select id, hash, created_at from ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} order by created_at desc limit 1`))[0];await i.transaction(async i=>{for await(let n of e)if(!o||Number(o.created_at)<n.folderMillis){for(let e of n.sql)await i.execute(sql_sql.raw(e));await i.execute(sql_sql`insert into ${sql_sql.identifier(a)}.${sql_sql.identifier(t)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let i=[sql_sql`with `];for(let[n,t]of e.entries())i.push(sql_sql`${sql_sql.identifier(t._.alias)} as (${t._.sql})`),n<e.length-1&&i.push(sql_sql`, `);return i.push(sql_sql` `),sql_sql.join(i)}buildDeleteQuery({table:e,where:i,returning:n,withList:t}){let a=this.buildWithCTE(t),r=n?sql_sql` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,o=i?sql_sql` where ${i}`:void 0;return sql_sql`${a}delete from ${e}${o}${r}`}buildUpdateSet(e,i){let n=e[iE.Symbol.Columns],t=Object.keys(n).filter(e=>void 0!==i[e]||n[e]?.onUpdateFn!==void 0),a=t.length;return sql_sql.join(t.flatMap((e,t)=>{let r=n[e],o=r.onUpdateFn?.(),u=i[e]??(entity_is(o,iD)?o:sql_sql.param(o,r)),s=sql_sql`${sql_sql.identifier(this.casing.getColumnCasing(r))} = ${u}`;return t<a-1?[s,sql_sql.raw(", ")]:[s]}))}buildUpdateQuery({table:e,set:i,where:n,returning:t,withList:a,from:r,joins:o}){let u=this.buildWithCTE(a),s=e[nu.Symbol.Name],l=e[nu.Symbol.Schema],h=e[nu.Symbol.OriginalName],g=s===h?void 0:s,c=sql_sql`${l?sql_sql`${sql_sql.identifier(l)}.`:void 0}${sql_sql.identifier(h)}${g&&sql_sql` ${sql_sql.identifier(g)}`}`,d=this.buildUpdateSet(e,i),p=r&&sql_sql.join([sql_sql.raw(" from "),this.buildFromTable(r)]),f=this.buildJoins(o),m=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!r})}`:void 0,y=n?sql_sql` where ${n}`:void 0;return sql_sql`${u}update ${c} set ${d}${p}${f}${y}${m}`}buildSelection(e,{isSingleTable:i=!1}={}){let n=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(entity_is(e,iD.Aliased)&&e.isSelectionField)a.push(sql_sql.identifier(e.fieldAlias));else if(entity_is(e,iD.Aliased)||entity_is(e,iD)){let n=entity_is(e,iD.Aliased)?e.sql:e;i?a.push(new iD(n.queryChunks.map(e=>entity_is(e,ie)?sql_sql.identifier(this.casing.getColumnCasing(e)):e))):a.push(n),entity_is(e,iD.Aliased)&&a.push(sql_sql` as ${sql_sql.identifier(e.fieldAlias)}`)}else if(entity_is(e,e1))i?a.push(sql_sql.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(entity_is(e,ic)){let i=Object.entries(e._.selectedFields);if(1===i.length){let n=i[0][1],t=entity_is(n,iD)?n.decoder:entity_is(n,e1)?{mapFromDriverValue:e=>n.mapFromDriverValue(e)}:n.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<n-1&&a.push(sql_sql`, `),a});return sql_sql.join(t)}buildJoins(e){if(!e||0===e.length)return;let i=[];for(let[n,t]of e.entries()){0===n&&i.push(sql_sql` `);let a=t.table,r=t.lateral?sql_sql` lateral`:void 0,o=t.on?sql_sql` on ${t.on}`:void 0;if(entity_is(a,nu)){let e=a[nu.Symbol.Name],n=a[nu.Symbol.Schema],u=a[nu.Symbol.OriginalName],s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else if(entity_is(a,ik)){let e=a[im].name,n=a[im].schema,u=a[im].originalName,s=e===u?void 0:t.alias;i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${n?sql_sql`${sql_sql.identifier(n)}.`:void 0}${sql_sql.identifier(u)}${s&&sql_sql` ${sql_sql.identifier(s)}`}${o}`)}else i.push(sql_sql`${sql_sql.raw(t.joinType)} join${r} ${a}${o}`);n<e.length-1&&i.push(sql_sql` `)}return sql_sql.join(i)}buildFromTable(e){if(entity_is(e,iE)&&e[iE.Symbol.IsAlias]){let i=sql_sql`${sql_sql.identifier(e[iE.Symbol.OriginalName])}`;return e[iE.Symbol.Schema]&&(i=sql_sql`${sql_sql.identifier(e[iE.Symbol.Schema])}.${i}`),sql_sql`${i} ${sql_sql.identifier(e[iE.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:i,fieldsFlat:n,where:t,having:a,table:r,joins:o,orderBy:u,groupBy:s,limit:l,offset:h,lockingClause:g,distinct:c,setOperators:d}){let p,f,m,y=n??orderSelectedFields(i);for(let e of y){let i;if(entity_is(e.field,e1)&&e.field.table[e2]!==(entity_is(r,ic)?r._.alias:entity_is(r,np)?r[im].name:entity_is(r,iD)?void 0:r[e2])&&(i=e.field.table,!o?.some(({alias:e})=>e===(i[iE.Symbol.IsAlias]?i[e2]:i[iE.Symbol.BaseName])))){let i=e.field.table[e2];throw Error(`Your "${e.path.join("->")}" field references a column "${i}"."${e.field.name}", but the table "${i}" is not part of the query! Did you forget to join it?`)}}let S=!o||0===o.length,b=this.buildWithCTE(e);c&&(p=!0===c?sql_sql` distinct`:sql_sql` distinct on (${sql_sql.join(c.on,sql_sql`, `)})`);let C=this.buildSelection(y,{isSingleTable:S}),w=this.buildFromTable(r),T=this.buildJoins(o),x=t?sql_sql` where ${t}`:void 0,L=a?sql_sql` having ${a}`:void 0;u&&u.length>0&&(f=sql_sql` order by ${sql_sql.join(u,sql_sql`, `)}`),s&&s.length>0&&(m=sql_sql` group by ${sql_sql.join(s,sql_sql`, `)}`);let E="object"==typeof l||"number"==typeof l&&l>=0?sql_sql` limit ${l}`:void 0,_=h?sql_sql` offset ${h}`:void 0,Y=sql_sql.empty();if(g){let e=sql_sql` for ${sql_sql.raw(g.strength)}`;g.config.of&&e.append(sql_sql` of ${sql_sql.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],sql_sql`, `)}`),g.config.noWait?e.append(sql_sql` nowait`):g.config.skipLocked&&e.append(sql_sql` skip locked`),Y.append(e)}let D=sql_sql`${b}select${p} ${C} from ${w}${T}${x}${m}${L}${f}${E}${_}${Y}`;return d.length>0?this.buildSetOperations(D,d):D}buildSetOperations(e,i){let[n,...t]=i;if(!n)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:i,isAll:n,rightSelect:t,limit:a,orderBy:r,offset:o}}){let u,s=sql_sql`(${e.getSQL()}) `,l=sql_sql`(${t.getSQL()})`;if(r&&r.length>0){let e=[];for(let i of r)if(entity_is(i,ie))e.push(sql_sql.identifier(i.name));else if(entity_is(i,iD)){for(let e=0;e<i.queryChunks.length;e++){let n=i.queryChunks[e];entity_is(n,ie)&&(i.queryChunks[e]=sql_sql.identifier(n.name))}e.push(sql_sql`${i}`)}else e.push(sql_sql`${i}`);u=sql_sql` order by ${sql_sql.join(e,sql_sql`, `)} `}let h="object"==typeof a||"number"==typeof a&&a>=0?sql_sql` limit ${a}`:void 0,g=sql_sql.raw(`${i} ${n?"all ":""}`),c=o?sql_sql` offset ${o}`:void 0;return sql_sql`${s}${g}${l}${u}${h}${c}`}buildInsertQuery({table:e,values:i,onConflict:n,returning:t,withList:a,select:r,overridingSystemValue_:o}){let u=[],s=Object.entries(e[iE.Symbol.Columns]).filter(([e,i])=>!i.shouldDisableInsert()),l=s.map(([,e])=>sql_sql.identifier(this.casing.getColumnCasing(e)));if(r)entity_is(i,iD)?u.push(i):u.push(i.getSQL());else for(let[e,n]of(u.push(sql_sql.raw("values ")),i.entries())){let t=[];for(let[e,i]of s){let a=n[e];if(void 0===a||entity_is(a,iP)&&void 0===a.value)if(void 0!==i.defaultFn){let e=i.defaultFn(),n=entity_is(e,iD)?e:sql_sql.param(e,i);t.push(n)}else if(i.default||void 0===i.onUpdateFn)t.push(sql_sql`default`);else{let e=i.onUpdateFn(),n=entity_is(e,iD)?e:sql_sql.param(e,i);t.push(n)}else t.push(a)}u.push(t),e<i.length-1&&u.push(sql_sql`, `)}let h=this.buildWithCTE(a),g=sql_sql.join(u),c=t?sql_sql` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,d=n?sql_sql` on conflict ${n}`:void 0,p=!0===o?sql_sql`overriding system value `:void 0;return sql_sql`${h}insert into ${e} ${l} ${p}${g}${d}${c}`}buildRefreshMaterializedViewQuery({view:e,concurrently:i,withNoData:n}){let t=i?sql_sql` concurrently`:void 0,a=n?sql_sql` with no data`:void 0;return sql_sql`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(entity_is(e,iG)||entity_is(e,i$))return"json";if(entity_is(e,iz))return"decimal";if(entity_is(e,i2))return"time";if(entity_is(e,i8)||entity_is(e,i5))return"timestamp";if(entity_is(e,i9)||entity_is(e,nn))return"date";else if(entity_is(e,na))return"uuid";else return"none"}sqlToQuery(e,i){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:t,tableConfig:a,queryConfig:r,tableAlias:o,nestedQueryRelation:u,joinOn:s}){let l,h=[],g,c,d=[],p,f=[];if(!0===r)h=Object.entries(a.columns).map(([e,i])=>({dbKey:i.name,tsKey:e,field:aliasedTableColumn(i,o),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,i])=>[e,aliasedTableColumn(i,o)]));if(r.where){let e="function"==typeof r.where?r.where(t,getOperators()):r.where;p=e&&mapColumnsInSQLToAlias(e,o)}let u=[],s=[];if(r.columns){let e=!1;for(let[i,n]of Object.entries(r.columns))void 0!==n&&i in a.columns&&(e||!0!==n||(e=!0),s.push(i));s.length>0&&(s=e?s.filter(e=>r.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!s.includes(e)))}else s=Object.keys(a.columns);for(let e of s){let i=a.columns[e];u.push({tsKey:e,value:i})}let l=[];if(r.with&&(l=Object.entries(r.with).filter(e=>!!e[1]).map(([e,i])=>({tsKey:e,queryConfig:i,relation:a.relations[e]}))),r.extras)for(let[e,i]of Object.entries("function"==typeof r.extras?r.extras(t,{sql:sql_sql}):r.extras))u.push({tsKey:e,value:mapColumnsInAliasedSQLToAlias(i,o)});for(let{tsKey:e,value:i}of u)h.push({dbKey:entity_is(i,iD.Aliased)?i.fieldAlias:a.columns[e].name,tsKey:e,field:entity_is(i,e1)?aliasedTableColumn(i,o):i,relationTableTsKey:void 0,isJson:!1,selection:[]});let m="function"==typeof r.orderBy?r.orderBy(t,getOrderByOperators()):r.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:u}of(Array.isArray(m)||(m=[m]),d=m.map(e=>entity_is(e,e1)?aliasedTableColumn(e,o):mapColumnsInSQLToAlias(e,o)),g=r.limit,c=r.offset,l)){let r=normalizeRelation(i,n,u),s=n[getTableUniqueName(u.referencedTable)],l=`${o}_${t}`,g=and(...r.fields.map((e,i)=>eq(aliasedTableColumn(r.references[i],l),aliasedTableColumn(e,o)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:i,tableNamesMap:n,table:e[s],tableConfig:i[s],queryConfig:entity_is(u,nc)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:l,joinOn:g,nestedQueryRelation:u}),d=sql_sql`${sql_sql.identifier(l)}.${sql_sql.identifier("data")}`.as(t);f.push({on:sql_sql`true`,table:new ic(c.sql,{},l),alias:l,joinType:"left",lateral:!0}),h.push({dbKey:t,tsKey:t,field:d,relationTableTsKey:s,isJson:!0,selection:c.selection})}}if(0===h.length)throw new iI({message:`No fields selected for table "${a.tsName}" ("${o}")`});if(p=and(s,p),u){let e=sql_sql`json_build_array(${sql_sql.join(h.map(({field:e,tsKey:i,isJson:n})=>n?sql_sql`${sql_sql.identifier(`${o}_${i}`)}.${sql_sql.identifier("data")}`:entity_is(e,iD.Aliased)?e.sql:e),sql_sql`, `)})`;entity_is(u,nd)&&(e=sql_sql`coalesce(json_agg(${e}${d.length>0?sql_sql` order by ${sql_sql.join(d,sql_sql`, `)}`:void 0}), '[]'::json)`);let i=[{dbKey:"data",tsKey:"data",field:e.as("data"),isJson:!0,relationTableTsKey:a.tsName,selection:h}];void 0!==g||void 0!==c||d.length>0?(l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:[{path:[],field:sql_sql.raw("*")}],where:p,limit:g,offset:c,orderBy:d,setOperators:[]}),p=void 0,g=void 0,c=void 0,d=[]):l=aliasedTable(t,o),l=this.buildSelectQuery({table:entity_is(l,nu)?l:new ic(l,{},o),fields:{},fieldsFlat:i.map(({field:e})=>({path:[],field:entity_is(e,e1)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]})}else l=this.buildSelectQuery({table:aliasedTable(t,o),fields:{},fieldsFlat:h.map(({field:e})=>({path:[],field:entity_is(e,e1)?aliasedTableColumn(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class nm{static [eW]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,i){if("_"===i)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(i===im)return{...e[im],selectedFields:new Proxy(e[im].selectedFields,this)};if("symbol"==typeof i)return e[i];let n=(entity_is(e,ic)?e._.selectedFields:entity_is(e,ik)?e[im].selectedFields:e)[i];if(entity_is(n,iD.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!n.isSelectionField)return n.sql;let e=n.clone();return e.isSelectionField=!0,e}if(entity_is(n,iD)){if("sql"===this.config.sqlBehavior)return n;throw Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return entity_is(n,e1)?this.config.alias?new Proxy(n,new iB(new Proxy(n.table,new iH(this.config.alias,this.config.replaceOriginalName??!1)))):n:"object"!=typeof n||null===n?n:new Proxy(n,new nm(this.config))}}class ny{static [eW]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class nS{static [eW]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}then(e,i){return this.execute().then(e,i)}}function extractUsedTable(e){return entity_is(e,nu)?[e[iy]?`${e[iy]}.${e[iE.Symbol.BaseName]}`:e[iE.Symbol.BaseName]]:entity_is(e,ic)?e._.usedTables??[]:entity_is(e,iD)?e.usedTables??[]:[]}class nb{static [eW]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let i,n=!!this.fields;return i=this.fields?this.fields:entity_is(e,ic)?Object.fromEntries(Object.keys(e._.selectedFields).map(i=>[i,e[i]])):entity_is(e,np)?e[im].selectedFields:entity_is(e,iD)?{}:getTableColumns(e),new nw({table:e,fields:i,isPartialSelect:n,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class nC extends ny{static [eW]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:i,isPartialSelect:n,session:t,dialect:a,withList:r,distinct:o}){for(let u of(super(),this.config={withList:r,table:e,fields:{...i},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=t,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},extractUsedTable(e)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(e,i){return(n,t)=>{let a=this.tableName,r=getTableLikeName(n);for(let e of extractUsedTable(n))this.usedTables.add(e);if("string"==typeof r&&this.config.joins?.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof a&&(this.config.fields={[a]:this.config.fields}),"string"==typeof r&&!entity_is(n,iD))){let e=entity_is(n,ic)?n._.selectedFields:entity_is(n,ik)?n[im].selectedFields:n[iE.Symbol.Columns];this.config.fields[r]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:n,joinType:e,alias:r,lateral:i}),"string"==typeof r)switch(e){case"left":this.joinsNotNullableMap[r]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[r]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1}return this}}leftJoin=this.createJoin("left",!1);leftJoinLateral=this.createJoin("left",!0);rightJoin=this.createJoin("right",!1);innerJoin=this.createJoin("inner",!1);innerJoinLateral=this.createJoin("inner",!0);fullJoin=this.createJoin("full",!1);crossJoin=this.createJoin("cross",!1);crossJoinLateral=this.createJoin("cross",!0);createSetOperator(e,i){return n=>{let t="function"==typeof n?n(getPgSetOperators()):n;if(!haveSameKeys(this.getSelectedFields(),t.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:i,rightSelect:t}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let i=e[0](new Proxy(this.config.fields,new nm({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,i={}){return this.config.lockingClause={strength:e,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(e){let i=[];if(i.push(...extractUsedTable(this.config.table)),this.config.joins)for(let e of this.config.joins)i.push(...extractUsedTable(e.table));return new Proxy(new ic(this.getSQL(),this.config.fields,e,!1,[...new Set(i)]),new nm({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new nm({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}}class nw extends nC{static [eW]="PgSelect";_prepare(e){let{session:i,config:n,dialect:t,joinsNotNullableMap:a,authToken:r,cacheConfig:o,usedTables:u}=this;if(!i)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:s}=n;return ip("drizzle.prepareQuery",()=>{let n=orderSelectedFields(s),l=i.prepareQuery(t.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:"select",tables:[...u]},o);return l.joinsNotNullableMap=a,l.setToken(r)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}function createSetOperator(e,i){return(n,t,...a)=>{let r=[t,...a].map(n=>({type:e,isAll:i,rightSelect:n}));for(let e of r)if(!haveSameKeys(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(r)}}applyMixins(nw,[nS]);let getPgSetOperators=()=>({union:nT,unionAll:nx,intersect:nL,intersectAll:nE,except:n_,exceptAll:nY}),nT=createSetOperator("union",!1),nx=createSetOperator("union",!0),nL=createSetOperator("intersect",!1),nE=createSetOperator("intersect",!0),n_=createSetOperator("except",!1),nY=createSetOperator("except",!0);class nD{static [eW]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=entity_is(e,nf)?e:void 0,this.dialectConfig=entity_is(e,nf)?void 0:e}$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(n)),new Proxy(new id(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new nm({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let i=this;return{select:function(n){return new nb({fields:n??void 0,session:void 0,dialect:i.getDialect(),withList:e})},selectDistinct:function(e){return new nb({fields:e??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})},selectDistinctOn:function(e,n){return new nb({fields:n??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:e}})}}}select(e){return new nb({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new nb({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,i){return new nb({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new nf(this.dialectConfig)),this.dialect}}class nv{constructor(e,i,n,t){this.table=e,this.session=i,this.dialect=n,this.withList=t}static [eW]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new nA(this.table,mapUpdateSet(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class nA extends nS{constructor(e,i,n,t,a){super(),this.session=n,this.dialect=t,this.config={set:i,table:e,withList:a,joins:[]},this.tableName=getTableLikeName(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [eW]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let i=getTableLikeName(e);return"string"==typeof i&&(this.joinsNotNullableMap[i]=!0),this.config.from=e,this}getTableLikeFields(e){return entity_is(e,nu)?e[iE.Symbol.Columns]:entity_is(e,ic)?e._.selectedFields:e[im].selectedFields}createJoin(e){return(i,n)=>{let t=getTableLikeName(i);if("string"==typeof t&&this.config.joins.some(e=>e.alias===t))throw Error(`Alias "${t}" is already used in this query`);if("function"==typeof n){let e=this.config.from&&!entity_is(this.config.from,iD)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[iE.Symbol.Columns],new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new nm({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:n,table:i,joinType:e,alias:t}),"string"==typeof t)switch(e){case"left":this.joinsNotNullableMap[t]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!0;break;case"inner":this.joinsNotNullableMap[t]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[t]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[iE.Symbol.Columns]),this.config.from)){let i=getTableLikeName(this.config.from);if("string"==typeof i&&this.config.from&&!entity_is(this.config.from,iD)){let n=this.getTableLikeFields(this.config.from);e[i]=n}for(let i of this.config.joins){let n=getTableLikeName(i.table);if("string"==typeof n&&!entity_is(i.table,iD)){let t=this.getTableLikeFields(i.table);e[n]=t}}}return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){let i=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig);return i.joinsNotNullableMap=this.joinsNotNullableMap,i}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new nm({alias:this.config.table[e2],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nN{constructor(e,i,n,t,a){this.table=e,this.session=i,this.dialect=n,this.withList=t,this.overridingSystemValue_=a}static [eW]="PgInsertBuilder";authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let i=e.map(e=>{let i={},n=this.table[iE.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];i[t]=entity_is(a,iD)?a:new iP(a,n[t])}return i});return new nP(this.table,i,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let i="function"==typeof e?e(new nD):e;if(!entity_is(i,iD)&&!haveSameKeys(this.table[iS],i._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new nP(this.table,i,this.session,this.dialect,this.withList,!0)}}class nP extends nS{constructor(e,i,n,t,a,r,o){super(),this.session=n,this.dialect=t,this.config={table:e,values:i,withList:a,select:r,overridingSystemValue_:o}}static [eW]="PgInsert";config;cacheConfig;returning(e=this.config.table[iE.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=sql_sql`do nothing`;else{let i="";i=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?sql_sql` where ${e.where}`:void 0;this.config.onConflict=sql_sql`(${sql_sql.raw(i)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let i=e.where?sql_sql` where ${e.where}`:void 0,n=e.targetWhere?sql_sql` where ${e.targetWhere}`:void 0,t=e.setWhere?sql_sql` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,mapUpdateSet(this.config.table,e.set)),r="";return r=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=sql_sql`(${sql_sql.raw(r)})${n} do update set ${a}${i}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ip("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new nm({alias:this.config.table[e2],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nZ extends nS{constructor(e,i,n,t){super(),this.session=i,this.dialect=n,this.config={table:e,withList:t}}static [eW]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[iE.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=orderSelectedFields(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ip("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:extractUsedTable(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new nm({alias:this.config.table[e2],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class nR extends iD{constructor(e){super(nR.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=nR.buildCount(e.source,e.filters)}sql;token;static [eW]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,i){return sql_sql`(select count(*) from ${e}${sql_sql.raw(" where ").if(i)}${i})`}static buildCount(e,i){return sql_sql`select count(*) as count from ${e}${sql_sql.raw(" where ").if(i)}${i};`}setToken(e){return this.token=e,this}then(e,i){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,i)}catch(e){return this.then(void 0,e)}finally(e){return this.then(i=>(e?.(),i),i=>{throw e?.(),i})}}class nM{constructor(e,i,n,t,a,r,o){this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o}static [eW]="PgRelationalQueryBuilder";findMany(e){return new nJ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new nJ(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class nJ extends nS{constructor(e,i,n,t,a,r,o,u,s){super(),this.fullSchema=e,this.schema=i,this.tableNamesMap=n,this.table=t,this.tableConfig=a,this.dialect=r,this.session=o,this.config=u,this.mode=s}static [eW]="PgRelationalQuery";_prepare(e){return ip("drizzle.prepareQuery",()=>{let{query:i,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let t=e.map(e=>mapRelationalRow(this.schema,this.tableConfig,e,i.selection,n));return"first"===this.mode?t[0]:t})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery(),i=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return ip("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class nk extends nS{constructor(e,i,n,t){super(),this.execute=e,this.sql=i,this.query=n,this.mapBatchResult=t}static [eW]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,i){return i?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class nB extends nS{constructor(e,i,n){super(),this.session=i,this.dialect=n,this.config={view:e}}static [eW]="PgRefreshMaterializedView";config;concurrently(){if(void 0!==this.config.withNoData)throw Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(void 0!==this.config.concurrently)throw Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(e){return ip("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ip("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class nH{constructor(e,i,n){if(this.dialect=e,this.session=i,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[t,a]of Object.entries(this._.schema))this.query[t]=new nM(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[t],a,e,i);this.$cache={invalidate:async e=>{}}}static [eW]="PgDatabase";query;$with=(e,i)=>{let n=this;return{as:t=>("function"==typeof t&&(t=t(new nD(n.dialect))),new Proxy(new id(t.getSQL(),i??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new nm({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,i){return new nR({source:e,filters:i,session:this.session})}$cache;with(...e){let i=this;return{select:function(n){return new nb({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e})},selectDistinct:function(n){return new nb({fields:n??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:!0})},selectDistinctOn:function(n,t){return new nb({fields:t??void 0,session:i.session,dialect:i.dialect,withList:e,distinct:{on:n}})},update:function(n){return new nv(n,i.session,i.dialect,e)},insert:function(n){return new nN(n,i.session,i.dialect,e)},delete:function(n){return new nZ(n,i.session,i.dialect,e)}}}select(e){return new nb({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new nb({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,i){return new nb({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new nv(e,this.session,this.dialect)}insert(e){return new nN(e,this.session,this.dialect)}delete(e){return new nZ(e,this.session,this.dialect)}refreshMaterializedView(e){return new nB(e,this.session,this.dialect)}authToken;execute(e){let i="string"==typeof e?sql_sql.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(i),t=this.session.prepareQuery(n,void 0,void 0,!1);return new nk(()=>t.execute(void 0,this.authToken),i,n,e=>t.mapResult(e,!0))}transaction(e,i){return this.session.transaction(e,i)}}class nF{static [eW]="Cache"}class nX extends nF{strategy(){return"all"}static [eW]="NoopCache";async get(e){}async put(e,i,n,t){}async onMutate(e){}}async function hashQuery(e,i){let n=`${e}-${JSON.stringify(i)}`,t=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class nI{constructor(e,i,n,t){this.query=e,this.cache=i,this.queryMetadata=n,this.cacheConfig=t,i&&"all"===i.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,i){return e}setToken(e){return this.authToken=e,this}static [eW]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,i,n){if(void 0===this.cache||entity_is(this.cache,nX)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new iO(e,i,n)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new iO(e,i,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new iO(e,i,n)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await hashQuery(e,i),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await n()}catch(n){throw new iO(e,i,n)}return await this.cache.put(this.cacheConfig.tag??await hashQuery(e,i),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await n()}catch(n){throw new iO(e,i,n)}}}class nO{constructor(e){this.dialect=e}static [eW]="PgSession";execute(e,i){return ip("drizzle.operation",()=>ip("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(i).execute(void 0,i))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,i){return Number((await this.execute(e,i))[0].count)}}class nQ extends nH{constructor(e,i,n,t=0){super(e,i,n),this.schema=n,this.nestedIndex=t}static [eW]="PgTransaction";rollback(){throw new iQ}getTransactionConfigSQL(e){let i=[];return e.isolationLevel&&i.push(`isolation level ${e.isolationLevel}`),e.accessMode&&i.push(e.accessMode),"boolean"==typeof e.deferrable&&i.push(e.deferrable?"deferrable":"not deferrable"),sql_sql.raw(i.join(" "))}setTransaction(e){return this.session.execute(sql_sql`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:nU,types:nG}=Z;class nq extends nI{constructor(e,i,n,t,a,r,o,u,s,l,h){super({sql:i,params:n},a,r,o),this.client=e,this.queryString=i,this.params=n,this.logger=t,this.fields=u,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:s,text:i,types:{getTypeParser:(e,i)=>e===nG.builtins.TIMESTAMPTZ||e===nG.builtins.TIMESTAMP||e===nG.builtins.DATE||e===nG.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nG.getTypeParser(e,i)}},this.queryConfig={name:s,text:i,rowMode:"array",types:{getTypeParser:(e,i)=>e===nG.builtins.TIMESTAMPTZ||e===nG.builtins.TIMESTAMP||e===nG.builtins.DATE||e===nG.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:nG.getTypeParser(e,i)}}}static [eW]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return ip("drizzle.execute",async()=>{let i=fillPlaceholders(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,i);let{fields:n,rawQueryConfig:t,client:a,queryConfig:r,joinsNotNullableMap:o,customResultMapper:u}=this;if(!n&&!u)return ip("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(t.text,i,async()=>await a.query(t,i))));let s=await ip("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":r.name,"drizzle.query.text":r.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(r.text,i,async()=>await a.query(r,i))));return ip("drizzle.mapResponse",()=>u?u(s.rows):s.rows.map(e=>mapResultRow(n,e,o)))})}all(e={}){return ip("drizzle.execute",()=>{let i=fillPlaceholders(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,i),ip("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(i)}),this.queryWithCache(this.rawQueryConfig.text,i,async()=>this.client.query(this.rawQueryConfig,i)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class n$ extends nO{constructor(e,i,n,t={}){super(i),this.client=e,this.schema=n,this.options=t,this.logger=t.logger??new e0,this.cache=t.cache??new nX}static [eW]="NodePgSession";logger;cache;prepareQuery(e,i,n,t,a,r,o){return new nq(this.client,e.sql,e.params,this.logger,this.cache,r,o,i,n,t,a)}async transaction(e,i){let n=this.client instanceof nU||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=n?new n$(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new nK(this.dialect,t,this.schema);await a.execute(sql_sql`begin${i?sql_sql` ${a.getTransactionConfigSQL(i)}`:void 0}`);try{let i=await e(a);return await a.execute(sql_sql`commit`),i}catch(e){throw await a.execute(sql_sql`rollback`),e}finally{n&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class nK extends nQ{static [eW]="NodePgTransaction";async transaction(e){let i=`sp${this.nestedIndex+1}`,n=new nK(this.dialect,this.session,this.schema,this.nestedIndex+1);await n.execute(sql_sql.raw(`savepoint ${i}`));try{let t=await e(n);return await n.execute(sql_sql.raw(`release savepoint ${i}`)),t}catch(e){throw await n.execute(sql_sql.raw(`rollback to savepoint ${i}`)),e}}}class nz{constructor(e,i,n={}){this.client=e,this.dialect=i,this.options=n}static [eW]="NodePgDriver";createSession(e){return new n$(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class nW extends nH{static [eW]="NodePgDatabase"}function construct(e,i={}){let n,t,a=new nf({casing:i.casing});if(!0===i.logger?n=new eV:!1!==i.logger&&(n=i.logger),i.schema){let e=extractTablesRelationalConfig(i.schema,createTableRelationsHelpers);t={fullSchema:i.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let r=new nz(e,a,{logger:n,cache:i.cache}).createSession(t),o=new nW(a,r,t);return o.$client=e,o.$cache=i.cache,o.$cache&&(o.$cache.invalidate=i.cache?.onMutate),o}function drizzle(...e){if("string"==typeof e[0])return construct(new Z.Pool({connectionString:e[0]}),e[1]);if(isConfig(e[0])){let{connection:i,client:n,...t}=e[0];return n?construct(n,t):construct(new Z.Pool("string"==typeof i?{connectionString:i}:i),t)}return construct(e[0],e[1])}(drizzle||(drizzle={})).mock=function(e){return construct({},e)};class nj{static MAX_CONNECTIONS=100;static IDLE_TIMEOUT_MILLIS=3e4;static CONNECTION_TIMEOUT_MILLIS=3e4;static MAX_RETRY_TIME=2e4;static DEFAULT_SCHEMA_PATH="src/storage/database/shared/schema.ts"}let nV=!1;function loadEnv(){if(!nV&&!process.env.PGDATABASE_URL)try{try{if(E("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){nV=!0;return}}catch{}let e=`
9
9
  import os
10
10
  import sys
11
11
  try:
@@ -17,7 +17,7 @@ try:
17
17
  print(f"{env_var.key}={env_var.value}")
18
18
  except Exception as e:
19
19
  print(f"# Error: {e}", file=sys.stderr)
20
- `;for(let i of M(`python3 -c '${e.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(i.startsWith("#"))continue;let e=i.indexOf("=");if(e>0){let n=i.substring(0,e),t=i.substring(e+1);(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),process.env[n]||(process.env[n]=t)}}nW=!0}catch{}}function getDbUrl(){loadEnv();let e=process.env.PGDATABASE_URL||"";if(!e)throw Error("Database URL not configured. Set PGDATABASE_URL environment variable.\nDid you create a database? You can create one via the Coze Coding platform.");return e.startsWith("postgres://")&&(e="postgresql://"+e.substring(11)),e}let nj=null,nV=null;async function createPoolWithRetry(e){let i=getDbUrl(),n=new Z.Pool({connectionString:i,max:e?.maxConnections??nz.MAX_CONNECTIONS,idleTimeoutMillis:e?.idleTimeoutMillis??nz.IDLE_TIMEOUT_MILLIS,connectionTimeoutMillis:e?.connectionTimeoutMillis??nz.CONNECTION_TIMEOUT_MILLIS}),t=Date.now(),a=null;for(;Date.now()-t<nz.MAX_RETRY_TIME;)try{let e=await n.connect();return await e.query("SELECT 1"),e.release(),n}catch(i){a=i;let e=((Date.now()-t)/1e3).toFixed(1);console.warn(`Database connection failed, retrying... (elapsed: ${e}s)`),await new Promise(e=>setTimeout(e,Math.min(1e3,nz.MAX_RETRY_TIME-(Date.now()-t))))}throw console.error(`Database connection failed after ${nz.MAX_RETRY_TIME/1e3}s: ${a?.message}`),a}async function getPool(e){return loadEnv(),nj||(nj=await createPoolWithRetry(e)),nj}async function getDb(e){if(!nV){let i=await getPool();nV=e?drizzle(i,{schema:e}):drizzle(i)}return nV}async function getClient(){return(await getPool()).connect()}async function closePool(){nj&&(await nj.end(),nj=null,nV=null)}let n0=E("fs"),n1=E("path"),n3=E("os"),n2="/usr/lib/node_modules";function fixGeneratedIdentity(e){if(!n0.existsSync(e))return;let i=n0.readFileSync(e,"utf-8"),n=i.replace(/\.generatedByDefaultAsIdentity\(\{[^}]*\}\)/g,".generatedByDefaultAsIdentity()");n!==i&&n0.writeFileSync(e,n)}async function generateModels(e={}){let{outputPath:i=nz.DEFAULT_SCHEMA_PATH,verbose:n=!1}=e;loadEnv();let t=getDbUrl(),a=n1.dirname(i);a&&!n0.existsSync(a)&&n0.mkdirSync(a,{recursive:!0});let r=n0.mkdtempSync(n1.join(n3.tmpdir(),"drizzle-")),o=n1.dirname(a),u=n1.join(o,"drizzle.config.ts"),s=`
20
+ `;for(let i of M(`python3 -c '${e.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(i.startsWith("#"))continue;let e=i.indexOf("=");if(e>0){let n=i.substring(0,e),t=i.substring(e+1);(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),process.env[n]||(process.env[n]=t)}}nV=!0}catch{}}function getDbUrl(){loadEnv();let e=process.env.PGDATABASE_URL||"";if(!e)throw Error("Database URL not configured. Set PGDATABASE_URL environment variable.\nDid you create a database? You can create one via the Coze Coding platform.");return e.startsWith("postgres://")&&(e="postgresql://"+e.substring(11)),e}let n0=null,n1=null;async function createPoolWithRetry(e){let i=getDbUrl(),n=new Z.Pool({connectionString:i,max:e?.maxConnections??nj.MAX_CONNECTIONS,idleTimeoutMillis:e?.idleTimeoutMillis??nj.IDLE_TIMEOUT_MILLIS,connectionTimeoutMillis:e?.connectionTimeoutMillis??nj.CONNECTION_TIMEOUT_MILLIS}),t=Date.now(),a=null;for(;Date.now()-t<nj.MAX_RETRY_TIME;)try{let e=await n.connect();return await e.query("SELECT 1"),e.release(),n}catch(i){a=i;let e=((Date.now()-t)/1e3).toFixed(1);console.warn(`Database connection failed, retrying... (elapsed: ${e}s)`),await new Promise(e=>setTimeout(e,Math.min(1e3,nj.MAX_RETRY_TIME-(Date.now()-t))))}throw console.error(`Database connection failed after ${nj.MAX_RETRY_TIME/1e3}s: ${a?.message}`),a}async function getPool(e){return loadEnv(),n0||(n0=await createPoolWithRetry(e)),n0}async function getDb(e){if(!n1){let i=await getPool();n1=e?drizzle(i,{schema:e}):drizzle(i)}return n1}async function getClient(){return(await getPool()).connect()}async function closePool(){n0&&(await n0.end(),n0=null,n1=null)}let n3=E("fs"),n2=E("path"),n4=E("os"),n8="/usr/lib/node_modules";function fixGeneratedIdentity(e){if(!n3.existsSync(e))return;let i=n3.readFileSync(e,"utf-8"),n=i.replace(/\.generatedByDefaultAsIdentity\(\{[^}]*\}\)/g,".generatedByDefaultAsIdentity()");n!==i&&n3.writeFileSync(e,n)}async function generateModels(e={}){let{outputPath:i=nj.DEFAULT_SCHEMA_PATH,verbose:n=!1}=e;loadEnv();let t=getDbUrl(),a=n2.dirname(i);a&&!n3.existsSync(a)&&n3.mkdirSync(a,{recursive:!0});let r=n3.mkdtempSync(n2.join(n4.tmpdir(),"drizzle-")),o=n2.dirname(a),u=n2.join(o,"drizzle.config.ts"),s=`
21
21
  import { defineConfig } from 'drizzle-kit';
22
22
 
23
23
  export default defineConfig({
@@ -27,9 +27,9 @@ export default defineConfig({
27
27
  url: '${t}',
28
28
  },
29
29
  });
30
- `;try{let e;n0.writeFileSync(u,s),n&&console.log("Introspecting database schema...");let t=`npx drizzle-kit introspect --config=${u}`;n&&console.log(`Running: ${t}`);try{e=M(t,{encoding:"utf-8",stdio:"pipe",timeout:6e4,env:{...process.env,NODE_PATH:n2}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit introspect failed:
30
+ `;try{let e;n3.writeFileSync(u,s),n&&console.log("Introspecting database schema...");let t=`npx drizzle-kit introspect --config=${u}`;n&&console.log(`Running: ${t}`);try{e=M(t,{encoding:"utf-8",stdio:"pipe",timeout:6e4,env:{...process.env,NODE_PATH:n8}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit introspect failed:
31
31
  ${e||i||n.message}`)}if(e&&(e.includes("error:")||e.includes("Error:")))throw Error(`drizzle-kit introspect failed:
32
- ${e}`);n&&e&&console.log(e);let o=n1.join(r,"schema.ts"),l=n1.join(r,"relations.ts");if(n0.existsSync(o)&&(fixGeneratedIdentity(o),n0.copyFileSync(o,i),n&&console.log(`✓ Copied schema.ts to ${a}/`)),n0.existsSync(l)){let e=n1.join(a,"relations.ts");n0.copyFileSync(l,e),n&&console.log(`✓ Copied relations.ts to ${a}/`)}try{M("git add -A",{encoding:"utf-8",stdio:"pipe",cwd:process.cwd()})}catch{}n&&console.log("✓ Schema generated successfully")}finally{n0.existsSync(u)&&n0.unlinkSync(u),n0.existsSync(r)&&n0.rmSync(r,{recursive:!0})}}async function upgrade(e={}){let{schemaPath:i=nz.DEFAULT_SCHEMA_PATH,projectPath:n=process.cwd(),verbose:t=!1}=e;loadEnv();let a=getDbUrl(),r=n1.isAbsolute(i)?i:n1.join(n,i);if(!n0.existsSync(r))throw Error(`Schema file not found: ${r}`);let o=n1.dirname(r),u=n1.dirname(o),s=n1.join(u,"drizzle.config.ts"),l=`
32
+ ${e}`);n&&e&&console.log(e);let o=n2.join(r,"schema.ts"),l=n2.join(r,"relations.ts");if(n3.existsSync(o)&&(fixGeneratedIdentity(o),n3.copyFileSync(o,i),n&&console.log(`✓ Copied schema.ts to ${a}/`)),n3.existsSync(l)){let e=n2.join(a,"relations.ts");n3.copyFileSync(l,e),n&&console.log(`✓ Copied relations.ts to ${a}/`)}try{M("git add -A",{encoding:"utf-8",stdio:"pipe",cwd:process.cwd()})}catch{}n&&console.log("✓ Schema generated successfully")}finally{n3.existsSync(u)&&n3.unlinkSync(u),n3.existsSync(r)&&n3.rmSync(r,{recursive:!0})}}async function upgrade(e={}){let{schemaPath:i=nj.DEFAULT_SCHEMA_PATH,projectPath:n=process.cwd(),verbose:t=!1}=e;loadEnv();let a=getDbUrl(),r=n2.isAbsolute(i)?i:n2.join(n,i);if(!n3.existsSync(r))throw Error(`Schema file not found: ${r}`);let o=n2.dirname(r),u=n2.dirname(o),s=n2.join(u,"drizzle.config.ts"),l=`
33
33
  import { defineConfig } from 'drizzle-kit';
34
34
 
35
35
  export default defineConfig({
@@ -39,24 +39,24 @@ export default defineConfig({
39
39
  url: '${a}',
40
40
  },
41
41
  });
42
- `;try{let e;n0.writeFileSync(s,l),t&&console.log("Pushing schema changes to database...");let i=`npx drizzle-kit push --force --config=${s}`;t&&console.log(`Running: ${i}`);try{e=M(i,{encoding:"utf-8",stdio:"pipe",timeout:12e4,cwd:n,env:{...process.env,NODE_PATH:n2}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit push failed:
42
+ `;try{let e;n3.writeFileSync(s,l),t&&console.log("Pushing schema changes to database...");let i=`npx drizzle-kit push --force --config=${s}`;t&&console.log(`Running: ${i}`);try{e=M(i,{encoding:"utf-8",stdio:"pipe",timeout:12e4,cwd:n,env:{...process.env,NODE_PATH:n8}})}catch(n){let e=n.stderr?.toString()||"",i=n.stdout?.toString()||"";throw Error(`drizzle-kit push failed:
43
43
  ${e||i||n.message}`)}if(e&&(e.includes("error:")||e.includes("Error:")))throw Error(`drizzle-kit push failed:
44
- ${e}`);t&&e&&console.log(e),t&&console.log("✅ Database migration completed successfully")}finally{n0.existsSync(s)&&n0.unlinkSync(s)}}class n4{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let i=new n4({...e,headers:{...e.headers}});return i.query&&(i.query=cloneQuery(i.query)),i}static isInstance(e){return!!e&&"method"in e&&"protocol"in e&&"hostname"in e&&"path"in e&&"object"==typeof e.query&&"object"==typeof e.headers}clone(){return n4.clone(this)}}function cloneQuery(e){return Object.keys(e).reduce((i,n)=>{let t=e[n];return{...i,[n]:Array.isArray(t)?[...t]:t}},{})}function addExpectContinueMiddleware(e){return i=>async n=>{let{request:t}=n;if(!1!==e.expectContinueHeader&&n4.isInstance(t)&&t.body&&"node"===e.runtime&&e.requestHandler?.constructor?.name!=="FetchHttpHandler"){let i=!0;if("number"==typeof e.expectContinueHeader)try{i=(Number(t.headers?.["content-length"])??e.bodyLengthChecker?.(t.body)??1/0)>=e.expectContinueHeader}catch(e){}else i=!!e.expectContinueHeader;i&&(t.headers.Expect="100-continue")}return i({...n,request:t})}}let n8={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},n6={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n5=n6.WHEN_SUPPORTED,n7={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n9=n6.WHEN_SUPPORTED;(Q=ea||(ea={})).MD5="MD5",Q.CRC32="CRC32",Q.CRC32C="CRC32C",Q.CRC64NVME="CRC64NVME",Q.SHA1="SHA1",Q.SHA256="SHA256",(U=er||(er={})).HEADER="header",U.TRAILER="trailer";let te=ea.CRC32;function resolveHostHeaderConfig(e){return e}let ti={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},getHostHeaderPlugin=e=>({applyToStack:i=>{i.add(i=>async n=>{if(!n4.isInstance(n.request))return i(n);let{request:t}=n,{handlerProtocol:a=""}=e.requestHandler.metadata||{};if(a.indexOf("h2")>=0&&!t.headers[":authority"])delete t.headers.host,t.headers[":authority"]=t.hostname+(t.port?":"+t.port:"");else if(!t.headers.host){let e=t.hostname;null!=t.port&&(e+=`:${t.port}`),t.headers.host=e}return i(n)},ti)}}),tn={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},getLoggerPlugin=e=>({applyToStack:e=>{e.add((e,i)=>async n=>{try{let t=await e(n),{clientName:a,commandName:r,logger:o,dynamoDbDocumentClientOptions:u={}}=i,{overrideInputFilterSensitiveLog:s,overrideOutputFilterSensitiveLog:l}=u,h=s??i.inputFilterSensitiveLog,g=l??i.outputFilterSensitiveLog,{$metadata:c,...d}=t.output;return o?.info?.({clientName:a,commandName:r,input:h(n.input),output:g(d),metadata:c}),t}catch(s){let{clientName:e,commandName:t,logger:a,dynamoDbDocumentClientOptions:r={}}=i,{overrideInputFilterSensitiveLog:o}=r,u=o??i.inputFilterSensitiveLog;throw a?.error?.({clientName:e,commandName:t,input:u(n.input),error:s,metadata:s.$metadata}),s}},tn)}}),tt={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},ta={REQUEST_ID:Symbol.for("_AWS_LAMBDA_REQUEST_ID"),X_RAY_TRACE_ID:Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),TENANT_ID:Symbol.for("_AWS_LAMBDA_TENANT_ID")},tr=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");tr||(globalThis.awslambda=globalThis.awslambda||{});class to{static PROTECTED_KEYS=ta;isProtectedKey(e){return Object.values(ta).includes(e)}getRequestId(){return this.get(ta.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(ta.X_RAY_TRACE_ID)}getTenantId(){return this.get(ta.TENANT_ID)}}class tu extends to{currentContext;getContext(){return this.currentContext}hasContext(){return void 0!==this.currentContext}get(e){return this.currentContext?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);this.currentContext=this.currentContext||{},this.currentContext[e]=i}run(e,i){return this.currentContext=e,i()}}class ts extends to{als;static async create(){let e=new ts;return e.als=new(await import("node:async_hooks")).AsyncLocalStorage,e}getContext(){return this.als.getStore()}hasContext(){return void 0!==this.als.getStore()}get(e){return this.als.getStore()?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);let n=this.als.getStore();if(!n)throw Error("No context available");n[e]=i}run(e,i){return this.als.run(e,i)}}G=eo||(eo={}),c=null,G.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await ts.create():new tu;return!tr&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!tr&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},G._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let tl="X-Amzn-Trace-Id",getRecursionDetectionPlugin=e=>({applyToStack:e=>{e.add(e=>async i=>{let{request:n}=i;if(!n4.isInstance(n))return e(i);let t=Object.keys(n.headers??{}).find(e=>e.toLowerCase()===tl.toLowerCase())??tl;if(n.headers.hasOwnProperty(t))return e(i);let a=process.env.AWS_LAMBDA_FUNCTION_NAME,r=process.env._X_AMZN_TRACE_ID,o=await eo.getInstanceAsync(),u=o?.getXRayTraceId()??r,nonEmptyString=e=>"string"==typeof e&&e.length>0;return nonEmptyString(a)&&nonEmptyString(u)&&(n.headers[tl]=u),e({...i,request:n})},tt)}});class th{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let i=this.data[e];if(i)return i}set(e,i){return this.data[e]=i,i}delete(e){delete this.data[e]}async purgeExpired(){let e=Date.now();if(!(this.lastPurgeTime+th.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>e))for(let i in this.data){let n=this.data[i];if(!n.isRefreshing){let t=await n.identity;t.expiration&&t.expiration.getTime()<e&&delete this.data[i]}}}}class tg{_identity;isRefreshing;accessed;constructor(e,i=!1,n=Date.now()){this._identity=e,this.isRefreshing=i,this.accessed=n}get identity(){return this.accessed=Date.now(),this._identity}}class tc{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,i=new th){this.createSessionFn=e,this.cache=i}async getS3ExpressIdentity(e,i){let n=i.Bucket,{cache:t}=this,a=t.get(n);return a?a.identity.then(e=>(e.expiration?.getTime()??0)<Date.now()?t.set(n,new tg(this.getIdentity(n))).identity:((e.expiration?.getTime()??0)<Date.now()+tc.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(n).then(e=>{t.set(n,new tg(Promise.resolve(e)))})),e)):t.set(n,new tg(this.getIdentity(n))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+e)});let i=await this.createSessionFn(e);if(!i.Credentials?.AccessKeyId||!i.Credentials?.SecretAccessKey)throw Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:i.Credentials.AccessKeyId,secretAccessKey:i.Credentials.SecretAccessKey,sessionToken:i.Credentials.SessionToken,expiration:i.Credentials.Expiration?new Date(i.Credentials.Expiration):void 0}}}function bucketEndpointMiddleware(e){return(i,n)=>async t=>{if(e.bucketEndpoint){let e=n.endpointV2;if(e){let i=t.input.Bucket;if("string"==typeof i)try{let t=new URL(i);n.endpointV2={...e,url:t}}catch(t){let e=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${i} could not be parsed as URL.`;throw n.logger?.constructor?.name==="NoOpLogger"?console.warn(e):n.logger?.warn?.(e),t}}}return i(t)}}let td={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function validateBucketNameMiddleware({bucketEndpoint:e}){return i=>async n=>{let{input:{Bucket:t}}=n;if(!e&&"string"==typeof t&&!("string"==typeof t&&0===t.indexOf("arn:")&&t.split(":").length>=6)&&t.indexOf("/")>=0){let e=Error(`Bucket name shouldn't contain '/', received '${t}'`);throw e.name="InvalidBucketName",e}return i({...n})}}let tp={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},tf={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function regionRedirectMiddleware(e){return(i,n)=>async t=>{try{return await i(t)}catch(a){if(e.followRegionRedirects){let r=a?.$metadata?.httpStatusCode,o="HeadBucketCommand"===n.commandName,u=a?.$response?.headers?.["x-amz-bucket-region"];if(u&&(301===r||400===r&&(a?.name==="IllegalLocationConstraintException"||o))){try{n.logger?.debug(`Redirecting from ${await e.region()} to ${u}`),n.__s3RegionRedirect=u}catch(e){throw Error("Region redirect failed: "+e)}return i(t)}}throw a}}}let tm={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0};function setFeature(e,i,n){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[i]=n}let booleanSelector=(e,i,n)=>{if(i in e){if("true"===e[i])return!0;if("false"===e[i])return!1;throw Error(`Cannot load ${n} "${i}". Expected "true" or "false", got ${e[i]}.`)}};(q=eu||(eu={})).ENV="env",q.CONFIG="shared config entry";let ty="X-Amz-S3session-Token",tS=ty.toLowerCase(),tb={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_disable_express_session_auth",eu.CONFIG),default:!1},tC={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},tw="__smithy_context",getSmithyContext=e=>e[tw]||(e[tw]={}),tT={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},getHttpSigningPlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{if(!n4.isInstance(n.request))return e(n);let t=getSmithyContext(i).selectedHttpAuthScheme;if(!t)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:r,signer:o}=t,u=await e({...n,request:await o.sign(n.request,r,a)}).catch((o.errorHandler||(e=>e=>{throw e}))(a));return(o.successHandler||((e,i)=>{}))(u.response,a),u},tT)}}),signS3Express=async(e,i,n,t)=>{let a=await t.signWithCredentials(n,e,{});if(a.headers["X-Amz-Security-Token"]||a.headers["x-amz-security-token"])throw Error("X-Amz-Security-Token must not be set for s3-express requests.");return a},normalizeProvider_normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},tx;function isValidUserAgentAppId(e){return void 0===e||"string"==typeof e&&e.length<=50}function resolveUserAgentConfig(e){let i=normalizeProvider_normalizeProvider(e.userAgentAppId??tx),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:"string"==typeof n?[[n]]:n,userAgentAppId:async()=>{let n=await i();if(!isValidUserAgentAppId(n)){let i=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof n?i?.warn("userAgentAppId must be a string or undefined."):n.length>50&&i?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return n}})}let tL={},tE=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),isValidHostLabel=(e,i=!1)=>{if(!i)return tE.test(e);for(let i of e.split("."))if(!isValidHostLabel(i))return!1;return!0},t_=RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),isIpAddress=e=>t_.test(e)||e.startsWith("[")&&e.endsWith("]"),isVirtualHostableS3Bucket=(e,i=!1)=>{if(i){for(let i of e.split("."))if(!isVirtualHostableS3Bucket(i))return!1;return!0}return!(!isValidHostLabel(e)||e.length<3||e.length>63||e!==e.toLowerCase()||isIpAddress(e))};var tY=JSON.parse('{"partitions":[{"id":"aws","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-east-1","name":"aws","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"af-south-1":{"description":"Africa (Cape Town)"},"ap-east-1":{"description":"Asia Pacific (Hong Kong)"},"ap-east-2":{"description":"Asia Pacific (Taipei)"},"ap-northeast-1":{"description":"Asia Pacific (Tokyo)"},"ap-northeast-2":{"description":"Asia Pacific (Seoul)"},"ap-northeast-3":{"description":"Asia Pacific (Osaka)"},"ap-south-1":{"description":"Asia Pacific (Mumbai)"},"ap-south-2":{"description":"Asia Pacific (Hyderabad)"},"ap-southeast-1":{"description":"Asia Pacific (Singapore)"},"ap-southeast-2":{"description":"Asia Pacific (Sydney)"},"ap-southeast-3":{"description":"Asia Pacific (Jakarta)"},"ap-southeast-4":{"description":"Asia Pacific (Melbourne)"},"ap-southeast-5":{"description":"Asia Pacific (Malaysia)"},"ap-southeast-6":{"description":"Asia Pacific (New Zealand)"},"ap-southeast-7":{"description":"Asia Pacific (Thailand)"},"aws-global":{"description":"aws global region"},"ca-central-1":{"description":"Canada (Central)"},"ca-west-1":{"description":"Canada West (Calgary)"},"eu-central-1":{"description":"Europe (Frankfurt)"},"eu-central-2":{"description":"Europe (Zurich)"},"eu-north-1":{"description":"Europe (Stockholm)"},"eu-south-1":{"description":"Europe (Milan)"},"eu-south-2":{"description":"Europe (Spain)"},"eu-west-1":{"description":"Europe (Ireland)"},"eu-west-2":{"description":"Europe (London)"},"eu-west-3":{"description":"Europe (Paris)"},"il-central-1":{"description":"Israel (Tel Aviv)"},"me-central-1":{"description":"Middle East (UAE)"},"me-south-1":{"description":"Middle East (Bahrain)"},"mx-central-1":{"description":"Mexico (Central)"},"sa-east-1":{"description":"South America (Sao Paulo)"},"us-east-1":{"description":"US East (N. Virginia)"},"us-east-2":{"description":"US East (Ohio)"},"us-west-1":{"description":"US West (N. California)"},"us-west-2":{"description":"US West (Oregon)"}}},{"id":"aws-cn","outputs":{"dnsSuffix":"amazonaws.com.cn","dualStackDnsSuffix":"api.amazonwebservices.com.cn","implicitGlobalRegion":"cn-northwest-1","name":"aws-cn","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^cn\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-cn-global":{"description":"aws-cn global region"},"cn-north-1":{"description":"China (Beijing)"},"cn-northwest-1":{"description":"China (Ningxia)"}}},{"id":"aws-eusc","outputs":{"dnsSuffix":"amazonaws.eu","dualStackDnsSuffix":"api.amazonwebservices.eu","implicitGlobalRegion":"eusc-de-east-1","name":"aws-eusc","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"eusc-de-east-1":{"description":"EU (Germany)"}}},{"id":"aws-iso","outputs":{"dnsSuffix":"c2s.ic.gov","dualStackDnsSuffix":"api.aws.ic.gov","implicitGlobalRegion":"us-iso-east-1","name":"aws-iso","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-global":{"description":"aws-iso global region"},"us-iso-east-1":{"description":"US ISO East"},"us-iso-west-1":{"description":"US ISO WEST"}}},{"id":"aws-iso-b","outputs":{"dnsSuffix":"sc2s.sgov.gov","dualStackDnsSuffix":"api.aws.scloud","implicitGlobalRegion":"us-isob-east-1","name":"aws-iso-b","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-b-global":{"description":"aws-iso-b global region"},"us-isob-east-1":{"description":"US ISOB East (Ohio)"},"us-isob-west-1":{"description":"US ISOB West"}}},{"id":"aws-iso-e","outputs":{"dnsSuffix":"cloud.adc-e.uk","dualStackDnsSuffix":"api.cloud-aws.adc-e.uk","implicitGlobalRegion":"eu-isoe-west-1","name":"aws-iso-e","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-e-global":{"description":"aws-iso-e global region"},"eu-isoe-west-1":{"description":"EU ISOE West"}}},{"id":"aws-iso-f","outputs":{"dnsSuffix":"csp.hci.ic.gov","dualStackDnsSuffix":"api.aws.hci.ic.gov","implicitGlobalRegion":"us-isof-south-1","name":"aws-iso-f","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-f-global":{"description":"aws-iso-f global region"},"us-isof-east-1":{"description":"US ISOF EAST"},"us-isof-south-1":{"description":"US ISOF SOUTH"}}},{"id":"aws-us-gov","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-gov-west-1","name":"aws-us-gov","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-us-gov-global":{"description":"aws-us-gov global region"},"us-gov-east-1":{"description":"AWS GovCloud (US-East)"},"us-gov-west-1":{"description":"AWS GovCloud (US-West)"}}}],"version":"1.1"}');let tD={isVirtualHostableS3Bucket:isVirtualHostableS3Bucket,parseArn:e=>{let i=e.split(":");if(i.length<6)return null;let[n,t,a,r,o,...u]=i;return"arn"!==n||""===t||""===a||""===u.join(":")?null:{partition:t,service:a,region:r,accountId:o,resourceId:u.map(e=>e.split("/")).flat()}},partition:e=>{let{partitions:i}=tY;for(let n of i){let{regions:i,outputs:t}=n;for(let[n,a]of Object.entries(i))if(n===e)return{...t,...a}}for(let n of i){let{regionRegex:i,outputs:t}=n;if(new RegExp(i).test(e))return{...t}}let n=i.find(e=>"aws"===e.id);if(!n)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...n.outputs}}};tL.aws=tD;let tv=/\d{12}\.ddb/;async function checkFeatures(e,i,n){let t=n.request;if(t?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&setFeature(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof i.retryStrategy){let n=await i.retryStrategy();"function"==typeof n.acquireInitialRetryToken?n.constructor?.name?.includes("Adaptive")?setFeature(e,"RETRY_MODE_ADAPTIVE","F"):setFeature(e,"RETRY_MODE_STANDARD","E"):setFeature(e,"RETRY_MODE_LEGACY","D")}if("function"==typeof i.accountIdEndpointMode){let n=e.endpointV2;switch(String(n?.url?.hostname).match(tv)&&setFeature(e,"ACCOUNT_ID_ENDPOINT","O"),await i.accountIdEndpointMode?.()){case"disabled":setFeature(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":setFeature(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":setFeature(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source)for(let[i,n]of(a.accountId&&setFeature(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(a.$source??{})))setFeature(e,i,n)}let tA="user-agent",tN="x-amz-user-agent",tP=/[^!$%&'*+\-.^_`|~\w]/g,tZ=/[^!$%&'*+\-.^_`|~\w#]/g;function encodeFeatures(e){let i="";for(let n in e){let t=e[n];if(i.length+t.length+1<=1024){i.length?i+=","+t:i+=t;continue}break}return i}let escapeUserAgent=e=>{let i=e[0].split("/").map(e=>e.replace(tP,"-")).join("/"),n=e[1]?.replace(tZ,"-"),t=i.indexOf("/"),a=i.substring(0,t),r=i.substring(t+1);return"api"===a&&(r=r.toLowerCase()),[a,r,n].filter(e=>e&&e.length>0).reduce((e,i,n)=>{switch(n){case 0:return i;case 1:return`${e}/${i}`;default:return`${e}#${i}`}},"")},tR={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},getUserAgentPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let{request:a}=t;if(!n4.isInstance(a))return i(t);let{headers:r}=a,o=n?.userAgent?.map(escapeUserAgent)||[],u=(await e.defaultUserAgentProvider()).map(escapeUserAgent);await checkFeatures(n,e,t),u.push(`m/${encodeFeatures(Object.assign({},n.__smithy_context?.features,n.__aws_sdk_context?.features))}`);let s=e?.customUserAgent?.map(escapeUserAgent)||[],l=await e.userAgentAppId();l&&u.push(escapeUserAgent(["app",`${l}`]));let h=[].concat([...u,...o,...s]).join(" "),g=[...u.filter(e=>e.startsWith("aws-sdk-")),...s].join(" ");return"browser"!==e.runtime?(g&&(r[tN]=r[tN]?`${r[tA]} ${g}`:g),r[tA]=h):r[tN]=h,i({...t,request:a})},tR)}}),tM=new Set,isFipsRegion=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),resolveRegionConfig=e=>{let{region:i,useFipsEndpoint:n}=e;if(!i)throw Error("Region is missing");return Object.assign(e,{region:async()=>{let e,n=isFipsRegion(e="function"==typeof i?await i():i)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;return((e,i=isValidHostLabel)=>{if(tM.has(e)||i(e))tM.add(e);else if("*"===e)console.warn('@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.');else throw Error(`Region not accepted: region="${e}" is not a valid hostname component.`)})(n),n},useFipsEndpoint:async()=>!!isFipsRegion("string"==typeof i?i:await i())||("function"!=typeof n?Promise.resolve(!!n):n())})};function convertHttpAuthSchemesToMap(e){let i=new Map;for(let n of e)i.set(n.schemeId,n);return i}let tJ={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},getHttpAuthSchemeEndpointRuleSetPlugin=(e,{httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n})=>({applyToStack:t=>{let a;t.addRelativeTo((a={httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n},(i,n)=>async t=>{let r=((e,i)=>{if(!i||0===i.length)return e;let n=[];for(let t of i)for(let i of e)i.schemeId.split("#")[1]===t&&n.push(i);for(let i of e)n.find(({schemeId:e})=>e===i.schemeId)||n.push(i);return n})(e.httpAuthSchemeProvider(await a.httpAuthSchemeParametersProvider(e,n,t.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=convertHttpAuthSchemesToMap(e.httpAuthSchemes),u=getSmithyContext(n),s=[];for(let i of r){let t=o.get(i.schemeId);if(!t){s.push(`HttpAuthScheme \`${i.schemeId}\` was not enabled for this service.`);continue}let r=t.identityProvider(await a.identityProviderConfigProvider(e));if(!r){s.push(`HttpAuthScheme \`${i.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:h={}}=i.propertiesExtractor?.(e,n)||{};i.identityProperties=Object.assign(i.identityProperties||{},l),i.signingProperties=Object.assign(i.signingProperties||{},h),u.selectedHttpAuthScheme={httpAuthOption:i,identity:await r(i.identityProperties),signer:t.signer};break}if(!u.selectedHttpAuthScheme)throw Error(s.join("\n"));return i(t)}),tJ)}});class tk{authSchemes=new Map;constructor(e){for(let[i,n]of Object.entries(e))void 0!==n&&this.authSchemes.set(i,n)}getIdentityProvider(e){return this.authSchemes.get(e)}}class tB{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){return!!e&&"number"==typeof e.statusCode&&"object"==typeof e.headers}}let operation_operation=(e,i,n,t,a)=>({name:i,namespace:e,traits:n,input:t,output:a}),findHeader=(e,i)=>(i.find(([i])=>i.match(e))||[void 0,void 0])[1],tH={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},tF={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function getSchemaSerdePlugin(e){return{applyToStack:i=>{i.add((i,n)=>async t=>{let{operationSchema:a}=getSmithyContext(n),[,r,o,u,s,l]=a??[],h=n.endpointV2?.url&&e.urlParser?async()=>e.urlParser(n.endpointV2.url):e.endpoint,g=await e.protocol.serializeRequest(operation_operation(r,o,u,s,l),t.input,{...e,...n,endpoint:h});return i({...t,request:g})},tF),i.add((i,n)=>async t=>{let{response:a}=await i(t),{operationSchema:r}=getSmithyContext(n),[,o,u,s,l,h]=r??[];try{let i=await e.protocol.deserializeResponse(operation_operation(o,u,s,l,h),{...e,...n},a);return{response:a,output:i}}catch(e){if(Object.defineProperty(e,"$response",{value:a,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let i="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+i}catch(e){n.logger&&n.logger?.constructor?.name!=="NoOpLogger"?n.logger?.warn?.(i):console.warn(i)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(tB.isInstance(a)){let{headers:i={}}=a,n=Object.entries(i);e.$metadata={httpStatusCode:a.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,n),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,n),cfId:findHeader(/^x-[\w-]+-cf-id$/,n)}}}catch(e){}}throw e}},tH),e.protocol.setSerdeContext(e)}}}let tX="content-length";function contentLengthMiddleware(e){return i=>async n=>{let t=n.request;if(n4.isInstance(t)){let{body:i,headers:n}=t;if(i&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(tX))try{let n=e(i);t.headers={...t.headers,[tX]:String(n)}}catch(e){}}return i({...n,request:t})}}let tI={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},getContentLengthPlugin=e=>({applyToStack:i=>{i.add(contentLengthMiddleware(e.bodyLengthChecker),tI)}}),memoize=(e,i,n)=>{let t,a,r,o=!1,coalesceProvider=async()=>{a||(a=e());try{t=await a,r=!0,o=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),o||(n&&!n(t)?o=!0:i(t)&&await coalesceProvider()),t)};class tO extends Error{name="ProviderError";tryNextLink;constructor(e,i=!0){let n,t=!0;"boolean"==typeof i?(n=void 0,t=i):null!=i&&"object"==typeof i&&(n=i.logger,t=i.tryNextLink??!0),super(e),this.tryNextLink=t,Object.setPrototypeOf(this,tO.prototype),n?.debug?.(`@smithy/property-provider ${t?"->":"(!)"} ${e}`)}static from(e,i=!0){return Object.assign(new this(e.message,i),e)}}let chain_chain=(...e)=>async()=>{let i;if(0===e.length)throw new tO("No providers in chain");for(let n of e)try{return await n()}catch(e){if(i=e,e?.tryNextLink)continue;throw e}throw i};class tQ extends tO{name="CredentialsProviderError";constructor(e,i=!0){super(e,i),Object.setPrototypeOf(this,tQ.prototype)}}function getSelectorName(e){try{let i=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return i.delete("CONFIG"),i.delete("CONFIG_PREFIX_SEPARATOR"),i.delete("ENV"),[...i].join(", ")}catch(i){return e}}let tU="AWS_PROFILE",getProfileName=e=>e.profile||process.env[tU]||"default";($=es||(es={})).PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services";let getConfigData=e=>Object.entries(e).filter(([e])=>{let i=e.indexOf(".");return -1!==i&&Object.values(es).includes(e.substring(0,i))}).reduce((e,[i,n])=>{let t=i.indexOf(".");return e[i.substring(0,t)===es.PROFILE?i.substring(t+1):i]=n,e},{...e.default&&{default:e.default}}),tG={},getHomeDir=()=>{let{HOME:e,USERPROFILE:i,HOMEPATH:n,HOMEDRIVE:t=`C:${n1.sep}`}=process.env;if(e)return e;if(i)return i;if(n)return`${t}${n}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return tG[a]||(tG[a]=(0,n3.homedir)()),tG[a]},getConfigFilepath=()=>process.env.AWS_CONFIG_FILE||(0,n1.join)(getHomeDir(),".aws","config"),tq=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,t$=["__proto__","profile __proto__"],parseIni=e=>{let i,n,t={};for(let a of e.split(/\r?\n/)){let e=a.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){i=void 0,n=void 0;let t=e.substring(1,e.length-1),a=tq.exec(t);if(a){let[,e,,n]=a;Object.values(es).includes(e)&&(i=[e,n].join("."))}else i=t;if(t$.includes(t))throw Error(`Found invalid profile name "${t}"`)}else if(i){let r=e.indexOf("=");if(![0,-1].includes(r)){let[o,u]=[e.substring(0,r).trim(),e.substring(r+1).trim()];if(""===u)n=o;else{n&&a.trimStart()===a&&(n=void 0),t[i]=t[i]||{};let e=n?[n,o].join("."):o;t[i][e]=u}}}}return t},tK=E("node:fs/promises"),tz={},tW={},readFile=(e,i)=>void 0!==tW[e]?tW[e]:((!tz[e]||i?.ignoreCache)&&(tz[e]=(0,tK.readFile)(e,"utf8")),tz[e]),swallowError=()=>({}),loadSharedConfigFiles=async(e={})=>{let{filepath:i=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,n1.join)(getHomeDir(),".aws","credentials"),configFilepath:n=getConfigFilepath()}=e,t=getHomeDir(),a=i;i.startsWith("~/")&&(a=(0,n1.join)(t,i.slice(2)));let r=n;n.startsWith("~/")&&(r=(0,n1.join)(t,n.slice(2)));let o=await Promise.all([readFile(r,{ignoreCache:e.ignoreCache}).then(parseIni).then(getConfigData).catch(swallowError),readFile(a,{ignoreCache:e.ignoreCache}).then(parseIni).catch(swallowError)]);return{configFile:o[0],credentialsFile:o[1]}},loadConfig=({environmentVariableSelector:e,configFileSelector:i,default:n},t={})=>{let a,{signingName:r,logger:o}=t;return memoize(chain_chain((a={signingName:r,logger:o},async()=>{try{let i=e(process.env,a);if(void 0===i)throw Error();return i}catch(i){throw new tQ(i.message||`Not found in ENV: ${getSelectorName(e.toString())}`,{logger:a?.logger})}}),((e,{preferredFile:i="config",...n}={})=>async()=>{let t=getProfileName(n),{configFile:a,credentialsFile:r}=await loadSharedConfigFiles(n),o=r[t]||{},u=a[t]||{},s="config"===i?{...o,...u}:{...u,...o};try{let n="config"===i?a:r,t=e(s,n);if(void 0===t)throw Error();return t}catch(i){throw new tQ(i.message||`Not found in config files w/ profile [${t}]: ${getSelectorName(e.toString())}`,{logger:n.logger})}})(i,t),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(n)))},tj="AWS_ENDPOINT_URL",tV="endpoint_url",getEndpointFromConfig=async e=>{let i;return loadConfig((i=e??"",{environmentVariableSelector:e=>{let n=e[[tj,...i.split(" ").map(e=>e.toUpperCase())].join("_")];if(n)return n;let t=e[tj];if(t)return t},configFileSelector:(e,n)=>{if(n&&e.services){let t=n[["services",e.services].join(".")];if(t){let e=t[[i.split(" ").map(e=>e.toLowerCase()).join("_"),tV].join(".")];if(e)return e}}let t=e[tV];if(t)return t},default:void 0}))()};function parseQueryString(e){let i={};if(e=e.replace(/^\?/,""))for(let n of e.split("&")){let[e,t=null]=n.split("=");e=decodeURIComponent(e),t&&(t=decodeURIComponent(t)),e in i?Array.isArray(i[e])?i[e].push(t):i[e]=[i[e],t]:i[e]=t}return i}let dist_es_parseUrl=e=>{let i;if("string"==typeof e)return dist_es_parseUrl(new URL(e));let{hostname:n,pathname:t,port:a,protocol:r,search:o}=e;return o&&(i=parseQueryString(o)),{hostname:n,port:a?parseInt(a):void 0,protocol:r,path:t,query:i}},toEndpointV1_toEndpointV1=e=>"object"==typeof e?"url"in e?dist_es_parseUrl(e.url):e:dist_es_parseUrl(e),resolveEndpointConfig=e=>{let i,n=e.tls??!0,{endpoint:t,useDualstackEndpoint:a,useFipsEndpoint:r}=e,o=Object.assign(e,{endpoint:null!=t?async()=>toEndpointV1_toEndpointV1(await normalizeProvider(t)()):void 0,tls:n,isCustomEndpoint:!!t,useDualstackEndpoint:normalizeProvider(a??!1),useFipsEndpoint:normalizeProvider(r??!1)});return o.serviceConfiguredEndpoint=async()=>(e.serviceId&&!i&&(i=getEndpointFromConfig(e.serviceId)),i),o};(K=el||(el={})).STANDARD="standard",K.ADAPTIVE="adaptive";let t0=el.STANDARD,t1=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],t3=["TimeoutError","RequestTimeout","RequestTimeoutException"],t2=[500,502,503,504],t4=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],t8=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],isThrottlingError=e=>e.$metadata?.httpStatusCode===429||t1.includes(e.name)||e.$retryable?.throttling==!0,isTransientError=(e,i=0)=>{let n;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||t3.includes(e.name)||t4.includes(e?.code||"")||t8.includes(e?.code||"")||t2.includes(e.$metadata?.httpStatusCode||0)||(n=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]),!!(e&&e instanceof TypeError)&&n.has(e.message))||void 0!==e.cause&&i<=10&&isTransientError(e.cause,i+1)};class t6{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;currentCapacity=0;enabled=!1;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8;let i=this.getCurrentTimeInSeconds();this.lastThrottleTime=i,this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(e){if(this.enabled){if(this.refillTokenBucket(),e>this.currentCapacity){let i=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>t6.setTimeoutFn(e,i))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let i=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+i),this.lastTimestamp=e}updateClientSendingRate(e){let i;if(this.updateMeasuredRate(),isThrottlingError(e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),i=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),i=this.cubicSuccess(this.getCurrentTimeInSeconds());let n=Math.min(i,2*this.measuredTxRate);this.updateTokenBucketRate(n)}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){let e=Math.floor(2*this.getCurrentTimeInSeconds())/2;if(this.requestCount++,e>this.lastTxRateBucket){let i=this.requestCount/(e-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(i*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=e}}getPrecise(e){return parseFloat(e.toFixed(8))}}let createDefaultRetryToken=({retryDelay:e,retryCount:i,retryCost:n})=>({getRetryCount:()=>i,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>n});class t5{maxAttempts;mode=el.STANDARD;capacity=500;retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:i=>Math.floor(Math.min(2e4,Math.random()*2**i*e)),setDelayBase:i=>{e=i}}})();maxAttemptsProvider;constructor(e){this.maxAttempts=e,this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return createDefaultRetryToken({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,i){let n=await this.getMaxAttempts();if(this.shouldRetry(e,i,n)){let n=i.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===n?500:100);let t=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=i.retryAfterHint?Math.max(i.retryAfterHint.getTime()-Date.now()||0,t):t,r=this.getCapacityCost(n);return this.capacity-=r,createDefaultRetryToken({retryDelay:a,retryCount:e.getRetryCount()+1,retryCost:r})}throw Error("No retry token available")}recordSuccess(e){this.capacity=Math.max(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){return console.warn("Max attempts provider could not resolve. Using default of 3"),3}}shouldRetry(e,i,n){return e.getRetryCount()+1<n&&this.capacity>=this.getCapacityCost(i.errorType)&&this.isRetryableError(i.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class t7{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=el.ADAPTIVE;constructor(e,i){this.maxAttemptsProvider=e;let{rateLimiter:n}=i??{};this.rateLimiter=n??new t6,this.standardRetryStrategy=new t5(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,i){return this.rateLimiter.updateClientSendingRate(i),this.standardRetryStrategy.refreshRetryTokenForRetry(e,i)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}let t9="AWS_MAX_ATTEMPTS",ae="max_attempts",ai={environmentVariableSelector:e=>{let i=e[t9];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Environment variable ${t9} mast be a number, got "${i}"`);return n},configFileSelector:e=>{let i=e[ae];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Shared config file entry ${ae} mast be a number, got "${i}"`);return n},default:3},resolveRetryConfig=e=>{let{retryStrategy:i,retryMode:n,maxAttempts:t}=e,a=normalizeProvider(t??3);return Object.assign(e,{maxAttempts:a,retryStrategy:async()=>i||(await normalizeProvider(n)()===el.ADAPTIVE?new t7(a):new t5(a))})},an={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:t0};class at{trace(){}debug(){}info(){}warn(){}error(){}}let aa=E("crypto"),ar=aa.default.randomUUID.bind(aa.default),ao=Array.from({length:256},(e,i)=>i.toString(16).padStart(2,"0")),v4=()=>{if(ar)return ar();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,ao[e[0]]+ao[e[1]]+ao[e[2]]+ao[e[3]]+"-"+ao[e[4]]+ao[e[5]]+"-"+ao[e[6]]+ao[e[7]]+"-"+ao[e[8]]+ao[e[9]]+"-"+ao[e[10]]+ao[e[11]]+ao[e[12]]+ao[e[13]]+ao[e[14]]+ao[e[15]]},au=E("stream"),isStreamingPayload=e=>e?.body instanceof au.Readable||"u">typeof ReadableStream&&e?.body instanceof ReadableStream,asSdkError=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):"string"==typeof e?Error(e):Error(`AWS SDK error wrapper for ${e}`),getRetryErrorInfo=e=>{let i={error:e,errorType:getRetryErrorType(e)},n=getRetryAfterHint(e.$response);return n&&(i.retryAfterHint=n),i},getRetryErrorType=e=>isThrottlingError(e)?"THROTTLING":isTransientError(e)?"TRANSIENT":(e=>{if(e.$metadata?.httpStatusCode!==void 0){let i=e.$metadata.httpStatusCode;if(500<=i&&i<=599&&!isTransientError(e))return!0}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",as={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},getRetryPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let a,r=await e.retryStrategy(),o=await e.maxAttempts();if(void 0===(a=r).acquireInitialRetryToken||void 0===a.refreshRetryTokenForRetry||void 0===a.recordSuccess)return r?.mode&&(n.userAgent=[...n.userAgent||[],["cfg/retry-mode",r.mode]]),r.retry(i,t);{let e=await r.acquireInitialRetryToken(n.partition_id),a=Error(),u=0,s=0,{request:l}=t,h=n4.isInstance(l);for(h&&(l.headers["amz-sdk-invocation-id"]=v4());;)try{h&&(l.headers["amz-sdk-request"]=`attempt=${u+1}; max=${o}`);let{response:n,output:a}=await i(t);return r.recordSuccess(e),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,{response:n,output:a}}catch(o){let i=getRetryErrorInfo(o);if(a=asSdkError(o),h&&isStreamingPayload(l))throw(n.logger instanceof at?console:n.logger)?.warn("An error was encountered in a non-retryable streaming request."),a;try{e=await r.refreshRetryTokenForRetry(e,i)}catch(e){throw a.$metadata||(a.$metadata={}),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,a}u=e.getRetryCount();let t=e.getRetryDelay();s+=t,await new Promise(e=>setTimeout(e,t))}}},as)}}),getRetryAfterHint=e=>{if(!tB.isInstance(e))return;let i=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!i)return;let n=e.headers[i],t=Number(n);return new Date(Number.isNaN(t)?n:1e3*t)},getAllAliases=(e,i)=>{let n=[];if(e&&n.push(e),i)for(let e of i)n.push(e);return n},getMiddlewareNameWithAliases=(e,i)=>`${e||"anonymous"}${i&&i.length>0?` (a.k.a. ${i.join(",")})`:""}`,constructStack=()=>{let e=[],i=[],n=!1,t=new Set,cloneTo=n=>(e.forEach(e=>{n.add(e.middleware,{...e})}),i.forEach(e=>{n.addRelativeTo(e.middleware,{...e})}),n.identifyOnResolve?.(a.identifyOnResolve()),n),expandRelativeMiddlewareList=e=>{let i=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i},getMiddlewareList=(n=!1)=>{let t=[],a=[],r={};return e.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;t.push(i)}),i.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;a.push(i)}),a.forEach(e=>{if(e.toMiddleware){let i=r[e.toMiddleware];if(void 0===i){if(n)return;throw Error(`${e.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&i.after.push(e),"before"===e.relation&&i.before.push(e)}}),t.sort((e,i)=>al[i.step]-al[e.step]||ah[i.priority||"normal"]-ah[e.priority||"normal"]).map(expandRelativeMiddlewareList).reduce((e,i)=>(e.push(...i),e),[])},a={add:(i,n={})=>{let{name:a,override:r,aliases:o}=n,u={step:"initialize",priority:"normal",middleware:i,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let i of s){let n=e.findIndex(e=>e.name===i||e.aliases?.some(e=>e===i));if(-1===n)continue;let t=e[n];if(t.step!==u.step||u.priority!==t.priority)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware with ${t.priority} priority in ${t.step} step cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware with ${u.priority} priority in ${u.step} step.`);e.splice(n,1)}}for(let e of s)t.add(e)}e.push(u)},addRelativeTo:(e,n)=>{let{name:a,override:r,aliases:o}=n,u={middleware:e,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let e of s){let n=i.findIndex(i=>i.name===e||i.aliases?.some(i=>i===e));if(-1===n)continue;let t=i[n];if(t.toMiddleware!==u.toMiddleware||t.relation!==u.relation)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware ${t.relation} "${t.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware ${u.relation} "${u.toMiddleware}" middleware.`);i.splice(n,1)}}for(let e of s)t.add(e)}i.push(u)},clone:()=>cloneTo(constructStack()),use:e=>{e.applyToStack(a)},remove:n=>{let a,r;if("string"==typeof n){let a,r;return a=!1,r=e=>{let i=getAllAliases(e.name,e.aliases);if(i.includes(n)){for(let e of(a=!0,i))t.delete(e);return!1}return!0},e=e.filter(r),i=i.filter(r),a}return a=!1,r=e=>{if(e.middleware===n){for(let i of(a=!0,getAllAliases(e.name,e.aliases)))t.delete(i);return!1}return!0},e=e.filter(r),i=i.filter(r),a},removeByTag:n=>{let a=!1,filterCb=e=>{let{tags:i,name:r,aliases:o}=e;if(i&&i.includes(n)){for(let e of getAllAliases(r,o))t.delete(e);return a=!0,!1}return!0};return e=e.filter(filterCb),i=i.filter(filterCb),a},concat:e=>{let i=cloneTo(constructStack());return i.use(e),i.identifyOnResolve(n||i.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),i},applyToStack:cloneTo,identify:()=>getMiddlewareList(!0).map(e=>{let i=e.step??e.relation+" "+e.toMiddleware;return getMiddlewareNameWithAliases(e.name,e.aliases)+" - "+i}),identifyOnResolve:e=>("boolean"==typeof e&&(n=e),n),resolve:(e,i)=>{for(let n of getMiddlewareList().map(e=>e.middleware).reverse())e=n(e,i);return n&&console.log(a.identify()),e}};return a},al={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},ah={high:3,normal:2,low:1};class ag{config;middlewareStack=constructStack();initConfig;handlers;constructor(e){this.config=e;let{protocol:i,protocolSettings:n}=e;n&&"function"==typeof i&&(e.protocol=new i(n))}send(e,i,n){let t,a="function"!=typeof i?i:void 0,r="function"==typeof i?i:n;if(void 0===a&&!0===this.config.cacheMiddleware){this.handlers||(this.handlers=new WeakMap);let i=this.handlers;i.has(e.constructor)?t=i.get(e.constructor):(t=e.resolveMiddleware(this.middlewareStack,this.config,a),i.set(e.constructor,t))}else delete this.handlers,t=e.resolveMiddleware(this.middlewareStack,this.config,a);if(!r)return t(e).then(e=>e.output);t(e).then(e=>r(null,e.output),e=>r(e)).catch(()=>{})}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}function setCredentialFeature(e,i,n){return e.$source||(e.$source={}),e.$source[i]=n,e}let memoizeIdentityProvider_isIdentityExpired=function(e){return doesIdentityRequireRefresh(e)&&e.expiration.getTime()-Date.now()<3e5},doesIdentityRequireRefresh=e=>void 0!==e.expiration,ac={},ad={};for(let e=0;e<256;e++){let i=e.toString(16).toLowerCase();1===i.length&&(i=`0${i}`),ac[e]=i,ad[i]=e}function fromHex(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let i=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2){let t=e.slice(n,n+2).toLowerCase();if(t in ad)i[n/2]=ad[t];else throw Error(`Cannot decode unrecognized sequence ${t} as hexadecimal`)}return i}function toHex(e){let i="";for(let n=0;n<e.byteLength;n++)i+=ac[e[n]];return i}let dist_es_isArrayBuffer=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),ap=E("buffer"),dist_es_fromArrayBuffer=(e,i=0,n=e.byteLength-i)=>{if(!dist_es_isArrayBuffer(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return ap.Buffer.from(e,i,n)},fromString=(e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?ap.Buffer.from(e,i):ap.Buffer.from(e)},fromUtf8_fromUtf8=e=>{let i=fromString(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)},toUint8Array=e=>"string"==typeof e?fromUtf8_fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),af="X-Amz-Date",am="X-Amz-Signature",ay="X-Amz-Security-Token",aS="authorization",ab=af.toLowerCase(),aC=[aS,ab,"date"],aw=am.toLowerCase(),aT="x-amz-content-sha256",ax=ay.toLowerCase(),aL={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},aE=/^proxy-/,a_=/^sec-/,aY="AWS4-HMAC-SHA256",aD="aws4_request",av={},aA=[],createScope=(e,i,n)=>`${e}/${i}/${n}/${aD}`,getSigningKey=async(e,i,n,t,a)=>{let r=await hmac(e,i.secretAccessKey,i.accessKeyId),o=`${n}:${t}:${a}:${toHex(r)}:${i.sessionToken}`;if(o in av)return av[o];for(aA.push(o);aA.length>50;)delete av[aA.shift()];let u=`AWS4${i.secretAccessKey}`;for(let i of[n,t,a,aD])u=await hmac(e,u,i);return av[o]=u},hmac=(e,i,n)=>{let t=new e(i);return t.update(toUint8Array(n)),t.digest()},getCanonicalHeaders=({headers:e},i,n)=>{let t={};for(let a of Object.keys(e).sort()){if(void 0==e[a])continue;let r=a.toLowerCase();(!(r in aL||i?.has(r)||aE.test(r)||a_.test(r))||n&&(!n||n.has(r)))&&(t[r]=e[a].trim().replace(/\s+/g," "))}return t},getPayloadHash=async({headers:e,body:i},n)=>{for(let i of Object.keys(e))if(i.toLowerCase()===aT)return e[i];if(void 0==i)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof i||ArrayBuffer.isView(i)||dist_es_isArrayBuffer(i)){let e=new n;return e.update(toUint8Array(i)),toHex(await e.digest())}return"UNSIGNED-PAYLOAD"};class aN{format(e){let i=[];for(let n of Object.keys(e)){let t=fromUtf8_fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=fromUtf8_fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(aZ.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!aP.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}}(z=eh||(eh={}))[z.boolTrue=0]="boolTrue",z[z.boolFalse=1]="boolFalse",z[z.byte=2]="byte",z[z.short=3]="short",z[z.integer=4]="integer",z[z.long=5]="long",z[z.byteArray=6]="byteArray",z[z.string=7]="string",z[z.timestamp=8]="timestamp",z[z.uuid=9]="uuid";let aP=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class aZ{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&negate(i),new aZ(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}let prepareRequest=e=>{for(let i of Object.keys((e=n4.clone(e)).headers))aC.indexOf(i.toLowerCase())>-1&&delete e.headers[i];return e},escapeUri=e=>encodeURIComponent(e).replace(/[!'()*]/g,hexEncode),hexEncode=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;class aR{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){this.service=t,this.sha256=a,this.uriEscapePath=r,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=normalizeProvider(n),this.credentialProvider=normalizeProvider(i)}createCanonicalRequest(e,i,n){let t=Object.keys(i).sort();return`${e.method}
44
+ ${e}`);t&&e&&console.log(e),t&&console.log("✅ Database migration completed successfully")}finally{n3.existsSync(s)&&n3.unlinkSync(s)}}class n6{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let i=new n6({...e,headers:{...e.headers}});return i.query&&(i.query=cloneQuery(i.query)),i}static isInstance(e){return!!e&&"method"in e&&"protocol"in e&&"hostname"in e&&"path"in e&&"object"==typeof e.query&&"object"==typeof e.headers}clone(){return n6.clone(this)}}function cloneQuery(e){return Object.keys(e).reduce((i,n)=>{let t=e[n];return{...i,[n]:Array.isArray(t)?[...t]:t}},{})}function addExpectContinueMiddleware(e){return i=>async n=>{let{request:t}=n;if(!1!==e.expectContinueHeader&&n6.isInstance(t)&&t.body&&"node"===e.runtime&&e.requestHandler?.constructor?.name!=="FetchHttpHandler"){let i=!0;if("number"==typeof e.expectContinueHeader)try{i=(Number(t.headers?.["content-length"])??e.bodyLengthChecker?.(t.body)??1/0)>=e.expectContinueHeader}catch(e){}else i=!!e.expectContinueHeader;i&&(t.headers.Expect="100-continue")}return i({...n,request:t})}}let n5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},n7={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},n9=n7.WHEN_SUPPORTED,te={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},ti=n7.WHEN_SUPPORTED;(Q=ea||(ea={})).MD5="MD5",Q.CRC32="CRC32",Q.CRC32C="CRC32C",Q.CRC64NVME="CRC64NVME",Q.SHA1="SHA1",Q.SHA256="SHA256",(U=er||(er={})).HEADER="header",U.TRAILER="trailer";let tn=ea.CRC32;function resolveHostHeaderConfig(e){return e}let tt={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},getHostHeaderPlugin=e=>({applyToStack:i=>{i.add(i=>async n=>{if(!n6.isInstance(n.request))return i(n);let{request:t}=n,{handlerProtocol:a=""}=e.requestHandler.metadata||{};if(a.indexOf("h2")>=0&&!t.headers[":authority"])delete t.headers.host,t.headers[":authority"]=t.hostname+(t.port?":"+t.port:"");else if(!t.headers.host){let e=t.hostname;null!=t.port&&(e+=`:${t.port}`),t.headers.host=e}return i(n)},tt)}}),ta={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},getLoggerPlugin=e=>({applyToStack:e=>{e.add((e,i)=>async n=>{try{let t=await e(n),{clientName:a,commandName:r,logger:o,dynamoDbDocumentClientOptions:u={}}=i,{overrideInputFilterSensitiveLog:s,overrideOutputFilterSensitiveLog:l}=u,h=s??i.inputFilterSensitiveLog,g=l??i.outputFilterSensitiveLog,{$metadata:c,...d}=t.output;return o?.info?.({clientName:a,commandName:r,input:h(n.input),output:g(d),metadata:c}),t}catch(s){let{clientName:e,commandName:t,logger:a,dynamoDbDocumentClientOptions:r={}}=i,{overrideInputFilterSensitiveLog:o}=r,u=o??i.inputFilterSensitiveLog;throw a?.error?.({clientName:e,commandName:t,input:u(n.input),error:s,metadata:s.$metadata}),s}},ta)}}),tr={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},to={REQUEST_ID:Symbol.for("_AWS_LAMBDA_REQUEST_ID"),X_RAY_TRACE_ID:Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),TENANT_ID:Symbol.for("_AWS_LAMBDA_TENANT_ID")},tu=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");tu||(globalThis.awslambda=globalThis.awslambda||{});class ts{static PROTECTED_KEYS=to;isProtectedKey(e){return Object.values(to).includes(e)}getRequestId(){return this.get(to.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(to.X_RAY_TRACE_ID)}getTenantId(){return this.get(to.TENANT_ID)}}class tl extends ts{currentContext;getContext(){return this.currentContext}hasContext(){return void 0!==this.currentContext}get(e){return this.currentContext?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);this.currentContext=this.currentContext||{},this.currentContext[e]=i}run(e,i){return this.currentContext=e,i()}}class th extends ts{als;static async create(){let e=new th;return e.als=new(await import("node:async_hooks")).AsyncLocalStorage,e}getContext(){return this.als.getStore()}hasContext(){return void 0!==this.als.getStore()}get(e){return this.als.getStore()?.[e]}set(e,i){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);let n=this.als.getStore();if(!n)throw Error("No context available");n[e]=i}run(e,i){return this.als.run(e,i)}}G=eo||(eo={}),c=null,G.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await th.create():new tl;return!tu&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!tu&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},G._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let tg="X-Amzn-Trace-Id",getRecursionDetectionPlugin=e=>({applyToStack:e=>{e.add(e=>async i=>{let{request:n}=i;if(!n6.isInstance(n))return e(i);let t=Object.keys(n.headers??{}).find(e=>e.toLowerCase()===tg.toLowerCase())??tg;if(n.headers.hasOwnProperty(t))return e(i);let a=process.env.AWS_LAMBDA_FUNCTION_NAME,r=process.env._X_AMZN_TRACE_ID,o=await eo.getInstanceAsync(),u=o?.getXRayTraceId()??r,nonEmptyString=e=>"string"==typeof e&&e.length>0;return nonEmptyString(a)&&nonEmptyString(u)&&(n.headers[tg]=u),e({...i,request:n})},tr)}});class tc{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let i=this.data[e];if(i)return i}set(e,i){return this.data[e]=i,i}delete(e){delete this.data[e]}async purgeExpired(){let e=Date.now();if(!(this.lastPurgeTime+tc.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>e))for(let i in this.data){let n=this.data[i];if(!n.isRefreshing){let t=await n.identity;t.expiration&&t.expiration.getTime()<e&&delete this.data[i]}}}}class td{_identity;isRefreshing;accessed;constructor(e,i=!1,n=Date.now()){this._identity=e,this.isRefreshing=i,this.accessed=n}get identity(){return this.accessed=Date.now(),this._identity}}class tp{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,i=new tc){this.createSessionFn=e,this.cache=i}async getS3ExpressIdentity(e,i){let n=i.Bucket,{cache:t}=this,a=t.get(n);return a?a.identity.then(e=>(e.expiration?.getTime()??0)<Date.now()?t.set(n,new td(this.getIdentity(n))).identity:((e.expiration?.getTime()??0)<Date.now()+tp.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(n).then(e=>{t.set(n,new td(Promise.resolve(e)))})),e)):t.set(n,new td(this.getIdentity(n))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+e)});let i=await this.createSessionFn(e);if(!i.Credentials?.AccessKeyId||!i.Credentials?.SecretAccessKey)throw Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:i.Credentials.AccessKeyId,secretAccessKey:i.Credentials.SecretAccessKey,sessionToken:i.Credentials.SessionToken,expiration:i.Credentials.Expiration?new Date(i.Credentials.Expiration):void 0}}}function bucketEndpointMiddleware(e){return(i,n)=>async t=>{if(e.bucketEndpoint){let e=n.endpointV2;if(e){let i=t.input.Bucket;if("string"==typeof i)try{let t=new URL(i);n.endpointV2={...e,url:t}}catch(t){let e=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${i} could not be parsed as URL.`;throw n.logger?.constructor?.name==="NoOpLogger"?console.warn(e):n.logger?.warn?.(e),t}}}return i(t)}}let tf={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function validateBucketNameMiddleware({bucketEndpoint:e}){return i=>async n=>{let{input:{Bucket:t}}=n;if(!e&&"string"==typeof t&&!("string"==typeof t&&0===t.indexOf("arn:")&&t.split(":").length>=6)&&t.indexOf("/")>=0){let e=Error(`Bucket name shouldn't contain '/', received '${t}'`);throw e.name="InvalidBucketName",e}return i({...n})}}let tm={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},ty={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function regionRedirectMiddleware(e){return(i,n)=>async t=>{try{return await i(t)}catch(a){if(e.followRegionRedirects){let r=a?.$metadata?.httpStatusCode,o="HeadBucketCommand"===n.commandName,u=a?.$response?.headers?.["x-amz-bucket-region"];if(u&&(301===r||400===r&&(a?.name==="IllegalLocationConstraintException"||o))){try{n.logger?.debug(`Redirecting from ${await e.region()} to ${u}`),n.__s3RegionRedirect=u}catch(e){throw Error("Region redirect failed: "+e)}return i(t)}}throw a}}}let tS={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0};function setFeature(e,i,n){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[i]=n}let booleanSelector=(e,i,n)=>{if(i in e){if("true"===e[i])return!0;if("false"===e[i])return!1;throw Error(`Cannot load ${n} "${i}". Expected "true" or "false", got ${e[i]}.`)}};(q=eu||(eu={})).ENV="env",q.CONFIG="shared config entry";let tb="X-Amz-S3session-Token",tC=tb.toLowerCase(),tw={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_disable_express_session_auth",eu.CONFIG),default:!1},tT={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},tx="__smithy_context",getSmithyContext=e=>e[tx]||(e[tx]={}),tL={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},getHttpSigningPlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{if(!n6.isInstance(n.request))return e(n);let t=getSmithyContext(i).selectedHttpAuthScheme;if(!t)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:r,signer:o}=t,u=await e({...n,request:await o.sign(n.request,r,a)}).catch((o.errorHandler||(e=>e=>{throw e}))(a));return(o.successHandler||((e,i)=>{}))(u.response,a),u},tL)}}),signS3Express=async(e,i,n,t)=>{let a=await t.signWithCredentials(n,e,{});if(a.headers["X-Amz-Security-Token"]||a.headers["x-amz-security-token"])throw Error("X-Amz-Security-Token must not be set for s3-express requests.");return a},normalizeProvider_normalizeProvider=e=>{if("function"==typeof e)return e;let i=Promise.resolve(e);return()=>i},tE;function isValidUserAgentAppId(e){return void 0===e||"string"==typeof e&&e.length<=50}function resolveUserAgentConfig(e){let i=normalizeProvider_normalizeProvider(e.userAgentAppId??tE),{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:"string"==typeof n?[[n]]:n,userAgentAppId:async()=>{let n=await i();if(!isValidUserAgentAppId(n)){let i=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof n?i?.warn("userAgentAppId must be a string or undefined."):n.length>50&&i?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return n}})}let t_={},tY=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),isValidHostLabel=(e,i=!1)=>{if(!i)return tY.test(e);for(let i of e.split("."))if(!isValidHostLabel(i))return!1;return!0},tD=RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),isIpAddress=e=>tD.test(e)||e.startsWith("[")&&e.endsWith("]"),isVirtualHostableS3Bucket=(e,i=!1)=>{if(i){for(let i of e.split("."))if(!isVirtualHostableS3Bucket(i))return!1;return!0}return!(!isValidHostLabel(e)||e.length<3||e.length>63||e!==e.toLowerCase()||isIpAddress(e))};var tv=JSON.parse('{"partitions":[{"id":"aws","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-east-1","name":"aws","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"af-south-1":{"description":"Africa (Cape Town)"},"ap-east-1":{"description":"Asia Pacific (Hong Kong)"},"ap-east-2":{"description":"Asia Pacific (Taipei)"},"ap-northeast-1":{"description":"Asia Pacific (Tokyo)"},"ap-northeast-2":{"description":"Asia Pacific (Seoul)"},"ap-northeast-3":{"description":"Asia Pacific (Osaka)"},"ap-south-1":{"description":"Asia Pacific (Mumbai)"},"ap-south-2":{"description":"Asia Pacific (Hyderabad)"},"ap-southeast-1":{"description":"Asia Pacific (Singapore)"},"ap-southeast-2":{"description":"Asia Pacific (Sydney)"},"ap-southeast-3":{"description":"Asia Pacific (Jakarta)"},"ap-southeast-4":{"description":"Asia Pacific (Melbourne)"},"ap-southeast-5":{"description":"Asia Pacific (Malaysia)"},"ap-southeast-6":{"description":"Asia Pacific (New Zealand)"},"ap-southeast-7":{"description":"Asia Pacific (Thailand)"},"aws-global":{"description":"aws global region"},"ca-central-1":{"description":"Canada (Central)"},"ca-west-1":{"description":"Canada West (Calgary)"},"eu-central-1":{"description":"Europe (Frankfurt)"},"eu-central-2":{"description":"Europe (Zurich)"},"eu-north-1":{"description":"Europe (Stockholm)"},"eu-south-1":{"description":"Europe (Milan)"},"eu-south-2":{"description":"Europe (Spain)"},"eu-west-1":{"description":"Europe (Ireland)"},"eu-west-2":{"description":"Europe (London)"},"eu-west-3":{"description":"Europe (Paris)"},"il-central-1":{"description":"Israel (Tel Aviv)"},"me-central-1":{"description":"Middle East (UAE)"},"me-south-1":{"description":"Middle East (Bahrain)"},"mx-central-1":{"description":"Mexico (Central)"},"sa-east-1":{"description":"South America (Sao Paulo)"},"us-east-1":{"description":"US East (N. Virginia)"},"us-east-2":{"description":"US East (Ohio)"},"us-west-1":{"description":"US West (N. California)"},"us-west-2":{"description":"US West (Oregon)"}}},{"id":"aws-cn","outputs":{"dnsSuffix":"amazonaws.com.cn","dualStackDnsSuffix":"api.amazonwebservices.com.cn","implicitGlobalRegion":"cn-northwest-1","name":"aws-cn","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^cn\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-cn-global":{"description":"aws-cn global region"},"cn-north-1":{"description":"China (Beijing)"},"cn-northwest-1":{"description":"China (Ningxia)"}}},{"id":"aws-eusc","outputs":{"dnsSuffix":"amazonaws.eu","dualStackDnsSuffix":"api.amazonwebservices.eu","implicitGlobalRegion":"eusc-de-east-1","name":"aws-eusc","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"eusc-de-east-1":{"description":"EU (Germany)"}}},{"id":"aws-iso","outputs":{"dnsSuffix":"c2s.ic.gov","dualStackDnsSuffix":"api.aws.ic.gov","implicitGlobalRegion":"us-iso-east-1","name":"aws-iso","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-global":{"description":"aws-iso global region"},"us-iso-east-1":{"description":"US ISO East"},"us-iso-west-1":{"description":"US ISO WEST"}}},{"id":"aws-iso-b","outputs":{"dnsSuffix":"sc2s.sgov.gov","dualStackDnsSuffix":"api.aws.scloud","implicitGlobalRegion":"us-isob-east-1","name":"aws-iso-b","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-b-global":{"description":"aws-iso-b global region"},"us-isob-east-1":{"description":"US ISOB East (Ohio)"},"us-isob-west-1":{"description":"US ISOB West"}}},{"id":"aws-iso-e","outputs":{"dnsSuffix":"cloud.adc-e.uk","dualStackDnsSuffix":"api.cloud-aws.adc-e.uk","implicitGlobalRegion":"eu-isoe-west-1","name":"aws-iso-e","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-e-global":{"description":"aws-iso-e global region"},"eu-isoe-west-1":{"description":"EU ISOE West"}}},{"id":"aws-iso-f","outputs":{"dnsSuffix":"csp.hci.ic.gov","dualStackDnsSuffix":"api.aws.hci.ic.gov","implicitGlobalRegion":"us-isof-south-1","name":"aws-iso-f","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-f-global":{"description":"aws-iso-f global region"},"us-isof-east-1":{"description":"US ISOF EAST"},"us-isof-south-1":{"description":"US ISOF SOUTH"}}},{"id":"aws-us-gov","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","implicitGlobalRegion":"us-gov-west-1","name":"aws-us-gov","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-us-gov-global":{"description":"aws-us-gov global region"},"us-gov-east-1":{"description":"AWS GovCloud (US-East)"},"us-gov-west-1":{"description":"AWS GovCloud (US-West)"}}}],"version":"1.1"}');let tA={isVirtualHostableS3Bucket:isVirtualHostableS3Bucket,parseArn:e=>{let i=e.split(":");if(i.length<6)return null;let[n,t,a,r,o,...u]=i;return"arn"!==n||""===t||""===a||""===u.join(":")?null:{partition:t,service:a,region:r,accountId:o,resourceId:u.map(e=>e.split("/")).flat()}},partition:e=>{let{partitions:i}=tv;for(let n of i){let{regions:i,outputs:t}=n;for(let[n,a]of Object.entries(i))if(n===e)return{...t,...a}}for(let n of i){let{regionRegex:i,outputs:t}=n;if(new RegExp(i).test(e))return{...t}}let n=i.find(e=>"aws"===e.id);if(!n)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...n.outputs}}};t_.aws=tA;let tN=/\d{12}\.ddb/;async function checkFeatures(e,i,n){let t=n.request;if(t?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&setFeature(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof i.retryStrategy){let n=await i.retryStrategy();"function"==typeof n.acquireInitialRetryToken?n.constructor?.name?.includes("Adaptive")?setFeature(e,"RETRY_MODE_ADAPTIVE","F"):setFeature(e,"RETRY_MODE_STANDARD","E"):setFeature(e,"RETRY_MODE_LEGACY","D")}if("function"==typeof i.accountIdEndpointMode){let n=e.endpointV2;switch(String(n?.url?.hostname).match(tN)&&setFeature(e,"ACCOUNT_ID_ENDPOINT","O"),await i.accountIdEndpointMode?.()){case"disabled":setFeature(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":setFeature(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":setFeature(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source)for(let[i,n]of(a.accountId&&setFeature(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(a.$source??{})))setFeature(e,i,n)}let tP="user-agent",tZ="x-amz-user-agent",tR=/[^!$%&'*+\-.^_`|~\w]/g,tM=/[^!$%&'*+\-.^_`|~\w#]/g;function encodeFeatures(e){let i="";for(let n in e){let t=e[n];if(i.length+t.length+1<=1024){i.length?i+=","+t:i+=t;continue}break}return i}let escapeUserAgent=e=>{let i=e[0].split("/").map(e=>e.replace(tR,"-")).join("/"),n=e[1]?.replace(tM,"-"),t=i.indexOf("/"),a=i.substring(0,t),r=i.substring(t+1);return"api"===a&&(r=r.toLowerCase()),[a,r,n].filter(e=>e&&e.length>0).reduce((e,i,n)=>{switch(n){case 0:return i;case 1:return`${e}/${i}`;default:return`${e}#${i}`}},"")},tJ={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},getUserAgentPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let{request:a}=t;if(!n6.isInstance(a))return i(t);let{headers:r}=a,o=n?.userAgent?.map(escapeUserAgent)||[],u=(await e.defaultUserAgentProvider()).map(escapeUserAgent);await checkFeatures(n,e,t),u.push(`m/${encodeFeatures(Object.assign({},n.__smithy_context?.features,n.__aws_sdk_context?.features))}`);let s=e?.customUserAgent?.map(escapeUserAgent)||[],l=await e.userAgentAppId();l&&u.push(escapeUserAgent(["app",`${l}`]));let h=[].concat([...u,...o,...s]).join(" "),g=[...u.filter(e=>e.startsWith("aws-sdk-")),...s].join(" ");return"browser"!==e.runtime?(g&&(r[tZ]=r[tZ]?`${r[tP]} ${g}`:g),r[tP]=h):r[tZ]=h,i({...t,request:a})},tJ)}}),tk=new Set,isFipsRegion=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),resolveRegionConfig=e=>{let{region:i,useFipsEndpoint:n}=e;if(!i)throw Error("Region is missing");return Object.assign(e,{region:async()=>{let e,n=isFipsRegion(e="function"==typeof i?await i():i)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;return((e,i=isValidHostLabel)=>{if(tk.has(e)||i(e))tk.add(e);else if("*"===e)console.warn('@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.');else throw Error(`Region not accepted: region="${e}" is not a valid hostname component.`)})(n),n},useFipsEndpoint:async()=>!!isFipsRegion("string"==typeof i?i:await i())||("function"!=typeof n?Promise.resolve(!!n):n())})};function convertHttpAuthSchemesToMap(e){let i=new Map;for(let n of e)i.set(n.schemeId,n);return i}let tB={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},getHttpAuthSchemeEndpointRuleSetPlugin=(e,{httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n})=>({applyToStack:t=>{let a;t.addRelativeTo((a={httpAuthSchemeParametersProvider:i,identityProviderConfigProvider:n},(i,n)=>async t=>{let r=((e,i)=>{if(!i||0===i.length)return e;let n=[];for(let t of i)for(let i of e)i.schemeId.split("#")[1]===t&&n.push(i);for(let i of e)n.find(({schemeId:e})=>e===i.schemeId)||n.push(i);return n})(e.httpAuthSchemeProvider(await a.httpAuthSchemeParametersProvider(e,n,t.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=convertHttpAuthSchemesToMap(e.httpAuthSchemes),u=getSmithyContext(n),s=[];for(let i of r){let t=o.get(i.schemeId);if(!t){s.push(`HttpAuthScheme \`${i.schemeId}\` was not enabled for this service.`);continue}let r=t.identityProvider(await a.identityProviderConfigProvider(e));if(!r){s.push(`HttpAuthScheme \`${i.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:h={}}=i.propertiesExtractor?.(e,n)||{};i.identityProperties=Object.assign(i.identityProperties||{},l),i.signingProperties=Object.assign(i.signingProperties||{},h),u.selectedHttpAuthScheme={httpAuthOption:i,identity:await r(i.identityProperties),signer:t.signer};break}if(!u.selectedHttpAuthScheme)throw Error(s.join("\n"));return i(t)}),tB)}});class tH{authSchemes=new Map;constructor(e){for(let[i,n]of Object.entries(e))void 0!==n&&this.authSchemes.set(i,n)}getIdentityProvider(e){return this.authSchemes.get(e)}}class tF{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){return!!e&&"number"==typeof e.statusCode&&"object"==typeof e.headers}}let operation_operation=(e,i,n,t,a)=>({name:i,namespace:e,traits:n,input:t,output:a}),findHeader=(e,i)=>(i.find(([i])=>i.match(e))||[void 0,void 0])[1],tX={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},tI={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function getSchemaSerdePlugin(e){return{applyToStack:i=>{i.add((i,n)=>async t=>{let{operationSchema:a}=getSmithyContext(n),[,r,o,u,s,l]=a??[],h=n.endpointV2?.url&&e.urlParser?async()=>e.urlParser(n.endpointV2.url):e.endpoint,g=await e.protocol.serializeRequest(operation_operation(r,o,u,s,l),t.input,{...e,...n,endpoint:h});return i({...t,request:g})},tI),i.add((i,n)=>async t=>{let{response:a}=await i(t),{operationSchema:r}=getSmithyContext(n),[,o,u,s,l,h]=r??[];try{let i=await e.protocol.deserializeResponse(operation_operation(o,u,s,l,h),{...e,...n},a);return{response:a,output:i}}catch(e){if(Object.defineProperty(e,"$response",{value:a,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let i="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+i}catch(e){n.logger&&n.logger?.constructor?.name!=="NoOpLogger"?n.logger?.warn?.(i):console.warn(i)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(tF.isInstance(a)){let{headers:i={}}=a,n=Object.entries(i);e.$metadata={httpStatusCode:a.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,n),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,n),cfId:findHeader(/^x-[\w-]+-cf-id$/,n)}}}catch(e){}}throw e}},tX),e.protocol.setSerdeContext(e)}}}let tO="content-length";function contentLengthMiddleware(e){return i=>async n=>{let t=n.request;if(n6.isInstance(t)){let{body:i,headers:n}=t;if(i&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(tO))try{let n=e(i);t.headers={...t.headers,[tO]:String(n)}}catch(e){}}return i({...n,request:t})}}let tQ={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},getContentLengthPlugin=e=>({applyToStack:i=>{i.add(contentLengthMiddleware(e.bodyLengthChecker),tQ)}}),memoize=(e,i,n)=>{let t,a,r,o=!1,coalesceProvider=async()=>{a||(a=e());try{t=await a,r=!0,o=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider()),o||(n&&!n(t)?o=!0:i(t)&&await coalesceProvider()),t)};class tU extends Error{name="ProviderError";tryNextLink;constructor(e,i=!0){let n,t=!0;"boolean"==typeof i?(n=void 0,t=i):null!=i&&"object"==typeof i&&(n=i.logger,t=i.tryNextLink??!0),super(e),this.tryNextLink=t,Object.setPrototypeOf(this,tU.prototype),n?.debug?.(`@smithy/property-provider ${t?"->":"(!)"} ${e}`)}static from(e,i=!0){return Object.assign(new this(e.message,i),e)}}let chain_chain=(...e)=>async()=>{let i;if(0===e.length)throw new tU("No providers in chain");for(let n of e)try{return await n()}catch(e){if(i=e,e?.tryNextLink)continue;throw e}throw i};class tG extends tU{name="CredentialsProviderError";constructor(e,i=!0){super(e,i),Object.setPrototypeOf(this,tG.prototype)}}function getSelectorName(e){try{let i=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return i.delete("CONFIG"),i.delete("CONFIG_PREFIX_SEPARATOR"),i.delete("ENV"),[...i].join(", ")}catch(i){return e}}let tq="AWS_PROFILE",getProfileName=e=>e.profile||process.env[tq]||"default";($=es||(es={})).PROFILE="profile",$.SSO_SESSION="sso-session",$.SERVICES="services";let getConfigData=e=>Object.entries(e).filter(([e])=>{let i=e.indexOf(".");return -1!==i&&Object.values(es).includes(e.substring(0,i))}).reduce((e,[i,n])=>{let t=i.indexOf(".");return e[i.substring(0,t)===es.PROFILE?i.substring(t+1):i]=n,e},{...e.default&&{default:e.default}}),t$={},getHomeDir=()=>{let{HOME:e,USERPROFILE:i,HOMEPATH:n,HOMEDRIVE:t=`C:${n2.sep}`}=process.env;if(e)return e;if(i)return i;if(n)return`${t}${n}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return t$[a]||(t$[a]=(0,n4.homedir)()),t$[a]},getConfigFilepath=()=>process.env.AWS_CONFIG_FILE||(0,n2.join)(getHomeDir(),".aws","config"),tK=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,tz=["__proto__","profile __proto__"],parseIni=e=>{let i,n,t={};for(let a of e.split(/\r?\n/)){let e=a.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){i=void 0,n=void 0;let t=e.substring(1,e.length-1),a=tK.exec(t);if(a){let[,e,,n]=a;Object.values(es).includes(e)&&(i=[e,n].join("."))}else i=t;if(tz.includes(t))throw Error(`Found invalid profile name "${t}"`)}else if(i){let r=e.indexOf("=");if(![0,-1].includes(r)){let[o,u]=[e.substring(0,r).trim(),e.substring(r+1).trim()];if(""===u)n=o;else{n&&a.trimStart()===a&&(n=void 0),t[i]=t[i]||{};let e=n?[n,o].join("."):o;t[i][e]=u}}}}return t},tW=E("node:fs/promises"),tj={},tV={},readFile=(e,i)=>void 0!==tV[e]?tV[e]:((!tj[e]||i?.ignoreCache)&&(tj[e]=(0,tW.readFile)(e,"utf8")),tj[e]),swallowError=()=>({}),loadSharedConfigFiles=async(e={})=>{let{filepath:i=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,n2.join)(getHomeDir(),".aws","credentials"),configFilepath:n=getConfigFilepath()}=e,t=getHomeDir(),a=i;i.startsWith("~/")&&(a=(0,n2.join)(t,i.slice(2)));let r=n;n.startsWith("~/")&&(r=(0,n2.join)(t,n.slice(2)));let o=await Promise.all([readFile(r,{ignoreCache:e.ignoreCache}).then(parseIni).then(getConfigData).catch(swallowError),readFile(a,{ignoreCache:e.ignoreCache}).then(parseIni).catch(swallowError)]);return{configFile:o[0],credentialsFile:o[1]}},loadConfig=({environmentVariableSelector:e,configFileSelector:i,default:n},t={})=>{let a,{signingName:r,logger:o}=t;return memoize(chain_chain((a={signingName:r,logger:o},async()=>{try{let i=e(process.env,a);if(void 0===i)throw Error();return i}catch(i){throw new tG(i.message||`Not found in ENV: ${getSelectorName(e.toString())}`,{logger:a?.logger})}}),((e,{preferredFile:i="config",...n}={})=>async()=>{let t=getProfileName(n),{configFile:a,credentialsFile:r}=await loadSharedConfigFiles(n),o=r[t]||{},u=a[t]||{},s="config"===i?{...o,...u}:{...u,...o};try{let n="config"===i?a:r,t=e(s,n);if(void 0===t)throw Error();return t}catch(i){throw new tG(i.message||`Not found in config files w/ profile [${t}]: ${getSelectorName(e.toString())}`,{logger:n.logger})}})(i,t),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(n)))},t0="AWS_ENDPOINT_URL",t1="endpoint_url",getEndpointFromConfig=async e=>{let i;return loadConfig((i=e??"",{environmentVariableSelector:e=>{let n=e[[t0,...i.split(" ").map(e=>e.toUpperCase())].join("_")];if(n)return n;let t=e[t0];if(t)return t},configFileSelector:(e,n)=>{if(n&&e.services){let t=n[["services",e.services].join(".")];if(t){let e=t[[i.split(" ").map(e=>e.toLowerCase()).join("_"),t1].join(".")];if(e)return e}}let t=e[t1];if(t)return t},default:void 0}))()};function parseQueryString(e){let i={};if(e=e.replace(/^\?/,""))for(let n of e.split("&")){let[e,t=null]=n.split("=");e=decodeURIComponent(e),t&&(t=decodeURIComponent(t)),e in i?Array.isArray(i[e])?i[e].push(t):i[e]=[i[e],t]:i[e]=t}return i}let dist_es_parseUrl=e=>{let i;if("string"==typeof e)return dist_es_parseUrl(new URL(e));let{hostname:n,pathname:t,port:a,protocol:r,search:o}=e;return o&&(i=parseQueryString(o)),{hostname:n,port:a?parseInt(a):void 0,protocol:r,path:t,query:i}},toEndpointV1_toEndpointV1=e=>"object"==typeof e?"url"in e?dist_es_parseUrl(e.url):e:dist_es_parseUrl(e),resolveEndpointConfig=e=>{let i,n=e.tls??!0,{endpoint:t,useDualstackEndpoint:a,useFipsEndpoint:r}=e,o=Object.assign(e,{endpoint:null!=t?async()=>toEndpointV1_toEndpointV1(await normalizeProvider(t)()):void 0,tls:n,isCustomEndpoint:!!t,useDualstackEndpoint:normalizeProvider(a??!1),useFipsEndpoint:normalizeProvider(r??!1)});return o.serviceConfiguredEndpoint=async()=>(e.serviceId&&!i&&(i=getEndpointFromConfig(e.serviceId)),i),o};(K=el||(el={})).STANDARD="standard",K.ADAPTIVE="adaptive";let t3=el.STANDARD,t2=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],t4=["TimeoutError","RequestTimeout","RequestTimeoutException"],t8=[500,502,503,504],t6=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],t5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],isThrottlingError=e=>e.$metadata?.httpStatusCode===429||t2.includes(e.name)||e.$retryable?.throttling==!0,isTransientError=(e,i=0)=>{let n;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||t4.includes(e.name)||t6.includes(e?.code||"")||t5.includes(e?.code||"")||t8.includes(e.$metadata?.httpStatusCode||0)||(n=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]),!!(e&&e instanceof TypeError)&&n.has(e.message))||void 0!==e.cause&&i<=10&&isTransientError(e.cause,i+1)};class t7{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;currentCapacity=0;enabled=!1;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(e){this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8;let i=this.getCurrentTimeInSeconds();this.lastThrottleTime=i,this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(e){if(this.enabled){if(this.refillTokenBucket(),e>this.currentCapacity){let i=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>t7.setTimeoutFn(e,i))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let i=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+i),this.lastTimestamp=e}updateClientSendingRate(e){let i;if(this.updateMeasuredRate(),isThrottlingError(e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),i=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),i=this.cubicSuccess(this.getCurrentTimeInSeconds());let n=Math.min(i,2*this.measuredTxRate);this.updateTokenBucketRate(n)}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){let e=Math.floor(2*this.getCurrentTimeInSeconds())/2;if(this.requestCount++,e>this.lastTxRateBucket){let i=this.requestCount/(e-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(i*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=e}}getPrecise(e){return parseFloat(e.toFixed(8))}}let createDefaultRetryToken=({retryDelay:e,retryCount:i,retryCost:n})=>({getRetryCount:()=>i,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>n});class t9{maxAttempts;mode=el.STANDARD;capacity=500;retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:i=>Math.floor(Math.min(2e4,Math.random()*2**i*e)),setDelayBase:i=>{e=i}}})();maxAttemptsProvider;constructor(e){this.maxAttempts=e,this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return createDefaultRetryToken({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,i){let n=await this.getMaxAttempts();if(this.shouldRetry(e,i,n)){let n=i.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===n?500:100);let t=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=i.retryAfterHint?Math.max(i.retryAfterHint.getTime()-Date.now()||0,t):t,r=this.getCapacityCost(n);return this.capacity-=r,createDefaultRetryToken({retryDelay:a,retryCount:e.getRetryCount()+1,retryCost:r})}throw Error("No retry token available")}recordSuccess(e){this.capacity=Math.max(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){return console.warn("Max attempts provider could not resolve. Using default of 3"),3}}shouldRetry(e,i,n){return e.getRetryCount()+1<n&&this.capacity>=this.getCapacityCost(i.errorType)&&this.isRetryableError(i.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class ae{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=el.ADAPTIVE;constructor(e,i){this.maxAttemptsProvider=e;let{rateLimiter:n}=i??{};this.rateLimiter=n??new t7,this.standardRetryStrategy=new t9(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,i){return this.rateLimiter.updateClientSendingRate(i),this.standardRetryStrategy.refreshRetryTokenForRetry(e,i)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}let ai="AWS_MAX_ATTEMPTS",an="max_attempts",at={environmentVariableSelector:e=>{let i=e[ai];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Environment variable ${ai} mast be a number, got "${i}"`);return n},configFileSelector:e=>{let i=e[an];if(!i)return;let n=parseInt(i);if(Number.isNaN(n))throw Error(`Shared config file entry ${an} mast be a number, got "${i}"`);return n},default:3},resolveRetryConfig=e=>{let{retryStrategy:i,retryMode:n,maxAttempts:t}=e,a=normalizeProvider(t??3);return Object.assign(e,{maxAttempts:a,retryStrategy:async()=>i||(await normalizeProvider(n)()===el.ADAPTIVE?new ae(a):new t9(a))})},aa={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:t3};class ar{trace(){}debug(){}info(){}warn(){}error(){}}let ao=E("crypto"),au=ao.default.randomUUID.bind(ao.default),as=Array.from({length:256},(e,i)=>i.toString(16).padStart(2,"0")),v4=()=>{if(au)return au();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,as[e[0]]+as[e[1]]+as[e[2]]+as[e[3]]+"-"+as[e[4]]+as[e[5]]+"-"+as[e[6]]+as[e[7]]+"-"+as[e[8]]+as[e[9]]+"-"+as[e[10]]+as[e[11]]+as[e[12]]+as[e[13]]+as[e[14]]+as[e[15]]},al=E("stream"),isStreamingPayload=e=>e?.body instanceof al.Readable||"u">typeof ReadableStream&&e?.body instanceof ReadableStream,asSdkError=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):"string"==typeof e?Error(e):Error(`AWS SDK error wrapper for ${e}`),getRetryErrorInfo=e=>{let i={error:e,errorType:getRetryErrorType(e)},n=getRetryAfterHint(e.$response);return n&&(i.retryAfterHint=n),i},getRetryErrorType=e=>isThrottlingError(e)?"THROTTLING":isTransientError(e)?"TRANSIENT":(e=>{if(e.$metadata?.httpStatusCode!==void 0){let i=e.$metadata.httpStatusCode;if(500<=i&&i<=599&&!isTransientError(e))return!0}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",ah={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},getRetryPlugin=e=>({applyToStack:i=>{i.add((i,n)=>async t=>{let a,r=await e.retryStrategy(),o=await e.maxAttempts();if(void 0===(a=r).acquireInitialRetryToken||void 0===a.refreshRetryTokenForRetry||void 0===a.recordSuccess)return r?.mode&&(n.userAgent=[...n.userAgent||[],["cfg/retry-mode",r.mode]]),r.retry(i,t);{let e=await r.acquireInitialRetryToken(n.partition_id),a=Error(),u=0,s=0,{request:l}=t,h=n6.isInstance(l);for(h&&(l.headers["amz-sdk-invocation-id"]=v4());;)try{h&&(l.headers["amz-sdk-request"]=`attempt=${u+1}; max=${o}`);let{response:n,output:a}=await i(t);return r.recordSuccess(e),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,{response:n,output:a}}catch(o){let i=getRetryErrorInfo(o);if(a=asSdkError(o),h&&isStreamingPayload(l))throw(n.logger instanceof ar?console:n.logger)?.warn("An error was encountered in a non-retryable streaming request."),a;try{e=await r.refreshRetryTokenForRetry(e,i)}catch(e){throw a.$metadata||(a.$metadata={}),a.$metadata.attempts=u+1,a.$metadata.totalRetryDelay=s,a}u=e.getRetryCount();let t=e.getRetryDelay();s+=t,await new Promise(e=>setTimeout(e,t))}}},ah)}}),getRetryAfterHint=e=>{if(!tF.isInstance(e))return;let i=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!i)return;let n=e.headers[i],t=Number(n);return new Date(Number.isNaN(t)?n:1e3*t)},getAllAliases=(e,i)=>{let n=[];if(e&&n.push(e),i)for(let e of i)n.push(e);return n},getMiddlewareNameWithAliases=(e,i)=>`${e||"anonymous"}${i&&i.length>0?` (a.k.a. ${i.join(",")})`:""}`,constructStack=()=>{let e=[],i=[],n=!1,t=new Set,cloneTo=n=>(e.forEach(e=>{n.add(e.middleware,{...e})}),i.forEach(e=>{n.addRelativeTo(e.middleware,{...e})}),n.identifyOnResolve?.(a.identifyOnResolve()),n),expandRelativeMiddlewareList=e=>{let i=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?i.push(e):i.push(...expandRelativeMiddlewareList(e))}),i},getMiddlewareList=(n=!1)=>{let t=[],a=[],r={};return e.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;t.push(i)}),i.forEach(e=>{let i={...e,before:[],after:[]};for(let e of getAllAliases(i.name,i.aliases))r[e]=i;a.push(i)}),a.forEach(e=>{if(e.toMiddleware){let i=r[e.toMiddleware];if(void 0===i){if(n)return;throw Error(`${e.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&i.after.push(e),"before"===e.relation&&i.before.push(e)}}),t.sort((e,i)=>ag[i.step]-ag[e.step]||ac[i.priority||"normal"]-ac[e.priority||"normal"]).map(expandRelativeMiddlewareList).reduce((e,i)=>(e.push(...i),e),[])},a={add:(i,n={})=>{let{name:a,override:r,aliases:o}=n,u={step:"initialize",priority:"normal",middleware:i,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let i of s){let n=e.findIndex(e=>e.name===i||e.aliases?.some(e=>e===i));if(-1===n)continue;let t=e[n];if(t.step!==u.step||u.priority!==t.priority)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware with ${t.priority} priority in ${t.step} step cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware with ${u.priority} priority in ${u.step} step.`);e.splice(n,1)}}for(let e of s)t.add(e)}e.push(u)},addRelativeTo:(e,n)=>{let{name:a,override:r,aliases:o}=n,u={middleware:e,...n},s=getAllAliases(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!r)throw Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(a,o)}'`);for(let e of s){let n=i.findIndex(i=>i.name===e||i.aliases?.some(i=>i===e));if(-1===n)continue;let t=i[n];if(t.toMiddleware!==u.toMiddleware||t.relation!==u.relation)throw Error(`"${getMiddlewareNameWithAliases(t.name,t.aliases)}" middleware ${t.relation} "${t.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(a,o)}" middleware ${u.relation} "${u.toMiddleware}" middleware.`);i.splice(n,1)}}for(let e of s)t.add(e)}i.push(u)},clone:()=>cloneTo(constructStack()),use:e=>{e.applyToStack(a)},remove:n=>{let a,r;if("string"==typeof n){let a,r;return a=!1,r=e=>{let i=getAllAliases(e.name,e.aliases);if(i.includes(n)){for(let e of(a=!0,i))t.delete(e);return!1}return!0},e=e.filter(r),i=i.filter(r),a}return a=!1,r=e=>{if(e.middleware===n){for(let i of(a=!0,getAllAliases(e.name,e.aliases)))t.delete(i);return!1}return!0},e=e.filter(r),i=i.filter(r),a},removeByTag:n=>{let a=!1,filterCb=e=>{let{tags:i,name:r,aliases:o}=e;if(i&&i.includes(n)){for(let e of getAllAliases(r,o))t.delete(e);return a=!0,!1}return!0};return e=e.filter(filterCb),i=i.filter(filterCb),a},concat:e=>{let i=cloneTo(constructStack());return i.use(e),i.identifyOnResolve(n||i.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),i},applyToStack:cloneTo,identify:()=>getMiddlewareList(!0).map(e=>{let i=e.step??e.relation+" "+e.toMiddleware;return getMiddlewareNameWithAliases(e.name,e.aliases)+" - "+i}),identifyOnResolve:e=>("boolean"==typeof e&&(n=e),n),resolve:(e,i)=>{for(let n of getMiddlewareList().map(e=>e.middleware).reverse())e=n(e,i);return n&&console.log(a.identify()),e}};return a},ag={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},ac={high:3,normal:2,low:1};class ad{config;middlewareStack=constructStack();initConfig;handlers;constructor(e){this.config=e;let{protocol:i,protocolSettings:n}=e;n&&"function"==typeof i&&(e.protocol=new i(n))}send(e,i,n){let t,a="function"!=typeof i?i:void 0,r="function"==typeof i?i:n;if(void 0===a&&!0===this.config.cacheMiddleware){this.handlers||(this.handlers=new WeakMap);let i=this.handlers;i.has(e.constructor)?t=i.get(e.constructor):(t=e.resolveMiddleware(this.middlewareStack,this.config,a),i.set(e.constructor,t))}else delete this.handlers,t=e.resolveMiddleware(this.middlewareStack,this.config,a);if(!r)return t(e).then(e=>e.output);t(e).then(e=>r(null,e.output),e=>r(e)).catch(()=>{})}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}function setCredentialFeature(e,i,n){return e.$source||(e.$source={}),e.$source[i]=n,e}let memoizeIdentityProvider_isIdentityExpired=function(e){return doesIdentityRequireRefresh(e)&&e.expiration.getTime()-Date.now()<3e5},doesIdentityRequireRefresh=e=>void 0!==e.expiration,ap={},af={};for(let e=0;e<256;e++){let i=e.toString(16).toLowerCase();1===i.length&&(i=`0${i}`),ap[e]=i,af[i]=e}function fromHex(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let i=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2){let t=e.slice(n,n+2).toLowerCase();if(t in af)i[n/2]=af[t];else throw Error(`Cannot decode unrecognized sequence ${t} as hexadecimal`)}return i}function toHex(e){let i="";for(let n=0;n<e.byteLength;n++)i+=ap[e[n]];return i}let dist_es_isArrayBuffer=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),am=E("buffer"),dist_es_fromArrayBuffer=(e,i=0,n=e.byteLength-i)=>{if(!dist_es_isArrayBuffer(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return am.Buffer.from(e,i,n)},fromString=(e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?am.Buffer.from(e,i):am.Buffer.from(e)},fromUtf8_fromUtf8=e=>{let i=fromString(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)},toUint8Array=e=>"string"==typeof e?fromUtf8_fromUtf8(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),ay="X-Amz-Date",aS="X-Amz-Signature",ab="X-Amz-Security-Token",aC="authorization",aw=ay.toLowerCase(),aT=[aC,aw,"date"],ax=aS.toLowerCase(),aL="x-amz-content-sha256",aE=ab.toLowerCase(),a_={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},aY=/^proxy-/,aD=/^sec-/,av="AWS4-HMAC-SHA256",aA="aws4_request",aN={},aP=[],createScope=(e,i,n)=>`${e}/${i}/${n}/${aA}`,getSigningKey=async(e,i,n,t,a)=>{let r=await hmac(e,i.secretAccessKey,i.accessKeyId),o=`${n}:${t}:${a}:${toHex(r)}:${i.sessionToken}`;if(o in aN)return aN[o];for(aP.push(o);aP.length>50;)delete aN[aP.shift()];let u=`AWS4${i.secretAccessKey}`;for(let i of[n,t,a,aA])u=await hmac(e,u,i);return aN[o]=u},hmac=(e,i,n)=>{let t=new e(i);return t.update(toUint8Array(n)),t.digest()},getCanonicalHeaders=({headers:e},i,n)=>{let t={};for(let a of Object.keys(e).sort()){if(void 0==e[a])continue;let r=a.toLowerCase();(!(r in a_||i?.has(r)||aY.test(r)||aD.test(r))||n&&(!n||n.has(r)))&&(t[r]=e[a].trim().replace(/\s+/g," "))}return t},getPayloadHash=async({headers:e,body:i},n)=>{for(let i of Object.keys(e))if(i.toLowerCase()===aL)return e[i];if(void 0==i)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof i||ArrayBuffer.isView(i)||dist_es_isArrayBuffer(i)){let e=new n;return e.update(toUint8Array(i)),toHex(await e.digest())}return"UNSIGNED-PAYLOAD"};class aZ{format(e){let i=[];for(let n of Object.keys(e)){let t=fromUtf8_fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=fromUtf8_fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(aM.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!aR.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}}(z=eh||(eh={}))[z.boolTrue=0]="boolTrue",z[z.boolFalse=1]="boolFalse",z[z.byte=2]="byte",z[z.short=3]="short",z[z.integer=4]="integer",z[z.long=5]="long",z[z.byteArray=6]="byteArray",z[z.string=7]="string",z[z.timestamp=8]="timestamp",z[z.uuid=9]="uuid";let aR=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class aM{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&negate(i),new aM(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}let prepareRequest=e=>{for(let i of Object.keys((e=n6.clone(e)).headers))aT.indexOf(i.toLowerCase())>-1&&delete e.headers[i];return e},escapeUri=e=>encodeURIComponent(e).replace(/[!'()*]/g,hexEncode),hexEncode=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;class aJ{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){this.service=t,this.sha256=a,this.uriEscapePath=r,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=normalizeProvider(n),this.credentialProvider=normalizeProvider(i)}createCanonicalRequest(e,i,n){let t=Object.keys(i).sort();return`${e.method}
45
45
  ${this.getCanonicalPath(e)}
46
- ${(({query:e={}})=>{let i=[],n={};for(let t of Object.keys(e)){if(t.toLowerCase()===aw)continue;let a=escapeUri(t);i.push(a);let r=e[t];"string"==typeof r?n[a]=`${a}=${escapeUri(r)}`:Array.isArray(r)&&(n[a]=r.slice(0).reduce((e,i)=>e.concat([`${a}=${escapeUri(i)}`]),[]).sort().join("&"))}return i.sort().map(e=>n[e]).filter(e=>e).join("&")})(e)}
46
+ ${(({query:e={}})=>{let i=[],n={};for(let t of Object.keys(e)){if(t.toLowerCase()===ax)continue;let a=escapeUri(t);i.push(a);let r=e[t];"string"==typeof r?n[a]=`${a}=${escapeUri(r)}`:Array.isArray(r)&&(n[a]=r.slice(0).reduce((e,i)=>e.concat([`${a}=${escapeUri(i)}`]),[]).sort().join("&"))}return i.sort().map(e=>n[e]).filter(e=>e).join("&")})(e)}
47
47
  ${t.map(e=>`${e}:${i[e]}`).join("\n")}
48
48
 
49
49
  ${t.join(";")}
50
50
  ${n}`}async createStringToSign(e,i,n,t){let a=new this.sha256;a.update(toUint8Array(n));let r=await a.digest();return`${t}
51
51
  ${e}
52
52
  ${i}
53
- ${toHex(r)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let i=[];for(let n of e.split("/"))n?.length!==0&&"."!==n&&(".."===n?i.pop():i.push(n));return escapeUri(`${e?.startsWith("/")?"/":""}${i.join("/")}${i.length>0&&e?.endsWith("/")?"/":""}`).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if("object"!=typeof e||"string"!=typeof e.accessKeyId||"string"!=typeof e.secretAccessKey)throw Error("Resolved credential object is not valid")}formatDate(e){var i;let n=("number"==typeof(i=e)?new Date(1e3*i):"string"==typeof i?new Date(Number(i)?1e3*Number(i):i):i).toISOString().replace(/\.\d{3}Z$/,"Z").replace(/[\-:]/g,"");return{longDate:n,shortDate:n.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class aM extends aR{headerFormatter=new aN;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){super({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r})}async presign(e,i={}){let{signingDate:n=new Date,expiresIn:t=3600,unsignableHeaders:a,unhoistableHeaders:r,signableHeaders:o,hoistableHeaders:u,signingRegion:s,signingService:l}=i,h=await this.credentialProvider();this.validateResolvedCredentials(h);let g=s??await this.regionProvider(),{longDate:c,shortDate:d}=this.formatDate(n);if(t>604800)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let p=createScope(d,g,l??this.service),f=((e,i={})=>{let{headers:n,query:t={}}=n4.clone(e);for(let e of Object.keys(n)){let a=e.toLowerCase();("x-amz-"===a.slice(0,6)&&!i.unhoistableHeaders?.has(a)||i.hoistableHeaders?.has(a))&&(t[e]=n[e],delete n[e])}return{...e,headers:n,query:t}})(prepareRequest(e),{unhoistableHeaders:r,hoistableHeaders:u});h.sessionToken&&(f.query[ay]=h.sessionToken),f.query["X-Amz-Algorithm"]=aY,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[af]=c,f.query["X-Amz-Expires"]=t.toString(10);let m=getCanonicalHeaders(f,a,o);return f.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(m),f.query[am]=await this.getSignature(c,p,this.getSigningKey(h,g,d,l),this.createCanonicalRequest(f,m,await getPayloadHash(e,this.sha256))),f}async sign(e,i){return"string"==typeof e?this.signString(e,i):e.headers&&e.payload?this.signEvent(e,i):e.message?this.signMessage(e,i):this.signRequest(e,i)}async signEvent({headers:e,payload:i},{signingDate:n=new Date,priorSignature:t,signingRegion:a,signingService:r}){let o=a??await this.regionProvider(),{shortDate:u,longDate:s}=this.formatDate(n),l=createScope(u,o,r??this.service),h=await getPayloadHash({headers:{},body:i},this.sha256),g=new this.sha256;g.update(e);let c=["AWS4-HMAC-SHA256-PAYLOAD",s,l,t,toHex(await g.digest()),h].join("\n");return this.signString(c,{signingDate:n,signingRegion:o,signingService:r})}async signMessage(e,{signingDate:i=new Date,signingRegion:n,signingService:t}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:i,signingRegion:n,signingService:t,priorSignature:e.priorSignature}).then(i=>({message:e.message,signature:i}))}async signString(e,{signingDate:i=new Date,signingRegion:n,signingService:t}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let r=n??await this.regionProvider(),{shortDate:o}=this.formatDate(i),u=new this.sha256(await this.getSigningKey(a,r,o,t));return u.update(toUint8Array(e)),toHex(await u.digest())}async signRequest(e,{signingDate:i=new Date,signableHeaders:n,unsignableHeaders:t,signingRegion:a,signingService:r}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let u=a??await this.regionProvider(),s=prepareRequest(e),{longDate:l,shortDate:h}=this.formatDate(i),g=createScope(h,u,r??this.service);s.headers[ab]=l,o.sessionToken&&(s.headers[ax]=o.sessionToken);let c=await getPayloadHash(s,this.sha256);!((e,i)=>{for(let n of(e=e.toLowerCase(),Object.keys(i)))if(e===n.toLowerCase())return!0;return!1})(aT,s.headers)&&this.applyChecksum&&(s.headers[aT]=c);let d=getCanonicalHeaders(s,t,n),p=await this.getSignature(l,g,this.getSigningKey(o,u,h,r),this.createCanonicalRequest(s,d,c));return s.headers[aS]=`${aY} Credential=${o.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${p}`,s}async getSignature(e,i,n,t){let a=await this.createStringToSign(e,i,t,aY),r=new this.sha256(await n);return r.update(toUint8Array(a)),toHex(await r.digest())}getSigningKey(e,i,n,t){return getSigningKey(this.sha256,e,n,i,t||this.service)}}let resolveAwsSdkSigV4Config=e=>{let i,n,t=e.credentials,a=!!e.credentials;Object.defineProperty(e,"credentials",{set(n){n&&n!==t&&n!==i&&(a=!0);let r=normalizeCredentialProvider(e,{credentials:t=n,credentialDefaultProvider:e.credentialDefaultProvider}),o=bindCallerConfig(e,r);if(a&&!o.attributed){let e="object"==typeof t&&null!==t;(i=async i=>{let n=await o(i);return e&&(!n.$source||0===Object.keys(n.$source).length)?setCredentialFeature(n,"CREDENTIALS_CODE","e"):n}).memoized=o.memoized,i.configBound=o.configBound,i.attributed=!0}else i=o},get:()=>i,enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:r=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:u}=e;return n=e.signer?normalizeProvider_normalizeProvider(e.signer):e.regionInfoProvider?()=>normalizeProvider_normalizeProvider(e.region)().then(async i=>[await e.regionInfoProvider(i,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},i]).then(([i,n])=>{let{signingRegion:t,signingService:a}=i;e.signingRegion=e.signingRegion||t||n,e.signingName=e.signingName||a||e.serviceId;let o={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||aM)(o)}):async i=>{let n=(i=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await normalizeProvider_normalizeProvider(e.region)(),properties:{}},i)).signingRegion,t=i.signingName;e.signingRegion=e.signingRegion||n,e.signingName=e.signingName||t||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||aM)(a)},Object.assign(e,{systemClockOffset:o,signingEscapePath:r,signer:n})};function normalizeCredentialProvider(e,{credentials:i,credentialDefaultProvider:n}){let t;return(t=i?i?.memoized?i:((e,i,n)=>{let t,a,r;if(void 0===e)return;let o="function"!=typeof e?async()=>Promise.resolve(e):e,u=!1,coalesceProvider=async e=>{a||(a=o(e));try{t=await a,r=!0,u=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),u||(n(t)?i(t)&&await coalesceProvider(e):u=!0),t)})(i,memoizeIdentityProvider_isIdentityExpired,doesIdentityRequireRefresh):n?normalizeProvider_normalizeProvider(n(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,t}function bindCallerConfig(e,i){if(i.configBound)return i;let fn=async n=>i({...n,callerClientConfig:e});return fn.memoized=i.memoized,fn.configBound=!0,fn}let aJ={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new tO("AWS_SIGV4A_SIGNING_REGION_SET not set in env.",{tryNextLink:!0})},configFileSelector(e){if(e.sigv4a_signing_region_set)return(e.sigv4a_signing_region_set??"").split(",").map(e=>e.trim());throw new tO("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class ak extends aM{async signWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return e.headers[tS]=i.sessionToken,setSingleOverride(this,t),this.signRequest(e,n??{})}async presignWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return delete e.headers[tS],e.headers[ty]=i.sessionToken,e.query=e.query??{},e.query[ty]=i.sessionToken,setSingleOverride(this,t),this.presign(e,n)}}function getCredentialsWithoutSessionToken(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function setSingleOverride(e,i){let n=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),t=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(n),e.credentialProvider=t,Promise.resolve(i))}class aB{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new ak(e),this.signerOptions=e}async sign(e,i={}){return"*"===i.signingRegion?this.getSigv4aSigner().sign(e,i):this.sigv4Signer.sign(e,i)}async signWithCredentials(e,i,n={}){if("*"===n.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('signWithCredentials with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.signWithCredentials(e,i,n)}async presign(e,i={}){if("*"===i.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('presign with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.presign(e,i)}async presignWithCredentials(e,i,n={}){if("*"===n.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,i,n)}getSigv4aSigner(){if(!this.sigv4aSigner)if("node"===this.signerOptions.runtime){!0;throw Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt")}else{!0;throw Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a")}return this.sigv4aSigner}}let resolveParamsForS3=async e=>{let i=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=i.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),isArnBucketName(i)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else isDnsCompatibleBucketName(i)&&(-1===i.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&i.toLowerCase()===i&&!(i.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},aH=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,aF=/(\d+\.){3}\d+/,aX=/\.\./,isDnsCompatibleBucketName=e=>aH.test(e)&&!aF.test(e)&&!aX.test(e),isArnBucketName=e=>{let[i,n,t,,,a]=e.split(":"),r="arn"===i&&e.split(":").length>=6,o=!!(r&&n&&t&&a);if(r&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},createConfigValueProvider=(e,i,n,t=!1)=>{let configProvider=async()=>{let a;if(t){let t=n.clientContextParams;a=t?.[e]??n[e]??n[i]}else a=n[e]??n[i];return"function"==typeof a?a():a};return"credentialScope"===e||"CredentialScope"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===i?async()=>{if(!1===n.isCustomEndpoint)return;let e=await configProvider();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:i,hostname:n,port:t,path:a}=e;return`${i}//${n}${t?":"+t:""}${a}`}}return e}:configProvider},getEndpointFromInstructions=async(e,i,n,t)=>{if(!n.isCustomEndpoint){let e;(e=n.serviceConfiguredEndpoint?await n.serviceConfiguredEndpoint():await getEndpointFromConfig(n.serviceId))&&(n.endpoint=()=>Promise.resolve(toEndpointV1_toEndpointV1(e)),n.isCustomEndpoint=!0)}let a=await resolveParams(e,i,n);if("function"!=typeof n.endpointProvider)throw Error("config.endpointProvider is not set.");return n.endpointProvider(a,t)},resolveParams=async(e,i,n)=>{let t={},a=i?.getEndpointParameterInstructions?.()||{};for(let[i,r]of Object.entries(a))switch(r.type){case"staticContextParams":t[i]=r.value;break;case"contextParams":t[i]=e[r.name];break;case"clientContextParams":case"builtInParams":t[i]=await createConfigValueProvider(r.name,i,n,"builtInParams"!==r.type)();break;case"operationContextParams":t[i]=r.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(r))}return 0===Object.keys(a).length&&Object.assign(t,n),"s3"===String(n.serviceId).toLowerCase()&&await resolveParamsForS3(t),t};class aI{capacity;data=new Map;parameters=[];constructor({size:e,params:i}){this.capacity=e??50,i&&(this.parameters=i)}get(e,i){let n=this.hash(e);if(!1===n)return i();if(!this.data.has(n)){if(this.data.size>this.capacity+10){let e=this.data.keys(),i=0;for(;;){let{value:n,done:t}=e.next();if(this.data.delete(n),t||++i>10)break}}this.data.set(n,i())}return this.data.get(n)}size(){return this.data.size}hash(e){let i="",{parameters:n}=this;if(0===n.length)return!1;for(let t of n){let n=String(e[t]??"");if(n.includes("|;"))return!1;i+=n+"|;"}return i}}let aO="endpoints";function toDebugString(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${toDebugString(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(toDebugString).join(", ")})`:JSON.stringify(e,null,2)}class aQ extends Error{constructor(e){super(e),this.name="EndpointError"}}let getAttr=(e,i)=>(e=>{let i=e.split("."),n=[];for(let t of i){let i=t.indexOf("[");if(-1!==i){if(t.indexOf("]")!==t.length-1)throw new aQ(`Path: '${e}' does not end with ']'`);let a=t.slice(i+1,-1);if(Number.isNaN(parseInt(a)))throw new aQ(`Invalid array index: '${a}' in path: '${e}'`);0!==i&&n.push(t.slice(0,i)),n.push(a)}else n.push(t)}return n})(i).reduce((n,t)=>{if("object"!=typeof n)throw new aQ(`Index '${t}' in '${i}' not found in '${JSON.stringify(e)}'`);return Array.isArray(n)?n[parseInt(t)]:n[t]},e);(W=eg||(eg={})).HTTP="http",W.HTTPS="https";let aU={[eg.HTTP]:80,[eg.HTTPS]:443},aG={booleanEquals:(e,i)=>e===i,getAttr:getAttr,isSet:e=>null!=e,isValidHostLabel:isValidHostLabel,not:e=>!e,parseURL:e=>{let i=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){let{hostname:i,port:n,protocol:t="",path:a="",query:r={}}=e,o=new URL(`${t}//${i}${n?`:${n}`:""}${a}`);return o.search=Object.entries(r).map(([e,i])=>`${e}=${i}`).join("&"),o}return new URL(e)}catch(e){return null}})();if(!i)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let n=i.href,{host:t,hostname:a,pathname:r,protocol:o,search:u}=i;if(u)return null;let s=o.slice(0,-1);if(!Object.values(eg).includes(s))return null;let l=isIpAddress(a),h=n.includes(`${t}:${aU[s]}`)||"string"==typeof e&&e.includes(`${t}:${aU[s]}`),g=`${t}${h?`:${aU[s]}`:""}`;return{scheme:s,authority:g,path:r,normalizedPath:r.endsWith("/")?r:`${r}/`,isIp:l}},stringEquals:(e,i)=>e===i,substring:(e,i,n,t)=>i>=n||e.length<n?null:t?e.substring(e.length-n,e.length-i):e.substring(i,n),uriEncode:e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},evaluateTemplate=(e,i)=>{let n=[],t={...i.endpointParams,...i.referenceRecord},a=0;for(;a<e.length;){let i=e.indexOf("{",a);if(-1===i){n.push(e.slice(a));break}n.push(e.slice(a,i));let r=e.indexOf("}",i);if(-1===r){n.push(e.slice(i));break}"{"===e[i+1]&&"}"===e[r+1]&&(n.push(e.slice(i+1,r)),a=r+2);let o=e.substring(i+1,r);if(o.includes("#")){let[e,i]=o.split("#");n.push(getAttr(t[e],i))}else n.push(t[o]);a=r+1}return n.join("")},evaluateExpression=(e,i,n)=>{if("string"==typeof e)return evaluateTemplate(e,n);if(e.fn)return aq.callFunction(e,n);if(e.ref)return(({ref:e},i)=>({...i.endpointParams,...i.referenceRecord})[e])(e,n);throw new aQ(`'${i}': ${String(e)} is not a string, function or reference.`)},callFunction=({fn:e,argv:i},n)=>{let t=i.map(e=>["boolean","number"].includes(typeof e)?e:aq.evaluateExpression(e,"arg",n)),a=e.split(".");return a[0]in tL&&null!=a[1]?tL[a[0]][a[1]](...t):aG[e](...t)},aq={evaluateExpression:evaluateExpression,callFunction:callFunction},evaluateCondition=({assign:e,...i},n)=>{if(e&&e in n.referenceRecord)throw new aQ(`'${e}' is already defined in Reference Record.`);let t=callFunction(i,n);return n.logger?.debug?.(`${aO} evaluateCondition: ${toDebugString(i)} = ${toDebugString(t)}`),{result:""===t||!!t,...null!=e&&{toAssign:{name:e,value:t}}}},evaluateConditions=(e=[],i)=>{let n={};for(let t of e){let{result:e,toAssign:a}=evaluateCondition(t,{...i,referenceRecord:{...i.referenceRecord,...n}});if(!e)return{result:e};a&&(n[a.name]=a.value,i.logger?.debug?.(`${aO} assign: ${a.name} := ${toDebugString(a.value)}`))}return{result:!0,referenceRecord:n}},getEndpointProperties=(e,i)=>Object.entries(e).reduce((e,[n,t])=>({...e,[n]:a$.getEndpointProperty(t,i)}),{}),getEndpointProperty=(e,i)=>{if(Array.isArray(e))return e.map(e=>getEndpointProperty(e,i));switch(typeof e){case"string":return evaluateTemplate(e,i);case"object":if(null===e)throw new aQ(`Unexpected endpoint property: ${e}`);return a$.getEndpointProperties(e,i);case"boolean":return e;default:throw new aQ(`Unexpected endpoint property type: ${typeof e}`)}},a$={getEndpointProperty:getEndpointProperty,getEndpointProperties:getEndpointProperties},evaluateEndpointRule=(e,i)=>{let{conditions:n,endpoint:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(!a)return;let o={...i,referenceRecord:{...i.referenceRecord,...r}},{url:u,properties:s,headers:l}=t;return i.logger?.debug?.(`${aO} Resolving endpoint from template: ${toDebugString(t)}`),{...void 0!=l&&{headers:Object.entries(l).reduce((e,[i,n])=>({...e,[i]:n.map(e=>{let n=evaluateExpression(e,"Header value entry",o);if("string"!=typeof n)throw new aQ(`Header '${i}' value '${n}' is not a string`);return n})}),{})},...void 0!=s&&{properties:getEndpointProperties(s,o)},url:((e,i)=>{let n=evaluateExpression(e,"Endpoint URL",i);if("string"==typeof n)try{return new URL(n)}catch(e){throw console.error(`Failed to construct URL with ${n}`,e),e}throw new aQ(`Endpoint URL must be a string, got ${typeof n}`)})(u,o)}},evaluateErrorRule=(e,i)=>{let{conditions:n,error:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)throw new aQ(evaluateExpression(t,"Error",{...i,referenceRecord:{...i.referenceRecord,...r}}))},evaluateRules=(e,i)=>{for(let n of e)if("endpoint"===n.type){let e=evaluateEndpointRule(n,i);if(e)return e}else if("error"===n.type)evaluateErrorRule(n,i);else if("tree"===n.type){let e=aK.evaluateTreeRule(n,i);if(e)return e}else throw new aQ(`Unknown endpoint rule: ${n}`);throw new aQ("Rules evaluation failed")},aK={evaluateRules:evaluateRules,evaluateTreeRule:(e,i)=>{let{conditions:n,rules:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)return aK.evaluateRules(t,{...i,referenceRecord:{...i.referenceRecord,...r}})}},resolveEndpoint=(e,i)=>{let{endpointParams:n,logger:t}=i,{parameters:a,rules:r}=e;i.logger?.debug?.(`${aO} Initial EndpointParams: ${toDebugString(n)}`);let o=Object.entries(a).filter(([,e])=>null!=e.default).map(([e,i])=>[e,i.default]);if(o.length>0)for(let[e,i]of o)n[e]=n[e]??i;for(let e of Object.entries(a).filter(([,e])=>e.required).map(([e])=>e))if(null==n[e])throw new aQ(`Missing required parameter: '${e}'`);let u=evaluateRules(r,{endpointParams:n,logger:t,referenceRecord:{}});return i.logger?.debug?.(`${aO} Resolved endpoint: ${toDebugString(u)}`),u},az="required",aW="type",aj="rules",aV="conditions",a0="argv",a1="assign",a3="properties",a2="backend",a4="authSchemes",a8="disableDoubleEncoding",a6="signingName",a5="signingRegion",a7="headers",a9="signingRegionSet",re="isSet",ri="booleanEquals",rn="error",rt="aws.partition",ra="stringEquals",rr="getAttr",ro="name",ru="substring",rs="bucketSuffix",rl="parseURL",rh="endpoint",rg="tree",rc="aws.isVirtualHostableS3Bucket",rd="{url#scheme}://{Bucket}.{url#authority}{url#path}",rp="accessPointSuffix",rf="{url#scheme}://{url#authority}{url#path}",rm="hardwareType",ry="regionPrefix",rS="bucketAliasSuffix",rb="outpostId",rC="isValidHostLabel",rw="sigv4a",rT="s3-outposts",rx="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",rL="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rE="https://{Bucket}.s3.{partitionResult#dnsSuffix}",r_="aws.parseArn",rY="bucketArn",rD="arnType",rv="s3-object-lambda",rA="accesspoint",rN="accessPointName",rP="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",rZ="mrapPartition",rR="outpostType",rM="arnPrefix",rJ="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",rk="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",rB="https://s3.{partitionResult#dnsSuffix}",rH={[az]:!1,[aW]:"string"},rF={[az]:!0,default:!1,[aW]:"boolean"},rX={[az]:!1,[aW]:"boolean"},rI={fn:ri,[a0]:[{ref:"Accelerate"},!0]},rO={fn:ri,[a0]:[{ref:"UseFIPS"},!0]},rQ={fn:ri,[a0]:[{ref:"UseDualStack"},!0]},rU={fn:re,[a0]:[{ref:"Endpoint"}]},rG={fn:rt,[a0]:[{ref:"Region"}],[a1]:"partitionResult"},rq={fn:ra,[a0]:[{fn:rr,[a0]:[{ref:"partitionResult"},ro]},"aws-cn"]},r$={fn:re,[a0]:[{ref:"Bucket"}]},rK={ref:"Bucket"},rz={[aV]:[rI],[rn]:"S3Express does not support S3 Accelerate.",[aW]:rn},rW={[aV]:[rU,{fn:rl,[a0]:[{ref:"Endpoint"}],[a1]:"url"}],[aj]:[{[aV]:[{fn:re,[a0]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:ri,[a0]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[aj]:[{[aV]:[{fn:ri,[a0]:[{fn:rr,[a0]:[{ref:"url"},"isIp"]},!0]}],[aj]:[{[aV]:[{fn:"uriEncode",[a0]:[rK],[a1]:"uri_encoded_bucket"}],[aj]:[{[rh]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:rc,[a0]:[rK,!1]}],[aj]:[{[rh]:{url:rd,[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg},{[rn]:"S3Express bucket name is not a valid virtual hostable name.",[aW]:rn}],[aW]:rg},{[aV]:[{fn:ri,[a0]:[{fn:rr,[a0]:[{ref:"url"},"isIp"]},!0]}],[aj]:[{[aV]:[{fn:"uriEncode",[a0]:[rK],[a1]:"uri_encoded_bucket"}],[aj]:[{[rh]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:rc,[a0]:[rK,!1]}],[aj]:[{[rh]:{url:rd,[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],[aW]:rg},{[rn]:"S3Express bucket name is not a valid virtual hostable name.",[aW]:rn}],[aW]:rg},rj={fn:rl,[a0]:[{ref:"Endpoint"}],[a1]:"url"},rV={fn:ri,[a0]:[{fn:rr,[a0]:[{ref:"url"},"isIp"]},!0]},r0={ref:"url"},r1={fn:"uriEncode",[a0]:[rK],[a1]:"uri_encoded_bucket"},r3={[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3express",[a5]:"{Region}"}]},r2={},r4={fn:rc,[a0]:[rK,!1]},r8={[rn]:"S3Express bucket name is not a valid virtual hostable name.",[aW]:rn},r6={fn:re,[a0]:[{ref:"UseS3ExpressControlEndpoint"}]},r5={fn:ri,[a0]:[{ref:"UseS3ExpressControlEndpoint"},!0]},r7={fn:"not",[a0]:[rU]},r9={fn:ri,[a0]:[{ref:"UseDualStack"},!1]},oe={fn:ri,[a0]:[{ref:"UseFIPS"},!1]},oi={[rn]:"Unrecognized S3Express bucket name format.",[aW]:rn},on={fn:"not",[a0]:[r$]},ot={ref:rm},oa={[aV]:[r7],[rn]:"Expected a endpoint to be specified but no endpoint was found",[aW]:rn},oo={[a4]:[{[a8]:!0,[ro]:rw,[a6]:rT,[a9]:["*"]},{[a8]:!0,[ro]:"sigv4",[a6]:rT,[a5]:"{Region}"}]},ou={fn:ri,[a0]:[{ref:"ForcePathStyle"},!1]},os={fn:ri,[a0]:[{ref:"Accelerate"},!1]},ol={fn:ra,[a0]:[{ref:"Region"},"aws-global"]},oh={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"us-east-1"}]},og={fn:"not",[a0]:[ol]},oc={fn:ri,[a0]:[{ref:"UseGlobalEndpoint"},!0]},od={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"{Region}"}]},[a7]:{}},op={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"{Region}"}]},of={fn:ri,[a0]:[{ref:"UseGlobalEndpoint"},!1]},om={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},oy={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},oS={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},ob={fn:ri,[a0]:[{fn:rr,[a0]:[r0,"isIp"]},!1]},oC={url:rx,[a3]:op,[a7]:{}},ow={url:rd,[a3]:op,[a7]:{}},oT={[rh]:ow,[aW]:rh},ox={url:rL,[a3]:op,[a7]:{}},oL={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},oE={[rn]:"Invalid region: region was not a valid DNS name.",[aW]:rn},o_={ref:rY},oY={ref:rD},oD={fn:rr,[a0]:[o_,"service"]},ov={ref:rN},oA={[aV]:[rQ],[rn]:"S3 Object Lambda does not support Dual-stack",[aW]:rn},oN={[aV]:[rI],[rn]:"S3 Object Lambda does not support S3 Accelerate",[aW]:rn},oP={[aV]:[{fn:re,[a0]:[{ref:"DisableAccessPoints"}]},{fn:ri,[a0]:[{ref:"DisableAccessPoints"},!0]}],[rn]:"Access points are not supported for this operation",[aW]:rn},oZ={[aV]:[{fn:re,[a0]:[{ref:"UseArnRegion"}]},{fn:ri,[a0]:[{ref:"UseArnRegion"},!1]},{fn:"not",[a0]:[{fn:ra,[a0]:[{fn:rr,[a0]:[o_,"region"]},"{Region}"]}]}],[rn]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[aW]:rn},oR={fn:rr,[a0]:[{ref:"bucketPartition"},ro]},oM={fn:rr,[a0]:[o_,"accountId"]},oJ={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:rv,[a5]:"{bucketArn#region}"}]},ok={[rn]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[aW]:rn},oB={[rn]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[aW]:rn},oH={[rn]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[aW]:rn},oF={[rn]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[aW]:rn},oX={[rn]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[aW]:rn},oI={[rn]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[aW]:rn},oO={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:"s3",[a5]:"{bucketArn#region}"}]},oQ={[a4]:[{[a8]:!0,[ro]:rw,[a6]:rT,[a9]:["*"]},{[a8]:!0,[ro]:"sigv4",[a6]:rT,[a5]:"{bucketArn#region}"}]},oU={fn:r_,[a0]:[rK]},oG={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},oq={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},o$={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},oK={url:rJ,[a3]:op,[a7]:{}},oz={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:op,[a7]:{}},oW={ref:"UseObjectLambdaEndpoint"},oj={[a4]:[{[a8]:!0,[ro]:"sigv4",[a6]:rv,[a5]:"{Region}"}]},oV={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o0={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o1={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o3={url:rf,[a3]:op,[a7]:{}},o2={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[a3]:op,[a7]:{}},o4=[{ref:"Region"}],o8=[rI],o6=[rU,rj],o5=[{fn:re,[a0]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:ri,[a0]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],o7=[r4],o9=[rG],ue=[rO,rQ],ui=[rO,r9],un=[oe,rQ],ut=[oe,r9],ua=[{fn:ru,[a0]:[rK,6,14,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,14,16,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ur=[{[aV]:[rO,rQ],[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh},{[aV]:ui,[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh},{[aV]:un,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh},{[aV]:ut,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:{}},[aW]:rh}],uo=[{fn:ru,[a0]:[rK,6,15,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,15,17,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uu=[{fn:ru,[a0]:[rK,6,19,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,19,21,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],us=[{fn:ru,[a0]:[rK,6,20,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,20,22,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ul=[{fn:ru,[a0]:[rK,6,26,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,26,28,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uh=[{[aV]:[rO,rQ],[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh},{[aV]:ui,[rh]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh},{[aV]:un,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh},{[aV]:ut,[rh]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a3]:{[a2]:"S3Express",[a4]:[{[a8]:!0,[ro]:"sigv4-s3express",[a6]:"s3express",[a5]:"{Region}"}]},[a7]:{}},[aW]:rh}],ug=[rK,0,7,!0],uc=[{fn:ru,[a0]:[rK,7,15,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,15,17,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ud=[{fn:ru,[a0]:[rK,7,16,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,16,18,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],up=[{fn:ru,[a0]:[rK,7,20,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,20,22,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uf=[{fn:ru,[a0]:[rK,7,21,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,21,23,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],um=[{fn:ru,[a0]:[rK,7,27,!0],[a1]:"s3expressAvailabilityZoneId"},{fn:ru,[a0]:[rK,27,29,!0],[a1]:"s3expressAvailabilityZoneDelim"},{fn:ra,[a0]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uy=[{fn:rC,[a0]:[{ref:rb},!1]}],uS=[{fn:ra,[a0]:[{ref:ry},"beta"]}],ub=[{fn:rC,[a0]:[{ref:"Region"},!1]}],uC=[{fn:ra,[a0]:[{ref:"Region"},"us-east-1"]}],uw=[{fn:ra,[a0]:[oY,rA]}],uT=[{fn:rr,[a0]:[o_,"resourceId[1]"],[a1]:rN},{fn:"not",[a0]:[{fn:ra,[a0]:[ov,""]}]}],ux=[rQ],uL=[{fn:"not",[a0]:[{fn:ra,[a0]:[{fn:rr,[a0]:[o_,"region"]},""]}]}],uE=[{fn:"not",[a0]:[{fn:re,[a0]:[{fn:rr,[a0]:[o_,"resourceId[2]"]}]}]}],u_=[{fn:rt,[a0]:[{fn:rr,[a0]:[o_,"region"]}],[a1]:"bucketPartition"}],uY=[{fn:ra,[a0]:[oR,{fn:rr,[a0]:[{ref:"partitionResult"},ro]}]}],uD=[{fn:rC,[a0]:[{fn:rr,[a0]:[o_,"region"]},!0]}],uv=[{fn:rC,[a0]:[oM,!1]}],uA=[{fn:rC,[a0]:[ov,!1]}],uN=[rO],uP=[{fn:rC,[a0]:[{ref:"Region"},!0]}],uZ={version:"1.0",parameters:{Bucket:rH,Region:rH,UseFIPS:rF,UseDualStack:rF,Endpoint:rH,ForcePathStyle:rF,Accelerate:rF,UseGlobalEndpoint:rF,UseObjectLambdaEndpoint:rX,Key:rH,Prefix:rH,CopySource:rH,DisableAccessPoints:rX,DisableMultiRegionAccessPoints:rF,UseArnRegion:rX,UseS3ExpressControlEndpoint:rX,DisableS3ExpressSessionAuth:rX},[aj]:[{[aV]:[{fn:re,[a0]:o4}],[aj]:[{[aV]:[rI,rO],error:"Accelerate cannot be used with FIPS",[aW]:rn},{[aV]:[rQ,rU],error:"Cannot set dual-stack in combination with a custom endpoint.",[aW]:rn},{[aV]:[rU,rO],error:"A custom endpoint cannot be combined with FIPS",[aW]:rn},{[aV]:[rU,rI],error:"A custom endpoint cannot be combined with S3 Accelerate",[aW]:rn},{[aV]:[rO,rG,rq],error:"Partition does not support FIPS",[aW]:rn},{[aV]:[r$,{fn:ru,[a0]:[rK,0,6,!0],[a1]:rs},{fn:ra,[a0]:[{ref:rs},"--x-s3"]}],[aj]:[rz,rW,{[aV]:[r6,r5],[aj]:[{[aV]:o9,[aj]:[{[aV]:[r1,r7],[aj]:[{[aV]:ue,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ui,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:un,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ut,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:r3,[a7]:r2},[aW]:rh}],[aW]:rg}],[aW]:rg}],[aW]:rg},{[aV]:o7,[aj]:[{[aV]:o9,[aj]:[{[aV]:o5,[aj]:[{[aV]:ua,[aj]:ur,[aW]:rg},{[aV]:uo,[aj]:ur,[aW]:rg},{[aV]:uu,[aj]:ur,[aW]:rg},{[aV]:us,[aj]:ur,[aW]:rg},{[aV]:ul,[aj]:ur,[aW]:rg},oi],[aW]:rg},{[aV]:ua,[aj]:uh,[aW]:rg},{[aV]:uo,[aj]:uh,[aW]:rg},{[aV]:uu,[aj]:uh,[aW]:rg},{[aV]:us,[aj]:uh,[aW]:rg},{[aV]:ul,[aj]:uh,[aW]:rg},oi],[aW]:rg}],[aW]:rg},r8],[aW]:rg},{[aV]:[r$,{fn:ru,[a0]:ug,[a1]:rp},{fn:ra,[a0]:[{ref:rp},"--xa-s3"]}],[aj]:[rz,rW,{[aV]:o7,[aj]:[{[aV]:o9,[aj]:[{[aV]:o5,[aj]:[{[aV]:uc,[aj]:ur,[aW]:rg},{[aV]:ud,[aj]:ur,[aW]:rg},{[aV]:up,[aj]:ur,[aW]:rg},{[aV]:uf,[aj]:ur,[aW]:rg},{[aV]:um,[aj]:ur,[aW]:rg},oi],[aW]:rg},{[aV]:uc,[aj]:uh,[aW]:rg},{[aV]:ud,[aj]:uh,[aW]:rg},{[aV]:up,[aj]:uh,[aW]:rg},{[aV]:uf,[aj]:uh,[aW]:rg},{[aV]:um,[aj]:uh,[aW]:rg},oi],[aW]:rg}],[aW]:rg},r8],[aW]:rg},{[aV]:[on,r6,r5],[aj]:[{[aV]:o9,[aj]:[{[aV]:o6,endpoint:{url:rf,[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ue,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ui,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:un,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh},{[aV]:ut,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[a3]:r3,[a7]:r2},[aW]:rh}],[aW]:rg}],[aW]:rg},{[aV]:[r$,{fn:ru,[a0]:[rK,49,50,!0],[a1]:rm},{fn:ru,[a0]:[rK,8,12,!0],[a1]:ry},{fn:ru,[a0]:ug,[a1]:rS},{fn:ru,[a0]:[rK,32,49,!0],[a1]:rb},{fn:rt,[a0]:o4,[a1]:"regionPartition"},{fn:ra,[a0]:[{ref:rS},"--op-s3"]}],[aj]:[{[aV]:uy,[aj]:[{[aV]:o7,[aj]:[{[aV]:[{fn:ra,[a0]:[ot,"e"]}],[aj]:[{[aV]:uS,[aj]:[oa,{[aV]:o6,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{[aV]:[{fn:ra,[a0]:[ot,"o"]}],[aj]:[{[aV]:uS,[aj]:[oa,{[aV]:o6,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a3]:oo,[a7]:r2},[aW]:rh}],[aW]:rg},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[aW]:rn}],[aW]:rg},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[aW]:rn}],[aW]:rg},{[aV]:[r$],[aj]:[{[aV]:[rU,{fn:"not",[a0]:[{fn:re,[a0]:[{fn:rl,[a0]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[aW]:rn},{[aV]:[ou,r4],[aj]:[{[aV]:o9,[aj]:[{[aV]:ub,[aj]:[{[aV]:[rI,rq],error:"S3 Accelerate cannot be used in this region",[aW]:rn},{[aV]:[rQ,rO,os,r7,ol],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,rO,os,r7,og,oc],[aj]:[{endpoint:od,[aW]:rh}],[aW]:rg},{[aV]:[rQ,rO,os,r7,og,of],endpoint:od,[aW]:rh},{[aV]:[r9,rO,os,r7,ol],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,rO,os,r7,og,oc],[aj]:[{endpoint:om,[aW]:rh}],[aW]:rg},{[aV]:[r9,rO,os,r7,og,of],endpoint:om,[aW]:rh},{[aV]:[rQ,oe,rI,r7,ol],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,oe,rI,r7,og,oc],[aj]:[{endpoint:oy,[aW]:rh}],[aW]:rg},{[aV]:[rQ,oe,rI,r7,og,of],endpoint:oy,[aW]:rh},{[aV]:[rQ,oe,os,r7,ol],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,oe,os,r7,og,oc],[aj]:[{endpoint:oS,[aW]:rh}],[aW]:rg},{[aV]:[rQ,oe,os,r7,og,of],endpoint:oS,[aW]:rh},{[aV]:[r9,oe,os,rU,rj,rV,ol],endpoint:{url:rx,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,os,rU,rj,ob,ol],endpoint:{url:rd,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,os,rU,rj,rV,og,oc],[aj]:[{[aV]:uC,endpoint:oC,[aW]:rh},{endpoint:oC,[aW]:rh}],[aW]:rg},{[aV]:[r9,oe,os,rU,rj,ob,og,oc],[aj]:[{[aV]:uC,endpoint:ow,[aW]:rh},oT],[aW]:rg},{[aV]:[r9,oe,os,rU,rj,rV,og,of],endpoint:oC,[aW]:rh},{[aV]:[r9,oe,os,rU,rj,ob,og,of],endpoint:ow,[aW]:rh},{[aV]:[r9,oe,rI,r7,ol],endpoint:{url:rL,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,rI,r7,og,oc],[aj]:[{[aV]:uC,endpoint:ox,[aW]:rh},{endpoint:ox,[aW]:rh}],[aW]:rg},{[aV]:[r9,oe,rI,r7,og,of],endpoint:ox,[aW]:rh},{[aV]:[r9,oe,os,r7,ol],endpoint:{url:rE,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,oe,os,r7,og,oc],[aj]:[{[aV]:uC,endpoint:{url:rE,[a3]:op,[a7]:r2},[aW]:rh},{endpoint:oL,[aW]:rh}],[aW]:rg},{[aV]:[r9,oe,os,r7,og,of],endpoint:oL,[aW]:rh}],[aW]:rg},oE],[aW]:rg}],[aW]:rg},{[aV]:[rU,rj,{fn:ra,[a0]:[{fn:rr,[a0]:[r0,"scheme"]},"http"]},{fn:rc,[a0]:[rK,!0]},ou,oe,r9,os],[aj]:[{[aV]:o9,[aj]:[{[aV]:ub,[aj]:[oT],[aW]:rg},oE],[aW]:rg}],[aW]:rg},{[aV]:[ou,{fn:r_,[a0]:[rK],[a1]:rY}],[aj]:[{[aV]:[{fn:rr,[a0]:[o_,"resourceId[0]"],[a1]:rD},{fn:"not",[a0]:[{fn:ra,[a0]:[oY,""]}]}],[aj]:[{[aV]:[{fn:ra,[a0]:[oD,rv]}],[aj]:[{[aV]:uw,[aj]:[{[aV]:uT,[aj]:[oA,oN,{[aV]:uL,[aj]:[oP,{[aV]:uE,[aj]:[oZ,{[aV]:u_,[aj]:[{[aV]:o9,[aj]:[{[aV]:uY,[aj]:[{[aV]:uD,[aj]:[{[aV]:[{fn:ra,[a0]:[oM,""]}],error:"Invalid ARN: Missing account id",[aW]:rn},{[aV]:uv,[aj]:[{[aV]:uA,[aj]:[{[aV]:o6,endpoint:{url:rP,[a3]:oJ,[a7]:r2},[aW]:rh},{[aV]:uN,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oJ,[a7]:r2},[aW]:rh},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oJ,[a7]:r2},[aW]:rh}],[aW]:rg},ok],[aW]:rg},oB],[aW]:rg},oH],[aW]:rg},oF],[aW]:rg}],[aW]:rg}],[aW]:rg},oX],[aW]:rg},{error:"Invalid ARN: bucket ARN is missing a region",[aW]:rn}],[aW]:rg},oI],[aW]:rg},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[aW]:rn}],[aW]:rg},{[aV]:uw,[aj]:[{[aV]:uT,[aj]:[{[aV]:uL,[aj]:[{[aV]:uw,[aj]:[{[aV]:uL,[aj]:[oP,{[aV]:uE,[aj]:[oZ,{[aV]:u_,[aj]:[{[aV]:o9,[aj]:[{[aV]:[{fn:ra,[a0]:[oR,"{partitionResult#name}"]}],[aj]:[{[aV]:uD,[aj]:[{[aV]:[{fn:ra,[a0]:[oD,"s3"]}],[aj]:[{[aV]:uv,[aj]:[{[aV]:uA,[aj]:[{[aV]:o8,error:"Access Points do not support S3 Accelerate",[aW]:rn},{[aV]:ue,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:ui,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:un,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:[oe,r9,rU,rj],endpoint:{url:rP,[a3]:oO,[a7]:r2},[aW]:rh},{[aV]:ut,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oO,[a7]:r2},[aW]:rh}],[aW]:rg},ok],[aW]:rg},oB],[aW]:rg},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[aW]:rn}],[aW]:rg},oH],[aW]:rg},oF],[aW]:rg}],[aW]:rg}],[aW]:rg},oX],[aW]:rg}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:rC,[a0]:[ov,!0]}],[aj]:[{[aV]:ux,error:"S3 MRAP does not support dual-stack",[aW]:rn},{[aV]:uN,error:"S3 MRAP does not support FIPS",[aW]:rn},{[aV]:o8,error:"S3 MRAP does not support S3 Accelerate",[aW]:rn},{[aV]:[{fn:ri,[a0]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[aW]:rn},{[aV]:[{fn:rt,[a0]:o4,[a1]:rZ}],[aj]:[{[aV]:[{fn:ra,[a0]:[{fn:rr,[a0]:[{ref:rZ},ro]},{fn:rr,[a0]:[o_,"partition"]}]}],[aj]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[a3]:{[a4]:[{[a8]:!0,name:rw,[a6]:"s3",[a9]:["*"]}]},[a7]:r2},[aW]:rh}],[aW]:rg},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[aW]:rn}],[aW]:rg}],[aW]:rg},{error:"Invalid Access Point Name",[aW]:rn}],[aW]:rg},oI],[aW]:rg},{[aV]:[{fn:ra,[a0]:[oD,rT]}],[aj]:[{[aV]:ux,error:"S3 Outposts does not support Dual-stack",[aW]:rn},{[aV]:uN,error:"S3 Outposts does not support FIPS",[aW]:rn},{[aV]:o8,error:"S3 Outposts does not support S3 Accelerate",[aW]:rn},{[aV]:[{fn:re,[a0]:[{fn:rr,[a0]:[o_,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[aW]:rn},{[aV]:[{fn:rr,[a0]:[o_,"resourceId[1]"],[a1]:rb}],[aj]:[{[aV]:uy,[aj]:[oZ,{[aV]:u_,[aj]:[{[aV]:o9,[aj]:[{[aV]:uY,[aj]:[{[aV]:uD,[aj]:[{[aV]:uv,[aj]:[{[aV]:[{fn:rr,[a0]:[o_,"resourceId[2]"],[a1]:rR}],[aj]:[{[aV]:[{fn:rr,[a0]:[o_,"resourceId[3]"],[a1]:rN}],[aj]:[{[aV]:[{fn:ra,[a0]:[{ref:rR},rA]}],[aj]:[{[aV]:o6,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[a3]:oQ,[a7]:r2},[aW]:rh},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a3]:oQ,[a7]:r2},[aW]:rh}],[aW]:rg},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: expected an access point name",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: Expected a 4-component resource",[aW]:rn}],[aW]:rg},oB],[aW]:rg},oH],[aW]:rg},oF],[aW]:rg}],[aW]:rg}],[aW]:rg},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: The Outpost Id was not set",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[aW]:rn}],[aW]:rg},{error:"Invalid ARN: No ARN type specified",[aW]:rn}],[aW]:rg},{[aV]:[{fn:ru,[a0]:[rK,0,4,!1],[a1]:rM},{fn:ra,[a0]:[{ref:rM},"arn:"]},{fn:"not",[a0]:[{fn:re,[a0]:[oU]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[aW]:rn},{[aV]:[{fn:ri,[a0]:[{ref:"ForcePathStyle"},!0]},oU],error:"Path-style addressing cannot be used with ARN buckets",[aW]:rn},{[aV]:[r1],[aj]:[{[aV]:o9,[aj]:[{[aV]:[os],[aj]:[{[aV]:[rQ,r7,rO,ol],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,r7,rO,og,oc],[aj]:[{endpoint:oG,[aW]:rh}],[aW]:rg},{[aV]:[rQ,r7,rO,og,of],endpoint:oG,[aW]:rh},{[aV]:[r9,r7,rO,ol],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,r7,rO,og,oc],[aj]:[{endpoint:oq,[aW]:rh}],[aW]:rg},{[aV]:[r9,r7,rO,og,of],endpoint:oq,[aW]:rh},{[aV]:[rQ,r7,oe,ol],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rQ,r7,oe,og,oc],[aj]:[{endpoint:o$,[aW]:rh}],[aW]:rg},{[aV]:[rQ,r7,oe,og,of],endpoint:o$,[aW]:rh},{[aV]:[r9,rU,rj,oe,ol],endpoint:{url:rJ,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,rU,rj,oe,og,oc],[aj]:[{[aV]:uC,endpoint:oK,[aW]:rh},{endpoint:oK,[aW]:rh}],[aW]:rg},{[aV]:[r9,rU,rj,oe,og,of],endpoint:oK,[aW]:rh},{[aV]:[r9,r7,oe,ol],endpoint:{url:rk,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[r9,r7,oe,og,oc],[aj]:[{[aV]:uC,endpoint:{url:rk,[a3]:op,[a7]:r2},[aW]:rh},{endpoint:oz,[aW]:rh}],[aW]:rg},{[aV]:[r9,r7,oe,og,of],endpoint:oz,[aW]:rh}],[aW]:rg},{error:"Path-style addressing cannot be used with S3 Accelerate",[aW]:rn}],[aW]:rg}],[aW]:rg}],[aW]:rg},{[aV]:[{fn:re,[a0]:[oW]},{fn:ri,[a0]:[oW,!0]}],[aj]:[{[aV]:o9,[aj]:[{[aV]:uP,[aj]:[oA,oN,{[aV]:o6,endpoint:{url:rf,[a3]:oj,[a7]:r2},[aW]:rh},{[aV]:uN,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[a3]:oj,[a7]:r2},[aW]:rh},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[a3]:oj,[a7]:r2},[aW]:rh}],[aW]:rg},oE],[aW]:rg}],[aW]:rg},{[aV]:[on],[aj]:[{[aV]:o9,[aj]:[{[aV]:uP,[aj]:[{[aV]:[rO,rQ,r7,ol],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rO,rQ,r7,og,oc],[aj]:[{endpoint:oV,[aW]:rh}],[aW]:rg},{[aV]:[rO,rQ,r7,og,of],endpoint:oV,[aW]:rh},{[aV]:[rO,r9,r7,ol],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[rO,r9,r7,og,oc],[aj]:[{endpoint:o0,[aW]:rh}],[aW]:rg},{[aV]:[rO,r9,r7,og,of],endpoint:o0,[aW]:rh},{[aV]:[oe,rQ,r7,ol],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[oe,rQ,r7,og,oc],[aj]:[{endpoint:o1,[aW]:rh}],[aW]:rg},{[aV]:[oe,rQ,r7,og,of],endpoint:o1,[aW]:rh},{[aV]:[oe,r9,rU,rj,ol],endpoint:{url:rf,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[oe,r9,rU,rj,og,oc],[aj]:[{[aV]:uC,endpoint:o3,[aW]:rh},{endpoint:o3,[aW]:rh}],[aW]:rg},{[aV]:[oe,r9,rU,rj,og,of],endpoint:o3,[aW]:rh},{[aV]:[oe,r9,r7,ol],endpoint:{url:rB,[a3]:oh,[a7]:r2},[aW]:rh},{[aV]:[oe,r9,r7,og,oc],[aj]:[{[aV]:uC,endpoint:{url:rB,[a3]:op,[a7]:r2},[aW]:rh},{endpoint:o2,[aW]:rh}],[aW]:rg},{[aV]:[oe,r9,r7,og,of],endpoint:o2,[aW]:rh}],[aW]:rg},oE],[aW]:rg}],[aW]:rg}],[aW]:rg},{error:"A region must be set when sending requests to S3.",[aW]:rn}]},uR=new aI({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),endpointResolver_defaultEndpointResolver=(e,i={})=>uR.get(e,()=>resolveEndpoint(uZ,{endpointParams:e,logger:i.logger}));tL.aws=tD;let uM=(d=async(e,i,n)=>({operation:getSmithyContext(i).operation,region:await normalizeProvider(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),async(e,i,n)=>{if(!n)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let t=await d(e,i,n),a=getSmithyContext(i)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${i.commandName}'`);return Object.assign(t,await resolveParams(n,{getEndpointParameterInstructions:a},e))});function createAwsAuthSigv4HttpAuthOption(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}function createAwsAuthSigv4aHttpAuthOption(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}let uJ=(j=e=>{let i=[];return e.operation,i.push(createAwsAuthSigv4HttpAuthOption(e)),i.push(createAwsAuthSigv4aHttpAuthOption(e)),i},V={"aws.auth#sigv4":createAwsAuthSigv4HttpAuthOption,"aws.auth#sigv4a":createAwsAuthSigv4aHttpAuthOption},e=>{let i=endpointResolver_defaultEndpointResolver(e),n=i.properties?.authSchemes;if(!n)return j(e);let t=[];for(let i of n){let a,{name:r,properties:o={},...u}=i,s=r.toLowerCase();if(r!==s&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${r}' to '${s}'`),"sigv4a"===s){a="aws.auth#sigv4a";let e=n.find(e=>{let i=e.name.toLowerCase();return"sigv4a"!==i&&i.startsWith("sigv4")});if("none"===aB.sigv4aDependency()&&e)continue}else if(s.startsWith("sigv4"))a="aws.auth#sigv4";else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${s}'`);let l=V[a];if(!l)throw Error(`Could not find HttpAuthOption create function for '${a}'`);let h=l(e);h.schemeId=a,h.signingProperties={...h.signingProperties||{},...u,...o},t.push(h)}return t});async function splitStream(e){return"function"==typeof e.stream&&(e=e.stream()),e.tee()}let isReadableStream=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);async function splitStream_splitStream(e){if(isReadableStream(e)||"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob))return splitStream(e);let i=new au.PassThrough,n=new au.PassThrough;return e.pipe(i),e.pipe(n),[i,n]}async function headStream(e,i){let n=0,t=[],a=e.getReader(),r=!1;for(;!r;){let{done:e,value:o}=await a.read();if(o&&(t.push(o),n+=o?.byteLength??0),n>=i)break;r=e}a.releaseLock();let o=new Uint8Array(Math.min(i,n)),u=0;for(let e of t){if(e.byteLength>o.byteLength-u){o.set(e.subarray(0,o.byteLength-u),u);break}o.set(e,u),u+=e.length}return o}class uk extends au.Writable{buffers=[];limit=1/0;bytesBuffered=0;_write(e,i,n){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let e=this.bytesBuffered-this.limit,i=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=i.subarray(0,i.byteLength-e),this.emit("finish")}n()}}let uB={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},uH={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},getThrow200ExceptionsPlugin=e=>({applyToStack:i=>{i.addRelativeTo((i,n)=>async t=>{let a=await i(t),{response:r}=a;if(!tB.isInstance(r))return a;let{statusCode:o,body:u}=r;if(o<200||o>=300||"function"!=typeof u?.stream&&"function"!=typeof u?.pipe&&"function"!=typeof u?.tee)return a;let s=u,l=u;!u||"object"!=typeof u||u instanceof Uint8Array||([s,l]=await splitStream_splitStream(u)),r.body=l;let h=await ((e=new Uint8Array,i)=>e instanceof Uint8Array?Promise.resolve(e):i.streamCollector(e)||Promise.resolve(new Uint8Array))(s,{streamCollector:async e=>isReadableStream(e)?headStream(e,3e3):new Promise((i,n)=>{let t=new uk;t.limit=3e3,e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.buffers)))})})});"function"==typeof s?.destroy&&s.destroy();let g=e.utf8Encoder(h.subarray(h.length-16));if(0===h.length&&uB[n.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(r.statusCode=400),a},uH)}});function setFeature_setFeature(e,i,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[i]=n}let uF={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},getEndpointPlugin=(e,i)=>({applyToStack:n=>{n.addRelativeTo((({config:e,instructions:i})=>(n,t)=>async a=>{e.isCustomEndpoint&&setFeature_setFeature(t,"ENDPOINT_OVERRIDE","N");let r=await getEndpointFromInstructions(a.input,{getEndpointParameterInstructions:()=>i},{...e},t);t.endpointV2=r,t.authSchemes=r.properties?.authSchemes;let o=t.authSchemes?.[0];if(o){t.signing_region=o.signingRegion,t.signing_service=o.signingName;let e=getSmithyContext(t),i=e?.selectedHttpAuthScheme?.httpAuthOption;i&&(i.signingProperties=Object.assign(i.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return n({...a})})({config:e,instructions:i}),uF)}}),deref=e=>"function"==typeof e?e():e;function translateTraits(e){if("object"==typeof e)return e;e|=0;let i={},n=0;for(let t of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(e>>n++&1)==1&&(i[t]=1);return i}class uX{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=uX.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,i){this.ref=e,this.memberName=i;let n=[],t=e,a=e;for(this._isMemberSchema=!1;isMemberSchema(t);)n.push(t[1]),a=deref(t=t[0]),this._isMemberSchema=!0;if(n.length>0){this.memberTraits={};for(let e=n.length-1;e>=0;--e){let i=n[e];Object.assign(this.memberTraits,translateTraits(i))}}else this.memberTraits=0;if(a instanceof uX){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=i??a.memberName;return}if(this.schema=deref(a),isStaticSchema(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(a),this.traits=0),this._isMemberSchema&&!i)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let i=this.prototype.isPrototypeOf(e);return i||"object"!=typeof e||null===e?i:e.symbol===this.symbol}static of(e){let i=deref(e);if(i instanceof uX)return i;if(isMemberSchema(i)){let[n,t]=i;if(n instanceof uX)return Object.assign(n.getMergedTraits(),translateTraits(t)),n;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new uX(i)}getSchema(){let e=this.schema;return 0===e[0]?e[4]:e}getName(e=!1){let{name:i}=this;return!e&&i&&i.includes("#")?i.split("#")[1]:i||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){let e=this.getSchema();return"number"==typeof e?e>=64&&e<128:1===e[0]}isMapSchema(){let e=this.getSchema();return"number"==typeof e?e>=128&&e<=255:2===e[0]}isStructSchema(){let e=this.getSchema()[0];return 3===e||-3===e||4===e}isUnionSchema(){return 4===this.getSchema()[0]}isBlobSchema(){let e=this.getSchema();return 21===e||42===e}isTimestampSchema(){let e=this.getSchema();return"number"==typeof e&&e>=4&&e<=7}isUnitSchema(){return"unit"===this.getSchema()}isDocumentSchema(){return 15===this.getSchema()}isStringSchema(){return 0===this.getSchema()}isBooleanSchema(){return 2===this.getSchema()}isNumericSchema(){return 1===this.getSchema()}isBigIntegerSchema(){return 17===this.getSchema()}isBigDecimalSchema(){return 19===this.getSchema()}isStreaming(){let{streaming:e}=this.getMergedTraits();return!!e||42===this.getSchema()}isIdempotencyToken(){let match=e=>(4&e)==4||!!e?.idempotencyToken,{normalizedTraits:e,traits:i,memberTraits:n}=this;return match(e)||match(i)||match(n)}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return translateTraits(this.memberTraits)}getOwnTraits(){return translateTraits(this.traits)}getKeySchema(){let[e,i]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!i)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let n=this.getSchema();return NormalizedSchema_member([e?15:n[4]??0,0],"key")}getValueSchema(){let e=this.getSchema(),[i,n,t]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a="number"==typeof e?63&e:e&&"object"==typeof e&&(n||t)?e[3+e[0]]:i?15:void 0;if(null!=a)return NormalizedSchema_member([a,0],n?"value":"member");throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let i=this.getSchema();if(this.isStructSchema()&&i[4].includes(e)){let n=i[4].indexOf(e),t=i[5][n];return NormalizedSchema_member(isMemberSchema(t)?t:[t,0],e)}if(this.isDocumentSchema())return NormalizedSchema_member([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[i,n]of this.structIterator())e[i]=n}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,i]of this.structIterator())if(i.isStreaming()&&i.isStructSchema())return e}return""}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw Error("@smithy/core/schema - cannot iterate non-struct schema.");let e=this.getSchema();for(let i=0;i<e[4].length;++i)yield[e[4][i],NormalizedSchema_member([e[5][i],0],e[4][i])]}}function NormalizedSchema_member(e,i){return e instanceof uX?Object.assign(e,{memberName:i,_isMemberSchema:!0}):new uX(e,i)}let isMemberSchema=e=>Array.isArray(e)&&2===e.length,isStaticSchema=e=>Array.isArray(e)&&e.length>=5,uI="***SensitiveInformation***";function schemaLogFilter(e,i){if(null==i)return i;let n=uX.of(e);if(n.getMergedTraits().sensitive)return uI;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return uI}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return uI}else if(n.isStructSchema()&&"object"==typeof i){let e={};for(let[t,a]of n.structIterator())null!=i[t]&&(e[t]=schemaLogFilter(a,i[t]));return e}return i}class uO{middlewareStack=constructStack();schema;static classBuilder(){return new uQ}resolveMiddlewareWithContext(e,i,n,{middlewareFn:t,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,smithyContext:s,additionalContext:l,CommandCtor:h}){for(let a of t.bind(this)(h,e,i,n))this.middlewareStack.use(a);let g=e.concat(this.middlewareStack),{logger:c}=i,d={logger:c,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,[tw]:{commandInstance:this,...s},...l},{requestHandler:p}=i;return g.resolve(e=>p.handle(e.request,n||{}),d)}}class uQ{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,i,n={}){return this._smithyContext={service:e,operation:i,...n},this}c(e={}){return this._additionalContext=e,this}n(e,i){return this._clientName=e,this._commandName=i,this}f(e=e=>e,i=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=i,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){let e,i=this;return e=class extends uO{input;static getEndpointParameterInstructions(){return i._ep}constructor(...[e]){super(),this.input=e??{},i._init(this),this.schema=i._operationSchema}resolveMiddleware(n,t,a){let r=i._operationSchema,o=r?.[4]??r?.input,u=r?.[5]??r?.output;return this.resolveMiddlewareWithContext(n,t,a,{CommandCtor:e,middlewareFn:i._middlewareFn,clientName:i._clientName,commandName:i._commandName,inputFilterSensitiveLog:i._inputFilterSensitiveLog??(r?schemaLogFilter.bind(null,o):e=>e),outputFilterSensitiveLog:i._outputFilterSensitiveLog??(r?schemaLogFilter.bind(null,u):e=>e),smithyContext:i._smithyContext,additionalContext:i._additionalContext})}serialize=i._serializer;deserialize=i._deserializer}}}let uU={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class uG{namespace;schemas;exceptions;static registries=new Map;constructor(e,i=new Map,n=new Map){this.namespace=e,this.schemas=i,this.exceptions=n}static for(e){return uG.registries.has(e)||uG.registries.set(e,new uG(e)),uG.registries.get(e)}register(e,i){let n=this.normalizeShapeId(e);uG.for(n.split("#")[0]).schemas.set(n,i)}getSchema(e){let i=this.normalizeShapeId(e);if(!this.schemas.has(i))throw Error(`@smithy/core/schema - schema not found for ${i}`);return this.schemas.get(i)}registerError(e,i){let n=uG.for(e[1]);n.schemas.set(e[1]+"#"+e[2],e),n.exceptions.set(e,i)}getErrorCtor(e){return uG.for(e[1]).exceptions.get(e)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,i,n]=e,t=i+"#"+n;if(t.startsWith("smithy.ts.sdk.synthetic.")&&t.endsWith("ServiceException"))return e}}find(e){return[...this.schemas.values()].find(e)}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes("#")?e:this.namespace+"#"+e}}class uq extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(e){return!!e&&(uq.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===uq?uq.isInstance(e):!!uq.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let decorateServiceException=(e,i={})=>{Object.entries(i).filter(([,e])=>void 0!==e).forEach(([i,n])=>{(void 0==e[i]||""===e[i])&&(e[i]=n)});let n=e.message||e.Message||"UnknownError";return e.message=n,delete e.Message,e};class u$ extends uq{constructor(e){super(e),Object.setPrototypeOf(this,u$.prototype)}}class uK extends u${name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,uK.prototype)}}class uz extends u${name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,uz.prototype)}}class uW extends u${name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,uW.prototype)}}class uj extends u${name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,uj.prototype)}}class uV extends u${name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,uV.prototype)}}class u0 extends u${name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,u0.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class u1 extends u${name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,u1.prototype)}}class u3 extends u${name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,u3.prototype)}}class u2 extends u${name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u2.prototype)}}class u4 extends u${name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,u4.prototype)}}class u8 extends u${name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,u8.prototype)}}class u6 extends u${name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,u6.prototype)}}class u5 extends u${name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u5.prototype)}}class u7 extends u${name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,u7.prototype)}}let u9="AccessControlTranslation",se="AbortIncompleteMultipartUpload",si="AccessKeyId",sn="AccessPointArn",st="AcceptRanges",sa="AccessTier",sr="Bucket",so="BlockedEncryptionTypes",su="BucketKeyEnabled",ss="Body",sl="ChecksumAlgorithm",sh="CacheControl",sg="ChecksumCRC32",sc="ChecksumCRC32C",sd="ChecksumCRC64NVME",sp="Cache-Control",sf="Content-Disposition",sm="ContentDisposition",sy="Content-Encoding",sS="ContentEncoding",sb="ContentLanguage",sC="Content-Language",sw="Content-Length",sT="ContentLength",sx="Content-MD5",sL="ContentMD5",sE="CompleteMultipartUpload",s_="ChecksumMode",sY="ContentRange",sD="Content-Range",sv="ChecksumSHA1",sA="ChecksumSHA256",sN="ChecksumType",sP="Content-Type",sZ="ContentType",sR="ContinuationToken",sM="Condition",sJ="Credentials",sk="Days",sB="DeleteMarker",sH="DeleteMarkerReplication",sF="DisplayName",sX="DefaultRetention",sI="Date",sO="Delimiter",sQ="Destination",sU="Expiration",sG="ExpectedBucketOwner",sq="EncryptionConfiguration",s$="ExistingObjectReplication",sK="ExpiresString",sz="EncryptionType",sW="ETag",sj="EncodingType",sV="Encryption",s0="Events",s1="Event",s3="Expires",s2="Filter",s4="FieldDelimiter",s8="FilterRule",s6="Format",s5="GrantFullControl",s7="GrantRead",s9="GrantReadACP",le="GrantWriteACP",li="Grant",ln="Grantee",la="HostName",lr="IfMatch",lo="If-Modified-Since",lu="IfModifiedSince",ls="If-Match",ll="IfNoneMatch",lh="If-None-Match",lg="InputSerialization",lc="IfUnmodifiedSince",ld="If-Unmodified-Since",lp="Initiator",lf="JSON",lm="LastModified",ly="Last-Modified",lS="Metadata",lb="MetadataEntry",lC="MaxKeys",lw="MissingMeta",lT="MultipartUpload",lx="Metrics",lL="Name",lE="NoncurrentDays",l_="NewerNoncurrentVersions",lY="NoncurrentVersionExpiration",lD="NoncurrentVersionTransition",lv="Owner",lA="ObjectLockLegalHoldStatus",lN="ObjectLockMode",lP="ObjectLockRetainUntilDate",lZ="ObjectSizeGreaterThan",lR="ObjectSizeLessThan",lM="OutputSerialization",lJ="Prefix",lk="PartsCount",lB="PartNumber",lH="PartitionedPrefix",lF="Part",lX="Permission",lI="Protocol",lO="QuoteCharacter",lQ="QuoteEscapeCharacter",lU="RequestCharged",lG="ResponseCacheControl",lq="ResponseContentDisposition",l$="ResponseContentEncoding",lK="ResponseContentLanguage",lz="ResponseContentType",lW="RecordDelimiter",lj="ResponseExpires",lV="RecordExpiration",l0="ReplicaModifications",l1="RequestPayer",l3="RoutingRule",l2="ReplicationStatus",l4="RestoreStatus",l8="ReplicationTime",l6="Range",l5="Restore",l7="Redirect",l9="Status",he="StartAfter",hi="SecretAccessKey",hn="S3BucketDestination",ht="StorageClass",ha="StorageClassAnalysis",hr="SSE-KMS",ho="SseKmsEncryptedObjects",hu="SimplePrefix",hs="SSE-S3",hl="SourceSelectionCriteria",hh="ServerSideEncryption",hg="SSECustomerAlgorithm",hc="SSECustomerKey",hd="SSECustomerKeyMD5",hp="SSEKMS",hf="SSEKMSEncryptionContext",hm="SSEKMSKeyId",hy="SSES3",hS="SessionToken",hb="Size",hC="Tags",hw="TagCount",hT="TargetGrants",hx="TargetObjectKeyFormat",hL="TagSet",hE="Tagging",h_="Tiering",hY="Transition",hD="Type",hv="UploadId",hA="UserMetadata",hN="Value",hP="VersionId",hZ="WebsiteRedirectLocation",hR="accept-ranges",hM="client",hJ="error",hk="http",hB="httpChecksum",hH="httpError",hF="httpHeader",hX="httpPayload",hI="httpPrefixHeaders",hO="httpQuery",hQ="http://www.w3.org/2001/XMLSchema-instance",hU="partNumber",hG="response-cache-control",hq="response-content-disposition",h$="response-content-encoding",hK="response-content-language",hz="response-content-type",hW="response-expires",hj="smithy.ts.sdk.synthetic.com.amazonaws.s3",hV="uploadId",h0="versionId",h1="xmlFlattened",h3="xmlName",h2="xmlNamespace",h4="x-amz-acl",h8="x-amz-checksum-algorithm",h6="x-amz-checksum-crc32",h5="x-amz-checksum-crc32c",h7="x-amz-checksum-crc64nvme",h9="x-amz-checksum-mode",ge="x-amz-checksum-sha1",gi="x-amz-checksum-sha256",gn="x-amz-checksum-type",ga="x-amz-delete-marker",gr="x-amz-expiration",go="x-amz-expected-bucket-owner",gu="x-amz-grant-full-control",gs="x-amz-grant-read",gl="x-amz-grant-read-acp",gh="x-amz-grant-write-acp",gg="x-amz-meta-",gc="x-amz-missing-meta",gd="x-amz-mp-parts-count",gp="x-amz-object-lock-legal-hold",gf="x-amz-object-lock-mode",gm="x-amz-object-lock-retain-until-date",gy="x-amz-restore",gS="x-amz-request-charged",gb="x-amz-request-payer",gC="x-amz-replication-status",gw="x-amz-storage-class",gT="x-amz-sdk-checksum-algorithm",gx="x-amz-server-side-encryption",gL="x-amz-server-side-encryption-aws-kms-key-id",gE="x-amz-server-side-encryption-bucket-key-enabled",g_="x-amz-server-side-encryption-context",gY="x-amz-server-side-encryption-customer-algorithm",gD="x-amz-server-side-encryption-customer-key",gv="x-amz-server-side-encryption-customer-key-MD5",gA="x-amz-tagging",gN="x-amz-tagging-count",gP="x-amz-version-id",gZ="x-amz-website-redirect-location",gR="com.amazonaws.s3";var gM=[0,gR,"SessionCredentialValue",8,0],gJ=[0,gR,hc,8,0],gk=[0,gR,hf,8,0],gB=[0,gR,hm,8,0],gH=[0,gR,"StreamingBlob",{streaming:1},42],gF=[3,gR,se,0,["DaysAfterInitiation"],[1]],gX=[3,gR,"AbortMultipartUploadOutput",0,[lU],[[0,{[hF]:gS}]]],gI=[3,gR,"AbortMultipartUploadRequest",0,[sr,"Key",hv,l1,sG,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[hO]:hV}],[0,{[hF]:gb}],[0,{[hF]:go}],[6,{[hF]:"x-amz-if-match-initiated-time"}]]],gO=[3,gR,u9,0,[lv],[0]],gQ=[3,gR,"AnalyticsAndOperator",0,[lJ,hC],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}]]],gU=[3,gR,"AnalyticsExportDestination",0,[hn],[()=>gG]],gG=[3,gR,"AnalyticsS3BucketDestination",0,[s6,"BucketAccountId",sr,lJ],[0,0,0,0]],gq=[3,gR,so,0,[sz],[[()=>dM,{[h1]:1}]]],g$=[-3,gR,"BucketAlreadyExists",{[hJ]:hM,[hH]:409},[],[]];uG.for(gR).registerError(g$,uW);var gK=[-3,gR,"BucketAlreadyOwnedByYou",{[hJ]:hM,[hH]:409},[],[]];uG.for(gR).registerError(gK,uj);var gz=[3,gR,"CommonPrefix",0,[lJ],[0]],gW=[3,gR,"CompletedMultipartUpload",0,["Parts"],[[()=>dR,{[h1]:1,[h3]:lF}]]],gj=[3,gR,"CompletedPart",0,[sW,sg,sc,sd,sv,sA,lB],[0,0,0,0,0,0,1]],gV=[3,gR,"CompleteMultipartUploadOutput",{[h3]:"CompleteMultipartUploadResult"},["Location",sr,"Key",sU,sW,sg,sc,sd,sv,sA,sN,hh,hP,hm,su,lU],[0,0,0,[0,{[hF]:gr}],0,0,0,0,0,0,0,[0,{[hF]:gx}],[0,{[hF]:gP}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gS}]]],g0=[3,gR,"CompleteMultipartUploadRequest",0,[sr,"Key",lT,hv,sg,sc,sd,sv,sA,sN,"MpuObjectSize",l1,sG,lr,ll,hg,hc,hd],[[0,1],[0,1],[()=>gW,{[hX]:1,[h3]:sE}],[0,{[hO]:hV}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[1,{[hF]:"x-amz-mp-object-size"}],[0,{[hF]:gb}],[0,{[hF]:go}],[0,{[hF]:ls}],[0,{[hF]:lh}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}]]],g1=[3,gR,sM,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],g3=[3,gR,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[h1]:1,[h3]:"AllowedHeader"}],[64,{[h1]:1,[h3]:"AllowedMethod"}],[64,{[h1]:1,[h3]:"AllowedOrigin"}],[64,{[h1]:1,[h3]:"ExposeHeader"}],1]],g2=[3,gR,"CreateMultipartUploadOutput",{[h3]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",sr,"Key",hv,hh,hg,hd,hm,hf,su,lU,sl,sN],[[4,{[hF]:"x-amz-abort-date"}],[0,{[hF]:"x-amz-abort-rule-id"}],[0,{[h3]:sr}],0,0,[0,{[hF]:gx}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[0,{[hF]:gS}],[0,{[hF]:h8}],[0,{[hF]:gn}]]],g4=[3,gR,"CreateMultipartUploadRequest",0,["ACL",sr,sh,sm,sS,sb,sZ,s3,s5,s7,s9,le,"Key",lS,hh,ht,hZ,hg,hc,hd,hm,hf,su,l1,hE,lN,lP,lA,sG,sl,sN],[[0,{[hF]:h4}],[0,1],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[0,{[hF]:sP}],[4,{[hF]:s3}],[0,{[hF]:gu}],[0,{[hF]:gs}],[0,{[hF]:gl}],[0,{[hF]:gh}],[0,1],[128,{[hI]:gg}],[0,{[hF]:gx}],[0,{[hF]:gw}],[0,{[hF]:gZ}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[0,{[hF]:gb}],[0,{[hF]:gA}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}],[0,{[hF]:go}],[0,{[hF]:h8}],[0,{[hF]:gn}]]],g8=[3,gR,"CreateSessionOutput",{[h3]:"CreateSessionResult"},[hh,hm,hf,su,sJ],[[0,{[hF]:gx}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[()=>dp,{[h3]:sJ}]]],g6=[3,gR,"CreateSessionRequest",0,["SessionMode",sr,hh,hm,hf,su],[[0,{[hF]:"x-amz-create-session-mode"}],[0,1],[0,{[hF]:gx}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}]]],g5=[3,gR,"CSVInput",0,["FileHeaderInfo","Comments",lQ,lW,s4,lO,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],g7=[3,gR,"CSVOutput",0,["QuoteFields",lQ,lW,s4,lO],[0,0,0,0,0]],g9=[3,gR,sX,0,["Mode",sk,"Years"],[0,1,1]],ce=[3,gR,sH,0,[l9],[0]],ci=[3,gR,"DeleteObjectOutput",0,[sB,hP,lU],[[2,{[hF]:ga}],[0,{[hF]:gP}],[0,{[hF]:gS}]]],cn=[3,gR,"DeleteObjectRequest",0,[sr,"Key","MFA",hP,l1,"BypassGovernanceRetention",sG,lr,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[hF]:"x-amz-mfa"}],[0,{[hO]:h0}],[0,{[hF]:gb}],[2,{[hF]:"x-amz-bypass-governance-retention"}],[0,{[hF]:go}],[0,{[hF]:ls}],[6,{[hF]:"x-amz-if-match-last-modified-time"}],[1,{[hF]:"x-amz-if-match-size"}]]],ct=[3,gR,sQ,0,[sr,"Account",ht,u9,sq,l8,lx],[0,0,0,()=>gO,()=>cr,()=>dr,()=>cH]],ca=[3,gR,sV,0,[sz,"KMSKeyId","KMSContext"],[0,[()=>gB,0],0]],cr=[3,gR,sq,0,["ReplicaKmsKeyID"],[0]],co=[-3,gR,"EncryptionTypeMismatch",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(co,u2);var cu=[3,gR,s$,0,[l9],[0]],cs=[3,gR,s8,0,[lL,hN],[0,0]],cl=[3,gR,"GetObjectOutput",0,[ss,sB,st,sU,l5,lm,sT,sW,sg,sc,sd,sv,sA,sN,lw,hP,sh,sm,sS,sb,sY,sZ,s3,sK,hZ,hh,lS,hg,hd,hm,su,ht,lU,l2,lk,hw,lN,lP,lA],[[()=>gH,16],[2,{[hF]:ga}],[0,{[hF]:hR}],[0,{[hF]:gr}],[0,{[hF]:gy}],[4,{[hF]:ly}],[1,{[hF]:sw}],[0,{[hF]:sW}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[1,{[hF]:gc}],[0,{[hF]:gP}],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[0,{[hF]:sD}],[0,{[hF]:sP}],[4,{[hF]:s3}],[0,{[hF]:sK}],[0,{[hF]:gZ}],[0,{[hF]:gx}],[128,{[hI]:gg}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gw}],[0,{[hF]:gS}],[0,{[hF]:gC}],[1,{[hF]:gd}],[1,{[hF]:gN}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}]]],ch=[3,gR,"GetObjectRequest",0,[sr,lr,lu,ll,lc,"Key",l6,lG,lq,l$,lK,lz,lj,hP,hg,hc,hd,l1,lB,sG,s_],[[0,1],[0,{[hF]:ls}],[4,{[hF]:lo}],[0,{[hF]:lh}],[4,{[hF]:ld}],[0,1],[0,{[hF]:l6}],[0,{[hO]:hG}],[0,{[hO]:hq}],[0,{[hO]:h$}],[0,{[hO]:hK}],[0,{[hO]:hz}],[6,{[hO]:hW}],[0,{[hO]:h0}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[0,{[hF]:gb}],[1,{[hO]:hU}],[0,{[hF]:go}],[0,{[hF]:h9}]]],cg=[3,gR,li,0,[ln,lX],[[()=>cc,{[h2]:["xsi",hQ]}],0]],cc=[3,gR,ln,0,[sF,"EmailAddress","ID","URI",hD],[0,0,0,0,[0,{xmlAttribute:1,[h3]:"xsi:type"}]]],cd=[3,gR,"HeadObjectOutput",0,[sB,st,sU,l5,"ArchiveStatus",lm,sT,sg,sc,sd,sv,sA,sN,sW,lw,hP,sh,sm,sS,sb,sZ,sY,s3,sK,hZ,hh,lS,hg,hd,hm,su,ht,lU,l2,lk,hw,lN,lP,lA],[[2,{[hF]:ga}],[0,{[hF]:hR}],[0,{[hF]:gr}],[0,{[hF]:gy}],[0,{[hF]:"x-amz-archive-status"}],[4,{[hF]:ly}],[1,{[hF]:sw}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[0,{[hF]:sW}],[1,{[hF]:gc}],[0,{[hF]:gP}],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[0,{[hF]:sP}],[0,{[hF]:sD}],[4,{[hF]:s3}],[0,{[hF]:sK}],[0,{[hF]:gZ}],[0,{[hF]:gx}],[128,{[hI]:gg}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gw}],[0,{[hF]:gS}],[0,{[hF]:gC}],[1,{[hF]:gd}],[1,{[hF]:gN}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}]]],cp=[3,gR,"HeadObjectRequest",0,[sr,lr,lu,ll,lc,"Key",l6,lG,lq,l$,lK,lz,lj,hP,hg,hc,hd,l1,lB,sG,s_],[[0,1],[0,{[hF]:ls}],[4,{[hF]:lo}],[0,{[hF]:lh}],[4,{[hF]:ld}],[0,1],[0,{[hF]:l6}],[0,{[hO]:hG}],[0,{[hO]:hq}],[0,{[hO]:h$}],[0,{[hO]:hK}],[0,{[hO]:hz}],[6,{[hO]:hW}],[0,{[hO]:h0}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[0,{[hF]:gb}],[1,{[hO]:hU}],[0,{[hF]:go}],[0,{[hF]:h9}]]],cf=[-3,gR,"IdempotencyParameterMismatch",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(cf,u5);var cm=[3,gR,lp,0,["ID",sF],[0,0]],cy=[3,gR,lg,0,["CSV","CompressionType",lf,"Parquet"],[()=>g5,0,()=>cD,()=>c3]],cS=[3,gR,"IntelligentTieringAndOperator",0,[lJ,hC],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}]]],cb=[3,gR,"IntelligentTieringFilter",0,[lJ,"Tag","And"],[0,()=>dT,[()=>cS,0]]],cC=[-3,gR,"InvalidObjectState",{[hJ]:hM,[hH]:403},[ht,sa],[0,0]];uG.for(gR).registerError(cC,u0);var cw=[-3,gR,"InvalidRequest",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(cw,u4);var cT=[-3,gR,"InvalidWriteOffset",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(cT,u8);var cx=[3,gR,"InventoryDestination",0,[hn],[[()=>c_,0]]],cL=[3,gR,"InventoryEncryption",0,[hy,hp],[[()=>db,{[h3]:hs}],[()=>dy,{[h3]:hr}]]],cE=[3,gR,"InventoryFilter",0,[lJ],[0]],c_=[3,gR,"InventoryS3BucketDestination",0,["AccountId",sr,s6,lJ,sV],[0,0,0,0,[()=>cL,0]]],cY=[3,gR,"InventorySchedule",0,["Frequency"],[0]],cD=[3,gR,"JSONInput",0,[hD],[0]],cv=[3,gR,"JSONOutput",0,[lW],[0]],cA=[3,gR,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",s0,s2],[0,[0,{[h3]:"CloudFunction"}],[64,{[h1]:1,[h3]:s1}],[()=>cq,0]]],cN=[3,gR,"LifecycleExpiration",0,[sI,sk,"ExpiredObjectDeleteMarker"],[5,1,2]],cP=[3,gR,"LifecycleRule",0,[sU,"ID",lJ,s2,l9,"Transitions","NoncurrentVersionTransitions",lY,se],[()=>cN,0,0,[()=>cR,0],0,[()=>dO,{[h1]:1,[h3]:hY}],[()=>dH,{[h1]:1,[h3]:lD}],()=>cX,()=>gF]],cZ=[3,gR,"LifecycleRuleAndOperator",0,[lJ,hC,lZ,lR],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}],1,1]],cR=[3,gR,"LifecycleRuleFilter",0,[lJ,"Tag",lZ,lR,"And"],[0,()=>dT,1,1,[()=>cZ,0]]],cM=[3,gR,"ListObjectsV2Output",{[h3]:"ListBucketResult"},["IsTruncated","Contents",lL,lJ,sO,lC,"CommonPrefixes",sj,"KeyCount",sR,"NextContinuationToken",he,lU],[2,[()=>dF,{[h1]:1}],0,0,0,1,[()=>dZ,{[h1]:1}],0,1,0,0,0,[0,{[hF]:gS}]]],cJ=[3,gR,"ListObjectsV2Request",0,[sr,sO,sj,lC,lJ,sR,"FetchOwner",he,l1,sG,"OptionalObjectAttributes"],[[0,1],[0,{[hO]:"delimiter"}],[0,{[hO]:"encoding-type"}],[1,{[hO]:"max-keys"}],[0,{[hO]:"prefix"}],[0,{[hO]:"continuation-token"}],[2,{[hO]:"fetch-owner"}],[0,{[hO]:"start-after"}],[0,{[hF]:gb}],[0,{[hF]:go}],[64,{[hF]:"x-amz-optional-object-attributes"}]]],ck=[3,gR,lb,0,[lL,hN],[0,0]],cB=[3,gR,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],cH=[3,gR,lx,0,[l9,"EventThreshold"],[0,()=>du]],cF=[3,gR,"MetricsAndOperator",0,[lJ,hC,sn],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}],0]],cX=[3,gR,lY,0,[lE,l_],[1,1]],cI=[3,gR,lD,0,[lE,ht,l_],[1,0,1]],cO=[-3,gR,"NoSuchBucket",{[hJ]:hM,[hH]:404},[],[]];uG.for(gR).registerError(cO,uV);var cQ=[-3,gR,"NoSuchKey",{[hJ]:hM,[hH]:404},[],[]];uG.for(gR).registerError(cQ,u1);var cU=[-3,gR,"NoSuchUpload",{[hJ]:hM,[hH]:404},[],[]];uG.for(gR).registerError(cU,uK);var cG=[-3,gR,"NotFound",{[hJ]:hM},[],[]];uG.for(gR).registerError(cG,u3);var cq=[3,gR,"NotificationConfigurationFilter",0,["Key"],[[()=>dh,{[h3]:"S3Key"}]]],c$=[3,gR,"Object",0,["Key",lm,sW,sl,sN,hb,ht,lv,l4],[0,4,0,[64,{[h1]:1}],0,1,0,()=>c0,()=>ds]],cK=[-3,gR,"ObjectAlreadyInActiveTierError",{[hJ]:hM,[hH]:403},[],[]];uG.for(gR).registerError(cK,u7);var cz=[3,gR,"ObjectIdentifier",0,["Key",hP,sW,"LastModifiedTime",hb],[0,0,0,6,1]],cW=[-3,gR,"ObjectNotInActiveTierError",{[hJ]:hM,[hH]:403},[],[]];uG.for(gR).registerError(cW,uz);var cj=[3,gR,"ObjectPart",0,[lB,hb,sg,sc,sd,sv,sA],[1,1,0,0,0,0,0]],cV=[3,gR,lM,0,["CSV",lf],[()=>g7,()=>cv]],c0=[3,gR,lv,0,[sF,"ID"],[0,0]],c1=[3,gR,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],c3=[3,gR,"ParquetInput",0,[],[]],c2=[3,gR,lH,{[h3]:lH},["PartitionDateSource"],[0]],c4=[3,gR,"PutObjectOutput",0,[sU,sW,sg,sc,sd,sv,sA,sN,hh,hP,hg,hd,hm,hf,su,hb,lU],[[0,{[hF]:gr}],[0,{[hF]:sW}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gn}],[0,{[hF]:gx}],[0,{[hF]:gP}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[1,{[hF]:"x-amz-object-size"}],[0,{[hF]:gS}]]],c8=[3,gR,"PutObjectRequest",0,["ACL",ss,sr,sh,sm,sS,sb,sT,sL,sZ,sl,sg,sc,sd,sv,sA,s3,lr,ll,s5,s7,s9,le,"Key","WriteOffsetBytes",lS,hh,ht,hZ,hg,hc,hd,hm,hf,su,l1,hE,lN,lP,lA,sG],[[0,{[hF]:h4}],[()=>gH,16],[0,1],[0,{[hF]:sp}],[0,{[hF]:sf}],[0,{[hF]:sy}],[0,{[hF]:sC}],[1,{[hF]:sw}],[0,{[hF]:sx}],[0,{[hF]:sP}],[0,{[hF]:gT}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[4,{[hF]:s3}],[0,{[hF]:ls}],[0,{[hF]:lh}],[0,{[hF]:gu}],[0,{[hF]:gs}],[0,{[hF]:gl}],[0,{[hF]:gh}],[0,1],[1,{[hF]:"x-amz-write-offset-bytes"}],[128,{[hI]:gg}],[0,{[hF]:gx}],[0,{[hF]:gw}],[0,{[hF]:gZ}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[()=>gk,{[hF]:g_}],[2,{[hF]:gE}],[0,{[hF]:gb}],[0,{[hF]:gA}],[0,{[hF]:gf}],[5,{[hF]:gm}],[0,{[hF]:gp}],[0,{[hF]:go}]]],c6=[3,gR,"PutObjectTaggingOutput",0,[hP],[[0,{[hF]:gP}]]],c5=[3,gR,"PutObjectTaggingRequest",0,[sr,"Key",hP,sL,sl,hE,sG,l1],[[0,1],[0,1],[0,{[hO]:h0}],[0,{[hF]:sx}],[0,{[hF]:gT}],[()=>dx,{[hX]:1,[h3]:hE}],[0,{[hF]:go}],[0,{[hF]:gb}]]],c7=[3,gR,"QueueConfiguration",0,["Id","QueueArn",s0,s2],[0,[0,{[h3]:"Queue"}],[64,{[h1]:1,[h3]:s1}],[()=>cq,0]]],c9=[3,gR,lV,0,[sU,sk],[0,1]],de=[3,gR,l7,0,[la,"HttpRedirectCode",lI,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],di=[3,gR,l0,0,[l9],[0]],dn=[3,gR,"ReplicationRule",0,["ID","Priority",lJ,s2,l9,hl,s$,sQ,sH],[0,1,0,[()=>da,0],0,()=>dm,()=>cu,()=>ct,()=>ce]],dt=[3,gR,"ReplicationRuleAndOperator",0,[lJ,hC],[0,[()=>dX,{[h1]:1,[h3]:"Tag"}]]],da=[3,gR,"ReplicationRuleFilter",0,[lJ,"Tag","And"],[0,()=>dT,[()=>dt,0]]],dr=[3,gR,l8,0,[l9,"Time"],[0,()=>du]],du=[3,gR,"ReplicationTimeValue",0,["Minutes"],[1]],ds=[3,gR,l4,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],dl=[3,gR,l3,0,[sM,l7],[()=>g1,()=>de]],dh=[3,gR,"S3KeyFilter",0,["FilterRules"],[[()=>dJ,{[h1]:1,[h3]:s8}]]],dg=[3,gR,"S3Location",0,["BucketName",lJ,sV,"CannedACL","AccessControlList",hE,hA,ht],[0,0,[()=>ca,0],0,[()=>dk,0],[()=>dx,0],[()=>dQ,0],0]],dc=[3,gR,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>gB,0]]],dd=[3,gR,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",su,so],[[()=>dc,0],2,[()=>gq,0]]],dp=[3,gR,"SessionCredentials",0,[si,hi,hS,sU],[[0,{[h3]:si}],[()=>gM,{[h3]:hi}],[()=>gM,{[h3]:hS}],[4,{[h3]:sU}]]],df=[3,gR,hu,{[h3]:hu},[],[]],dm=[3,gR,hl,0,[ho,l0],[()=>dS,()=>di]],dy=[3,gR,hp,{[h3]:hr},["KeyId"],[[()=>gB,0]]],dS=[3,gR,ho,0,[l9],[0]],db=[3,gR,hy,{[h3]:hs},[],[]],dC=[3,gR,ha,0,["DataExport"],[()=>dw]],dw=[3,gR,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",sQ],[0,()=>gU]],dT=[3,gR,"Tag",0,["Key",hN],[0,0]],dx=[3,gR,hE,0,[hL],[[()=>dX,0]]],dL=[3,gR,"TargetGrant",0,[ln,lX],[[()=>cc,{[h2]:["xsi",hQ]}],0]],dE=[3,gR,hx,0,[hu,lH],[[()=>df,{[h3]:hu}],[()=>c2,{[h3]:lH}]]],d_=[3,gR,h_,0,[sk,sa],[1,0]],dY=[-3,gR,"TooManyParts",{[hJ]:hM,[hH]:400},[],[]];uG.for(gR).registerError(dY,u6);var dD=[3,gR,"TopicConfiguration",0,["Id","TopicArn",s0,s2],[0,[0,{[h3]:"Topic"}],[64,{[h1]:1,[h3]:s1}],[()=>cq,0]]],dv=[3,gR,hY,0,[sI,sk,ht],[5,1,0]],dA=[3,gR,"UploadPartOutput",0,[hh,sW,sg,sc,sd,sv,sA,hg,hd,hm,su,lU],[[0,{[hF]:gx}],[0,{[hF]:sW}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,{[hF]:gY}],[0,{[hF]:gv}],[()=>gB,{[hF]:gL}],[2,{[hF]:gE}],[0,{[hF]:gS}]]],dN=[3,gR,"UploadPartRequest",0,[ss,sr,sT,sL,sl,sg,sc,sd,sv,sA,"Key",lB,hv,hg,hc,hd,l1,sG],[[()=>gH,16],[0,1],[1,{[hF]:sw}],[0,{[hF]:sx}],[0,{[hF]:gT}],[0,{[hF]:h6}],[0,{[hF]:h5}],[0,{[hF]:h7}],[0,{[hF]:ge}],[0,{[hF]:gi}],[0,1],[1,{[hO]:hU}],[0,{[hO]:hV}],[0,{[hF]:gY}],[()=>gJ,{[hF]:gD}],[0,{[hF]:gv}],[0,{[hF]:gb}],[0,{[hF]:go}]]],dP=[-3,hj,"S3ServiceException",0,[],[]];uG.for(hj).registerError(dP,u$);var dZ=[1,gR,"CommonPrefixList",0,()=>gz],dR=[1,gR,"CompletedPartList",0,()=>gj],dM=[1,gR,"EncryptionTypeList",0,[0,{[h3]:sz}]],dJ=[1,gR,"FilterRuleList",0,()=>cs],dk=[1,gR,"Grants",0,[()=>cg,{[h3]:li}]],dB=[1,gR,"InventoryOptionalFields",0,[0,{[h3]:"Field"}]],dH=[1,gR,"NoncurrentVersionTransitionList",0,()=>cI],dF=[1,gR,"ObjectList",0,[()=>c$,0]],dX=[1,gR,hL,0,[()=>dT,{[h3]:"Tag"}]],dI=[1,gR,hT,0,[()=>dL,{[h3]:li}]],dO=[1,gR,"TransitionList",0,()=>dv],dQ=[1,gR,hA,0,[()=>ck,{[h3]:lb}]],dU=[4,gR,"AnalyticsFilter",0,[lJ,"Tag","And"],[0,()=>dT,[()=>gQ,0]]],dG=[4,gR,"MetricsFilter",0,[lJ,"Tag",sn,"And"],[0,()=>dT,0,[()=>cF,0]]],dq=[9,gR,"AbortMultipartUpload",{[hk]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>gI,()=>gX],d$=[9,gR,sE,{[hk]:["POST","/{Key+}",200]},()=>g0,()=>gV],dK=[9,gR,"CreateMultipartUpload",{[hk]:["POST","/{Key+}?uploads",200]},()=>g4,()=>g2],dz=[9,gR,"CreateSession",{[hk]:["GET","/?session",200]},()=>g6,()=>g8],dW=[9,gR,"DeleteObject",{[hk]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>cn,()=>ci],dj=[9,gR,"GetObject",{[hB]:"-",[hk]:["GET","/{Key+}?x-id=GetObject",200]},()=>ch,()=>cl],dV=[9,gR,"HeadObject",{[hk]:["HEAD","/{Key+}",200]},()=>cp,()=>cd],d0=[9,gR,"ListObjectsV2",{[hk]:["GET","/?list-type=2",200]},()=>cJ,()=>cM],d1=[9,gR,"PutObject",{[hB]:"-",[hk]:["PUT","/{Key+}?x-id=PutObject",200]},()=>c8,()=>c4],d3=[9,gR,"PutObjectTagging",{[hB]:"-",[hk]:["PUT","/{Key+}?tagging",200]},()=>c5,()=>c6],d2=[9,gR,"UploadPart",{[hB]:"-",[hk]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>dN,()=>dA];class d4 extends uO.classBuilder().ep({...uU,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").sc(dz).build(){}let d8={warningEmitted:!1},emitWarningIfUnsupportedVersion=e=>{e&&!d8.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(d8.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
53
+ ${toHex(r)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let i=[];for(let n of e.split("/"))n?.length!==0&&"."!==n&&(".."===n?i.pop():i.push(n));return escapeUri(`${e?.startsWith("/")?"/":""}${i.join("/")}${i.length>0&&e?.endsWith("/")?"/":""}`).replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if("object"!=typeof e||"string"!=typeof e.accessKeyId||"string"!=typeof e.secretAccessKey)throw Error("Resolved credential object is not valid")}formatDate(e){var i;let n=("number"==typeof(i=e)?new Date(1e3*i):"string"==typeof i?new Date(Number(i)?1e3*Number(i):i):i).toISOString().replace(/\.\d{3}Z$/,"Z").replace(/[\-:]/g,"");return{longDate:n,shortDate:n.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class ak extends aJ{headerFormatter=new aZ;constructor({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r=!0}){super({applyChecksum:e,credentials:i,region:n,service:t,sha256:a,uriEscapePath:r})}async presign(e,i={}){let{signingDate:n=new Date,expiresIn:t=3600,unsignableHeaders:a,unhoistableHeaders:r,signableHeaders:o,hoistableHeaders:u,signingRegion:s,signingService:l}=i,h=await this.credentialProvider();this.validateResolvedCredentials(h);let g=s??await this.regionProvider(),{longDate:c,shortDate:d}=this.formatDate(n);if(t>604800)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let p=createScope(d,g,l??this.service),f=((e,i={})=>{let{headers:n,query:t={}}=n6.clone(e);for(let e of Object.keys(n)){let a=e.toLowerCase();("x-amz-"===a.slice(0,6)&&!i.unhoistableHeaders?.has(a)||i.hoistableHeaders?.has(a))&&(t[e]=n[e],delete n[e])}return{...e,headers:n,query:t}})(prepareRequest(e),{unhoistableHeaders:r,hoistableHeaders:u});h.sessionToken&&(f.query[ab]=h.sessionToken),f.query["X-Amz-Algorithm"]=av,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[ay]=c,f.query["X-Amz-Expires"]=t.toString(10);let m=getCanonicalHeaders(f,a,o);return f.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(m),f.query[aS]=await this.getSignature(c,p,this.getSigningKey(h,g,d,l),this.createCanonicalRequest(f,m,await getPayloadHash(e,this.sha256))),f}async sign(e,i){return"string"==typeof e?this.signString(e,i):e.headers&&e.payload?this.signEvent(e,i):e.message?this.signMessage(e,i):this.signRequest(e,i)}async signEvent({headers:e,payload:i},{signingDate:n=new Date,priorSignature:t,signingRegion:a,signingService:r}){let o=a??await this.regionProvider(),{shortDate:u,longDate:s}=this.formatDate(n),l=createScope(u,o,r??this.service),h=await getPayloadHash({headers:{},body:i},this.sha256),g=new this.sha256;g.update(e);let c=["AWS4-HMAC-SHA256-PAYLOAD",s,l,t,toHex(await g.digest()),h].join("\n");return this.signString(c,{signingDate:n,signingRegion:o,signingService:r})}async signMessage(e,{signingDate:i=new Date,signingRegion:n,signingService:t}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:i,signingRegion:n,signingService:t,priorSignature:e.priorSignature}).then(i=>({message:e.message,signature:i}))}async signString(e,{signingDate:i=new Date,signingRegion:n,signingService:t}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let r=n??await this.regionProvider(),{shortDate:o}=this.formatDate(i),u=new this.sha256(await this.getSigningKey(a,r,o,t));return u.update(toUint8Array(e)),toHex(await u.digest())}async signRequest(e,{signingDate:i=new Date,signableHeaders:n,unsignableHeaders:t,signingRegion:a,signingService:r}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let u=a??await this.regionProvider(),s=prepareRequest(e),{longDate:l,shortDate:h}=this.formatDate(i),g=createScope(h,u,r??this.service);s.headers[aw]=l,o.sessionToken&&(s.headers[aE]=o.sessionToken);let c=await getPayloadHash(s,this.sha256);!((e,i)=>{for(let n of(e=e.toLowerCase(),Object.keys(i)))if(e===n.toLowerCase())return!0;return!1})(aL,s.headers)&&this.applyChecksum&&(s.headers[aL]=c);let d=getCanonicalHeaders(s,t,n),p=await this.getSignature(l,g,this.getSigningKey(o,u,h,r),this.createCanonicalRequest(s,d,c));return s.headers[aC]=`${av} Credential=${o.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${p}`,s}async getSignature(e,i,n,t){let a=await this.createStringToSign(e,i,t,av),r=new this.sha256(await n);return r.update(toUint8Array(a)),toHex(await r.digest())}getSigningKey(e,i,n,t){return getSigningKey(this.sha256,e,n,i,t||this.service)}}let resolveAwsSdkSigV4Config=e=>{let i,n,t=e.credentials,a=!!e.credentials;Object.defineProperty(e,"credentials",{set(n){n&&n!==t&&n!==i&&(a=!0);let r=normalizeCredentialProvider(e,{credentials:t=n,credentialDefaultProvider:e.credentialDefaultProvider}),o=bindCallerConfig(e,r);if(a&&!o.attributed){let e="object"==typeof t&&null!==t;(i=async i=>{let n=await o(i);return e&&(!n.$source||0===Object.keys(n.$source).length)?setCredentialFeature(n,"CREDENTIALS_CODE","e"):n}).memoized=o.memoized,i.configBound=o.configBound,i.attributed=!0}else i=o},get:()=>i,enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:r=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:u}=e;return n=e.signer?normalizeProvider_normalizeProvider(e.signer):e.regionInfoProvider?()=>normalizeProvider_normalizeProvider(e.region)().then(async i=>[await e.regionInfoProvider(i,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},i]).then(([i,n])=>{let{signingRegion:t,signingService:a}=i;e.signingRegion=e.signingRegion||t||n,e.signingName=e.signingName||a||e.serviceId;let o={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||ak)(o)}):async i=>{let n=(i=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await normalizeProvider_normalizeProvider(e.region)(),properties:{}},i)).signingRegion,t=i.signingName;e.signingRegion=e.signingRegion||n,e.signingName=e.signingName||t||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:u,uriEscapePath:r};return new(e.signerConstructor||ak)(a)},Object.assign(e,{systemClockOffset:o,signingEscapePath:r,signer:n})};function normalizeCredentialProvider(e,{credentials:i,credentialDefaultProvider:n}){let t;return(t=i?i?.memoized?i:((e,i,n)=>{let t,a,r;if(void 0===e)return;let o="function"!=typeof e?async()=>Promise.resolve(e):e,u=!1,coalesceProvider=async e=>{a||(a=o(e));try{t=await a,r=!0,u=!1}finally{a=void 0}return t};return void 0===i?async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),t):async e=>((!r||e?.forceRefresh)&&(t=await coalesceProvider(e)),u||(n(t)?i(t)&&await coalesceProvider(e):u=!0),t)})(i,memoizeIdentityProvider_isIdentityExpired,doesIdentityRequireRefresh):n?normalizeProvider_normalizeProvider(n(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,t}function bindCallerConfig(e,i){if(i.configBound)return i;let fn=async n=>i({...n,callerClientConfig:e});return fn.memoized=i.memoized,fn.configBound=!0,fn}let aB={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new tU("AWS_SIGV4A_SIGNING_REGION_SET not set in env.",{tryNextLink:!0})},configFileSelector(e){if(e.sigv4a_signing_region_set)return(e.sigv4a_signing_region_set??"").split(",").map(e=>e.trim());throw new tU("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class aH extends ak{async signWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return e.headers[tC]=i.sessionToken,setSingleOverride(this,t),this.signRequest(e,n??{})}async presignWithCredentials(e,i,n){let t=getCredentialsWithoutSessionToken(i);return delete e.headers[tC],e.headers[tb]=i.sessionToken,e.query=e.query??{},e.query[tb]=i.sessionToken,setSingleOverride(this,t),this.presign(e,n)}}function getCredentialsWithoutSessionToken(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function setSingleOverride(e,i){let n=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),t=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(n),e.credentialProvider=t,Promise.resolve(i))}class aF{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new aH(e),this.signerOptions=e}async sign(e,i={}){return"*"===i.signingRegion?this.getSigv4aSigner().sign(e,i):this.sigv4Signer.sign(e,i)}async signWithCredentials(e,i,n={}){if("*"===n.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('signWithCredentials with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.signWithCredentials(e,i,n)}async presign(e,i={}){if("*"===i.signingRegion){let e=this.getSigv4aSigner();!1;throw Error('presign with signingRegion \'*\' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt')}return this.sigv4Signer.presign(e,i)}async presignWithCredentials(e,i,n={}){if("*"===n.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,i,n)}getSigv4aSigner(){if(!this.sigv4aSigner)if("node"===this.signerOptions.runtime){!0;throw Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt")}else{!0;throw Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a")}return this.sigv4aSigner}}let resolveParamsForS3=async e=>{let i=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=i.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),isArnBucketName(i)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else isDnsCompatibleBucketName(i)&&(-1===i.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&i.toLowerCase()===i&&!(i.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},aX=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,aI=/(\d+\.){3}\d+/,aO=/\.\./,isDnsCompatibleBucketName=e=>aX.test(e)&&!aI.test(e)&&!aO.test(e),isArnBucketName=e=>{let[i,n,t,,,a]=e.split(":"),r="arn"===i&&e.split(":").length>=6,o=!!(r&&n&&t&&a);if(r&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},createConfigValueProvider=(e,i,n,t=!1)=>{let configProvider=async()=>{let a;if(t){let t=n.clientContextParams;a=t?.[e]??n[e]??n[i]}else a=n[e]??n[i];return"function"==typeof a?a():a};return"credentialScope"===e||"CredentialScope"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===i?async()=>{let e="function"==typeof n.credentials?await n.credentials():n.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===i?async()=>{if(!1===n.isCustomEndpoint)return;let e=await configProvider();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:i,hostname:n,port:t,path:a}=e;return`${i}//${n}${t?":"+t:""}${a}`}}return e}:configProvider},getEndpointFromInstructions=async(e,i,n,t)=>{if(!n.isCustomEndpoint){let e;(e=n.serviceConfiguredEndpoint?await n.serviceConfiguredEndpoint():await getEndpointFromConfig(n.serviceId))&&(n.endpoint=()=>Promise.resolve(toEndpointV1_toEndpointV1(e)),n.isCustomEndpoint=!0)}let a=await resolveParams(e,i,n);if("function"!=typeof n.endpointProvider)throw Error("config.endpointProvider is not set.");return n.endpointProvider(a,t)},resolveParams=async(e,i,n)=>{let t={},a=i?.getEndpointParameterInstructions?.()||{};for(let[i,r]of Object.entries(a))switch(r.type){case"staticContextParams":t[i]=r.value;break;case"contextParams":t[i]=e[r.name];break;case"clientContextParams":case"builtInParams":t[i]=await createConfigValueProvider(r.name,i,n,"builtInParams"!==r.type)();break;case"operationContextParams":t[i]=r.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(r))}return 0===Object.keys(a).length&&Object.assign(t,n),"s3"===String(n.serviceId).toLowerCase()&&await resolveParamsForS3(t),t};class aQ{capacity;data=new Map;parameters=[];constructor({size:e,params:i}){this.capacity=e??50,i&&(this.parameters=i)}get(e,i){let n=this.hash(e);if(!1===n)return i();if(!this.data.has(n)){if(this.data.size>this.capacity+10){let e=this.data.keys(),i=0;for(;;){let{value:n,done:t}=e.next();if(this.data.delete(n),t||++i>10)break}}this.data.set(n,i())}return this.data.get(n)}size(){return this.data.size}hash(e){let i="",{parameters:n}=this;if(0===n.length)return!1;for(let t of n){let n=String(e[t]??"");if(n.includes("|;"))return!1;i+=n+"|;"}return i}}let aU="endpoints";function toDebugString(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${toDebugString(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(toDebugString).join(", ")})`:JSON.stringify(e,null,2)}class aG extends Error{constructor(e){super(e),this.name="EndpointError"}}let getAttr=(e,i)=>(e=>{let i=e.split("."),n=[];for(let t of i){let i=t.indexOf("[");if(-1!==i){if(t.indexOf("]")!==t.length-1)throw new aG(`Path: '${e}' does not end with ']'`);let a=t.slice(i+1,-1);if(Number.isNaN(parseInt(a)))throw new aG(`Invalid array index: '${a}' in path: '${e}'`);0!==i&&n.push(t.slice(0,i)),n.push(a)}else n.push(t)}return n})(i).reduce((n,t)=>{if("object"!=typeof n)throw new aG(`Index '${t}' in '${i}' not found in '${JSON.stringify(e)}'`);return Array.isArray(n)?n[parseInt(t)]:n[t]},e);(W=eg||(eg={})).HTTP="http",W.HTTPS="https";let aq={[eg.HTTP]:80,[eg.HTTPS]:443},a$={booleanEquals:(e,i)=>e===i,getAttr:getAttr,isSet:e=>null!=e,isValidHostLabel:isValidHostLabel,not:e=>!e,parseURL:e=>{let i=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){let{hostname:i,port:n,protocol:t="",path:a="",query:r={}}=e,o=new URL(`${t}//${i}${n?`:${n}`:""}${a}`);return o.search=Object.entries(r).map(([e,i])=>`${e}=${i}`).join("&"),o}return new URL(e)}catch(e){return null}})();if(!i)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let n=i.href,{host:t,hostname:a,pathname:r,protocol:o,search:u}=i;if(u)return null;let s=o.slice(0,-1);if(!Object.values(eg).includes(s))return null;let l=isIpAddress(a),h=n.includes(`${t}:${aq[s]}`)||"string"==typeof e&&e.includes(`${t}:${aq[s]}`),g=`${t}${h?`:${aq[s]}`:""}`;return{scheme:s,authority:g,path:r,normalizedPath:r.endsWith("/")?r:`${r}/`,isIp:l}},stringEquals:(e,i)=>e===i,substring:(e,i,n,t)=>i>=n||e.length<n?null:t?e.substring(e.length-n,e.length-i):e.substring(i,n),uriEncode:e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},evaluateTemplate=(e,i)=>{let n=[],t={...i.endpointParams,...i.referenceRecord},a=0;for(;a<e.length;){let i=e.indexOf("{",a);if(-1===i){n.push(e.slice(a));break}n.push(e.slice(a,i));let r=e.indexOf("}",i);if(-1===r){n.push(e.slice(i));break}"{"===e[i+1]&&"}"===e[r+1]&&(n.push(e.slice(i+1,r)),a=r+2);let o=e.substring(i+1,r);if(o.includes("#")){let[e,i]=o.split("#");n.push(getAttr(t[e],i))}else n.push(t[o]);a=r+1}return n.join("")},evaluateExpression=(e,i,n)=>{if("string"==typeof e)return evaluateTemplate(e,n);if(e.fn)return aK.callFunction(e,n);if(e.ref)return(({ref:e},i)=>({...i.endpointParams,...i.referenceRecord})[e])(e,n);throw new aG(`'${i}': ${String(e)} is not a string, function or reference.`)},callFunction=({fn:e,argv:i},n)=>{let t=i.map(e=>["boolean","number"].includes(typeof e)?e:aK.evaluateExpression(e,"arg",n)),a=e.split(".");return a[0]in t_&&null!=a[1]?t_[a[0]][a[1]](...t):a$[e](...t)},aK={evaluateExpression:evaluateExpression,callFunction:callFunction},evaluateCondition=({assign:e,...i},n)=>{if(e&&e in n.referenceRecord)throw new aG(`'${e}' is already defined in Reference Record.`);let t=callFunction(i,n);return n.logger?.debug?.(`${aU} evaluateCondition: ${toDebugString(i)} = ${toDebugString(t)}`),{result:""===t||!!t,...null!=e&&{toAssign:{name:e,value:t}}}},evaluateConditions=(e=[],i)=>{let n={};for(let t of e){let{result:e,toAssign:a}=evaluateCondition(t,{...i,referenceRecord:{...i.referenceRecord,...n}});if(!e)return{result:e};a&&(n[a.name]=a.value,i.logger?.debug?.(`${aU} assign: ${a.name} := ${toDebugString(a.value)}`))}return{result:!0,referenceRecord:n}},getEndpointProperties=(e,i)=>Object.entries(e).reduce((e,[n,t])=>({...e,[n]:az.getEndpointProperty(t,i)}),{}),getEndpointProperty=(e,i)=>{if(Array.isArray(e))return e.map(e=>getEndpointProperty(e,i));switch(typeof e){case"string":return evaluateTemplate(e,i);case"object":if(null===e)throw new aG(`Unexpected endpoint property: ${e}`);return az.getEndpointProperties(e,i);case"boolean":return e;default:throw new aG(`Unexpected endpoint property type: ${typeof e}`)}},az={getEndpointProperty:getEndpointProperty,getEndpointProperties:getEndpointProperties},evaluateEndpointRule=(e,i)=>{let{conditions:n,endpoint:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(!a)return;let o={...i,referenceRecord:{...i.referenceRecord,...r}},{url:u,properties:s,headers:l}=t;return i.logger?.debug?.(`${aU} Resolving endpoint from template: ${toDebugString(t)}`),{...void 0!=l&&{headers:Object.entries(l).reduce((e,[i,n])=>({...e,[i]:n.map(e=>{let n=evaluateExpression(e,"Header value entry",o);if("string"!=typeof n)throw new aG(`Header '${i}' value '${n}' is not a string`);return n})}),{})},...void 0!=s&&{properties:getEndpointProperties(s,o)},url:((e,i)=>{let n=evaluateExpression(e,"Endpoint URL",i);if("string"==typeof n)try{return new URL(n)}catch(e){throw console.error(`Failed to construct URL with ${n}`,e),e}throw new aG(`Endpoint URL must be a string, got ${typeof n}`)})(u,o)}},evaluateErrorRule=(e,i)=>{let{conditions:n,error:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)throw new aG(evaluateExpression(t,"Error",{...i,referenceRecord:{...i.referenceRecord,...r}}))},evaluateRules=(e,i)=>{for(let n of e)if("endpoint"===n.type){let e=evaluateEndpointRule(n,i);if(e)return e}else if("error"===n.type)evaluateErrorRule(n,i);else if("tree"===n.type){let e=aW.evaluateTreeRule(n,i);if(e)return e}else throw new aG(`Unknown endpoint rule: ${n}`);throw new aG("Rules evaluation failed")},aW={evaluateRules:evaluateRules,evaluateTreeRule:(e,i)=>{let{conditions:n,rules:t}=e,{result:a,referenceRecord:r}=evaluateConditions(n,i);if(a)return aW.evaluateRules(t,{...i,referenceRecord:{...i.referenceRecord,...r}})}},resolveEndpoint=(e,i)=>{let{endpointParams:n,logger:t}=i,{parameters:a,rules:r}=e;i.logger?.debug?.(`${aU} Initial EndpointParams: ${toDebugString(n)}`);let o=Object.entries(a).filter(([,e])=>null!=e.default).map(([e,i])=>[e,i.default]);if(o.length>0)for(let[e,i]of o)n[e]=n[e]??i;for(let e of Object.entries(a).filter(([,e])=>e.required).map(([e])=>e))if(null==n[e])throw new aG(`Missing required parameter: '${e}'`);let u=evaluateRules(r,{endpointParams:n,logger:t,referenceRecord:{}});return i.logger?.debug?.(`${aU} Resolved endpoint: ${toDebugString(u)}`),u},aj="required",aV="type",a0="rules",a1="conditions",a3="argv",a2="assign",a4="properties",a8="backend",a6="authSchemes",a5="disableDoubleEncoding",a7="signingName",a9="signingRegion",re="headers",ri="signingRegionSet",rn="isSet",rt="booleanEquals",ra="error",rr="aws.partition",ro="stringEquals",ru="getAttr",rs="name",rl="substring",rh="bucketSuffix",rg="parseURL",rc="endpoint",rd="tree",rp="aws.isVirtualHostableS3Bucket",rf="{url#scheme}://{Bucket}.{url#authority}{url#path}",rm="accessPointSuffix",ry="{url#scheme}://{url#authority}{url#path}",rS="hardwareType",rb="regionPrefix",rC="bucketAliasSuffix",rw="outpostId",rT="isValidHostLabel",rx="sigv4a",rL="s3-outposts",rE="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",r_="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rY="https://{Bucket}.s3.{partitionResult#dnsSuffix}",rD="aws.parseArn",rv="bucketArn",rA="arnType",rN="s3-object-lambda",rP="accesspoint",rZ="accessPointName",rR="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",rM="mrapPartition",rJ="outpostType",rk="arnPrefix",rB="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",rH="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",rF="https://s3.{partitionResult#dnsSuffix}",rX={[aj]:!1,[aV]:"string"},rI={[aj]:!0,default:!1,[aV]:"boolean"},rO={[aj]:!1,[aV]:"boolean"},rQ={fn:rt,[a3]:[{ref:"Accelerate"},!0]},rU={fn:rt,[a3]:[{ref:"UseFIPS"},!0]},rG={fn:rt,[a3]:[{ref:"UseDualStack"},!0]},rq={fn:rn,[a3]:[{ref:"Endpoint"}]},r$={fn:rr,[a3]:[{ref:"Region"}],[a2]:"partitionResult"},rK={fn:ro,[a3]:[{fn:ru,[a3]:[{ref:"partitionResult"},rs]},"aws-cn"]},rz={fn:rn,[a3]:[{ref:"Bucket"}]},rW={ref:"Bucket"},rj={[a1]:[rQ],[ra]:"S3Express does not support S3 Accelerate.",[aV]:ra},rV={[a1]:[rq,{fn:rg,[a3]:[{ref:"Endpoint"}],[a2]:"url"}],[a0]:[{[a1]:[{fn:rn,[a3]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rt,[a3]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[a0]:[{[a1]:[{fn:rt,[a3]:[{fn:ru,[a3]:[{ref:"url"},"isIp"]},!0]}],[a0]:[{[a1]:[{fn:"uriEncode",[a3]:[rW],[a2]:"uri_encoded_bucket"}],[a0]:[{[rc]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rp,[a3]:[rW,!1]}],[a0]:[{[rc]:{url:rf,[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd},{[ra]:"S3Express bucket name is not a valid virtual hostable name.",[aV]:ra}],[aV]:rd},{[a1]:[{fn:rt,[a3]:[{fn:ru,[a3]:[{ref:"url"},"isIp"]},!0]}],[a0]:[{[a1]:[{fn:"uriEncode",[a3]:[rW],[a2]:"uri_encoded_bucket"}],[a0]:[{[rc]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rp,[a3]:[rW,!1]}],[a0]:[{[rc]:{url:rf,[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],[aV]:rd},{[ra]:"S3Express bucket name is not a valid virtual hostable name.",[aV]:ra}],[aV]:rd},r0={fn:rg,[a3]:[{ref:"Endpoint"}],[a2]:"url"},r1={fn:rt,[a3]:[{fn:ru,[a3]:[{ref:"url"},"isIp"]},!0]},r3={ref:"url"},r2={fn:"uriEncode",[a3]:[rW],[a2]:"uri_encoded_bucket"},r4={[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3express",[a9]:"{Region}"}]},r8={},r6={fn:rp,[a3]:[rW,!1]},r5={[ra]:"S3Express bucket name is not a valid virtual hostable name.",[aV]:ra},r7={fn:rn,[a3]:[{ref:"UseS3ExpressControlEndpoint"}]},r9={fn:rt,[a3]:[{ref:"UseS3ExpressControlEndpoint"},!0]},oe={fn:"not",[a3]:[rq]},oi={fn:rt,[a3]:[{ref:"UseDualStack"},!1]},on={fn:rt,[a3]:[{ref:"UseFIPS"},!1]},ot={[ra]:"Unrecognized S3Express bucket name format.",[aV]:ra},oa={fn:"not",[a3]:[rz]},oo={ref:rS},ou={[a1]:[oe],[ra]:"Expected a endpoint to be specified but no endpoint was found",[aV]:ra},os={[a6]:[{[a5]:!0,[rs]:rx,[a7]:rL,[ri]:["*"]},{[a5]:!0,[rs]:"sigv4",[a7]:rL,[a9]:"{Region}"}]},ol={fn:rt,[a3]:[{ref:"ForcePathStyle"},!1]},oh={fn:rt,[a3]:[{ref:"Accelerate"},!1]},og={fn:ro,[a3]:[{ref:"Region"},"aws-global"]},oc={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"us-east-1"}]},od={fn:"not",[a3]:[og]},op={fn:rt,[a3]:[{ref:"UseGlobalEndpoint"},!0]},of={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"{Region}"}]},[re]:{}},om={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"{Region}"}]},oy={fn:rt,[a3]:[{ref:"UseGlobalEndpoint"},!1]},oS={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},ob={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},oC={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},ow={fn:rt,[a3]:[{fn:ru,[a3]:[r3,"isIp"]},!1]},oT={url:rE,[a4]:om,[re]:{}},ox={url:rf,[a4]:om,[re]:{}},oL={[rc]:ox,[aV]:rc},oE={url:r_,[a4]:om,[re]:{}},o_={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},oY={[ra]:"Invalid region: region was not a valid DNS name.",[aV]:ra},oD={ref:rv},ov={ref:rA},oA={fn:ru,[a3]:[oD,"service"]},oN={ref:rZ},oP={[a1]:[rG],[ra]:"S3 Object Lambda does not support Dual-stack",[aV]:ra},oZ={[a1]:[rQ],[ra]:"S3 Object Lambda does not support S3 Accelerate",[aV]:ra},oR={[a1]:[{fn:rn,[a3]:[{ref:"DisableAccessPoints"}]},{fn:rt,[a3]:[{ref:"DisableAccessPoints"},!0]}],[ra]:"Access points are not supported for this operation",[aV]:ra},oM={[a1]:[{fn:rn,[a3]:[{ref:"UseArnRegion"}]},{fn:rt,[a3]:[{ref:"UseArnRegion"},!1]},{fn:"not",[a3]:[{fn:ro,[a3]:[{fn:ru,[a3]:[oD,"region"]},"{Region}"]}]}],[ra]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[aV]:ra},oJ={fn:ru,[a3]:[{ref:"bucketPartition"},rs]},ok={fn:ru,[a3]:[oD,"accountId"]},oB={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:rN,[a9]:"{bucketArn#region}"}]},oH={[ra]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[aV]:ra},oF={[ra]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[aV]:ra},oX={[ra]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[aV]:ra},oI={[ra]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[aV]:ra},oO={[ra]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[aV]:ra},oQ={[ra]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[aV]:ra},oU={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:"s3",[a9]:"{bucketArn#region}"}]},oG={[a6]:[{[a5]:!0,[rs]:rx,[a7]:rL,[ri]:["*"]},{[a5]:!0,[rs]:"sigv4",[a7]:rL,[a9]:"{bucketArn#region}"}]},oq={fn:rD,[a3]:[rW]},o$={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oK={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oz={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oW={url:rB,[a4]:om,[re]:{}},oj={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:om,[re]:{}},oV={ref:"UseObjectLambdaEndpoint"},o0={[a6]:[{[a5]:!0,[rs]:"sigv4",[a7]:rN,[a9]:"{Region}"}]},o1={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o3={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o2={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o4={url:ry,[a4]:om,[re]:{}},o8={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[a4]:om,[re]:{}},o6=[{ref:"Region"}],o5=[rQ],o7=[rq,r0],o9=[{fn:rn,[a3]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rt,[a3]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],ue=[r6],ui=[r$],un=[rU,rG],ut=[rU,oi],ua=[on,rG],ur=[on,oi],uo=[{fn:rl,[a3]:[rW,6,14,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,14,16,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uu=[{[a1]:[rU,rG],[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc},{[a1]:ut,[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc},{[a1]:ua,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc},{[a1]:ur,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:{}},[aV]:rc}],us=[{fn:rl,[a3]:[rW,6,15,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,15,17,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ul=[{fn:rl,[a3]:[rW,6,19,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,19,21,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uh=[{fn:rl,[a3]:[rW,6,20,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,20,22,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ug=[{fn:rl,[a3]:[rW,6,26,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,26,28,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uc=[{[a1]:[rU,rG],[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc},{[a1]:ut,[rc]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc},{[a1]:ua,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc},{[a1]:ur,[rc]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[a4]:{[a8]:"S3Express",[a6]:[{[a5]:!0,[rs]:"sigv4-s3express",[a7]:"s3express",[a9]:"{Region}"}]},[re]:{}},[aV]:rc}],ud=[rW,0,7,!0],up=[{fn:rl,[a3]:[rW,7,15,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,15,17,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uf=[{fn:rl,[a3]:[rW,7,16,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,16,18,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],um=[{fn:rl,[a3]:[rW,7,20,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,20,22,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uy=[{fn:rl,[a3]:[rW,7,21,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,21,23,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],uS=[{fn:rl,[a3]:[rW,7,27,!0],[a2]:"s3expressAvailabilityZoneId"},{fn:rl,[a3]:[rW,27,29,!0],[a2]:"s3expressAvailabilityZoneDelim"},{fn:ro,[a3]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],ub=[{fn:rT,[a3]:[{ref:rw},!1]}],uC=[{fn:ro,[a3]:[{ref:rb},"beta"]}],uw=[{fn:rT,[a3]:[{ref:"Region"},!1]}],uT=[{fn:ro,[a3]:[{ref:"Region"},"us-east-1"]}],ux=[{fn:ro,[a3]:[ov,rP]}],uL=[{fn:ru,[a3]:[oD,"resourceId[1]"],[a2]:rZ},{fn:"not",[a3]:[{fn:ro,[a3]:[oN,""]}]}],uE=[rG],u_=[{fn:"not",[a3]:[{fn:ro,[a3]:[{fn:ru,[a3]:[oD,"region"]},""]}]}],uY=[{fn:"not",[a3]:[{fn:rn,[a3]:[{fn:ru,[a3]:[oD,"resourceId[2]"]}]}]}],uD=[{fn:rr,[a3]:[{fn:ru,[a3]:[oD,"region"]}],[a2]:"bucketPartition"}],uv=[{fn:ro,[a3]:[oJ,{fn:ru,[a3]:[{ref:"partitionResult"},rs]}]}],uA=[{fn:rT,[a3]:[{fn:ru,[a3]:[oD,"region"]},!0]}],uN=[{fn:rT,[a3]:[ok,!1]}],uP=[{fn:rT,[a3]:[oN,!1]}],uZ=[rU],uR=[{fn:rT,[a3]:[{ref:"Region"},!0]}],uM={version:"1.0",parameters:{Bucket:rX,Region:rX,UseFIPS:rI,UseDualStack:rI,Endpoint:rX,ForcePathStyle:rI,Accelerate:rI,UseGlobalEndpoint:rI,UseObjectLambdaEndpoint:rO,Key:rX,Prefix:rX,CopySource:rX,DisableAccessPoints:rO,DisableMultiRegionAccessPoints:rI,UseArnRegion:rO,UseS3ExpressControlEndpoint:rO,DisableS3ExpressSessionAuth:rO},[a0]:[{[a1]:[{fn:rn,[a3]:o6}],[a0]:[{[a1]:[rQ,rU],error:"Accelerate cannot be used with FIPS",[aV]:ra},{[a1]:[rG,rq],error:"Cannot set dual-stack in combination with a custom endpoint.",[aV]:ra},{[a1]:[rq,rU],error:"A custom endpoint cannot be combined with FIPS",[aV]:ra},{[a1]:[rq,rQ],error:"A custom endpoint cannot be combined with S3 Accelerate",[aV]:ra},{[a1]:[rU,r$,rK],error:"Partition does not support FIPS",[aV]:ra},{[a1]:[rz,{fn:rl,[a3]:[rW,0,6,!0],[a2]:rh},{fn:ro,[a3]:[{ref:rh},"--x-s3"]}],[a0]:[rj,rV,{[a1]:[r7,r9],[a0]:[{[a1]:ui,[a0]:[{[a1]:[r2,oe],[a0]:[{[a1]:un,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ut,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ua,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ur,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:r4,[re]:r8},[aV]:rc}],[aV]:rd}],[aV]:rd}],[aV]:rd},{[a1]:ue,[a0]:[{[a1]:ui,[a0]:[{[a1]:o9,[a0]:[{[a1]:uo,[a0]:uu,[aV]:rd},{[a1]:us,[a0]:uu,[aV]:rd},{[a1]:ul,[a0]:uu,[aV]:rd},{[a1]:uh,[a0]:uu,[aV]:rd},{[a1]:ug,[a0]:uu,[aV]:rd},ot],[aV]:rd},{[a1]:uo,[a0]:uc,[aV]:rd},{[a1]:us,[a0]:uc,[aV]:rd},{[a1]:ul,[a0]:uc,[aV]:rd},{[a1]:uh,[a0]:uc,[aV]:rd},{[a1]:ug,[a0]:uc,[aV]:rd},ot],[aV]:rd}],[aV]:rd},r5],[aV]:rd},{[a1]:[rz,{fn:rl,[a3]:ud,[a2]:rm},{fn:ro,[a3]:[{ref:rm},"--xa-s3"]}],[a0]:[rj,rV,{[a1]:ue,[a0]:[{[a1]:ui,[a0]:[{[a1]:o9,[a0]:[{[a1]:up,[a0]:uu,[aV]:rd},{[a1]:uf,[a0]:uu,[aV]:rd},{[a1]:um,[a0]:uu,[aV]:rd},{[a1]:uy,[a0]:uu,[aV]:rd},{[a1]:uS,[a0]:uu,[aV]:rd},ot],[aV]:rd},{[a1]:up,[a0]:uc,[aV]:rd},{[a1]:uf,[a0]:uc,[aV]:rd},{[a1]:um,[a0]:uc,[aV]:rd},{[a1]:uy,[a0]:uc,[aV]:rd},{[a1]:uS,[a0]:uc,[aV]:rd},ot],[aV]:rd}],[aV]:rd},r5],[aV]:rd},{[a1]:[oa,r7,r9],[a0]:[{[a1]:ui,[a0]:[{[a1]:o7,endpoint:{url:ry,[a4]:r4,[re]:r8},[aV]:rc},{[a1]:un,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ut,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ua,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc},{[a1]:ur,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[a4]:r4,[re]:r8},[aV]:rc}],[aV]:rd}],[aV]:rd},{[a1]:[rz,{fn:rl,[a3]:[rW,49,50,!0],[a2]:rS},{fn:rl,[a3]:[rW,8,12,!0],[a2]:rb},{fn:rl,[a3]:ud,[a2]:rC},{fn:rl,[a3]:[rW,32,49,!0],[a2]:rw},{fn:rr,[a3]:o6,[a2]:"regionPartition"},{fn:ro,[a3]:[{ref:rC},"--op-s3"]}],[a0]:[{[a1]:ub,[a0]:[{[a1]:ue,[a0]:[{[a1]:[{fn:ro,[a3]:[oo,"e"]}],[a0]:[{[a1]:uC,[a0]:[ou,{[a1]:o7,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{[a1]:[{fn:ro,[a3]:[oo,"o"]}],[a0]:[{[a1]:uC,[a0]:[ou,{[a1]:o7,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[a4]:os,[re]:r8},[aV]:rc}],[aV]:rd},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[aV]:ra}],[aV]:rd},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[aV]:ra}],[aV]:rd},{[a1]:[rz],[a0]:[{[a1]:[rq,{fn:"not",[a3]:[{fn:rn,[a3]:[{fn:rg,[a3]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[aV]:ra},{[a1]:[ol,r6],[a0]:[{[a1]:ui,[a0]:[{[a1]:uw,[a0]:[{[a1]:[rQ,rK],error:"S3 Accelerate cannot be used in this region",[aV]:ra},{[a1]:[rG,rU,oh,oe,og],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,rU,oh,oe,od,op],[a0]:[{endpoint:of,[aV]:rc}],[aV]:rd},{[a1]:[rG,rU,oh,oe,od,oy],endpoint:of,[aV]:rc},{[a1]:[oi,rU,oh,oe,og],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,rU,oh,oe,od,op],[a0]:[{endpoint:oS,[aV]:rc}],[aV]:rd},{[a1]:[oi,rU,oh,oe,od,oy],endpoint:oS,[aV]:rc},{[a1]:[rG,on,rQ,oe,og],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,on,rQ,oe,od,op],[a0]:[{endpoint:ob,[aV]:rc}],[aV]:rd},{[a1]:[rG,on,rQ,oe,od,oy],endpoint:ob,[aV]:rc},{[a1]:[rG,on,oh,oe,og],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,on,oh,oe,od,op],[a0]:[{endpoint:oC,[aV]:rc}],[aV]:rd},{[a1]:[rG,on,oh,oe,od,oy],endpoint:oC,[aV]:rc},{[a1]:[oi,on,oh,rq,r0,r1,og],endpoint:{url:rE,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,oh,rq,r0,ow,og],endpoint:{url:rf,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,oh,rq,r0,r1,od,op],[a0]:[{[a1]:uT,endpoint:oT,[aV]:rc},{endpoint:oT,[aV]:rc}],[aV]:rd},{[a1]:[oi,on,oh,rq,r0,ow,od,op],[a0]:[{[a1]:uT,endpoint:ox,[aV]:rc},oL],[aV]:rd},{[a1]:[oi,on,oh,rq,r0,r1,od,oy],endpoint:oT,[aV]:rc},{[a1]:[oi,on,oh,rq,r0,ow,od,oy],endpoint:ox,[aV]:rc},{[a1]:[oi,on,rQ,oe,og],endpoint:{url:r_,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,rQ,oe,od,op],[a0]:[{[a1]:uT,endpoint:oE,[aV]:rc},{endpoint:oE,[aV]:rc}],[aV]:rd},{[a1]:[oi,on,rQ,oe,od,oy],endpoint:oE,[aV]:rc},{[a1]:[oi,on,oh,oe,og],endpoint:{url:rY,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,on,oh,oe,od,op],[a0]:[{[a1]:uT,endpoint:{url:rY,[a4]:om,[re]:r8},[aV]:rc},{endpoint:o_,[aV]:rc}],[aV]:rd},{[a1]:[oi,on,oh,oe,od,oy],endpoint:o_,[aV]:rc}],[aV]:rd},oY],[aV]:rd}],[aV]:rd},{[a1]:[rq,r0,{fn:ro,[a3]:[{fn:ru,[a3]:[r3,"scheme"]},"http"]},{fn:rp,[a3]:[rW,!0]},ol,on,oi,oh],[a0]:[{[a1]:ui,[a0]:[{[a1]:uw,[a0]:[oL],[aV]:rd},oY],[aV]:rd}],[aV]:rd},{[a1]:[ol,{fn:rD,[a3]:[rW],[a2]:rv}],[a0]:[{[a1]:[{fn:ru,[a3]:[oD,"resourceId[0]"],[a2]:rA},{fn:"not",[a3]:[{fn:ro,[a3]:[ov,""]}]}],[a0]:[{[a1]:[{fn:ro,[a3]:[oA,rN]}],[a0]:[{[a1]:ux,[a0]:[{[a1]:uL,[a0]:[oP,oZ,{[a1]:u_,[a0]:[oR,{[a1]:uY,[a0]:[oM,{[a1]:uD,[a0]:[{[a1]:ui,[a0]:[{[a1]:uv,[a0]:[{[a1]:uA,[a0]:[{[a1]:[{fn:ro,[a3]:[ok,""]}],error:"Invalid ARN: Missing account id",[aV]:ra},{[a1]:uN,[a0]:[{[a1]:uP,[a0]:[{[a1]:o7,endpoint:{url:rR,[a4]:oB,[re]:r8},[aV]:rc},{[a1]:uZ,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oB,[re]:r8},[aV]:rc},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oB,[re]:r8},[aV]:rc}],[aV]:rd},oH],[aV]:rd},oF],[aV]:rd},oX],[aV]:rd},oI],[aV]:rd}],[aV]:rd}],[aV]:rd},oO],[aV]:rd},{error:"Invalid ARN: bucket ARN is missing a region",[aV]:ra}],[aV]:rd},oQ],[aV]:rd},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[aV]:ra}],[aV]:rd},{[a1]:ux,[a0]:[{[a1]:uL,[a0]:[{[a1]:u_,[a0]:[{[a1]:ux,[a0]:[{[a1]:u_,[a0]:[oR,{[a1]:uY,[a0]:[oM,{[a1]:uD,[a0]:[{[a1]:ui,[a0]:[{[a1]:[{fn:ro,[a3]:[oJ,"{partitionResult#name}"]}],[a0]:[{[a1]:uA,[a0]:[{[a1]:[{fn:ro,[a3]:[oA,"s3"]}],[a0]:[{[a1]:uN,[a0]:[{[a1]:uP,[a0]:[{[a1]:o5,error:"Access Points do not support S3 Accelerate",[aV]:ra},{[a1]:un,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc},{[a1]:ut,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc},{[a1]:ua,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc},{[a1]:[on,oi,rq,r0],endpoint:{url:rR,[a4]:oU,[re]:r8},[aV]:rc},{[a1]:ur,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oU,[re]:r8},[aV]:rc}],[aV]:rd},oH],[aV]:rd},oF],[aV]:rd},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[aV]:ra}],[aV]:rd},oX],[aV]:rd},oI],[aV]:rd}],[aV]:rd}],[aV]:rd},oO],[aV]:rd}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rT,[a3]:[oN,!0]}],[a0]:[{[a1]:uE,error:"S3 MRAP does not support dual-stack",[aV]:ra},{[a1]:uZ,error:"S3 MRAP does not support FIPS",[aV]:ra},{[a1]:o5,error:"S3 MRAP does not support S3 Accelerate",[aV]:ra},{[a1]:[{fn:rt,[a3]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[aV]:ra},{[a1]:[{fn:rr,[a3]:o6,[a2]:rM}],[a0]:[{[a1]:[{fn:ro,[a3]:[{fn:ru,[a3]:[{ref:rM},rs]},{fn:ru,[a3]:[oD,"partition"]}]}],[a0]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[a4]:{[a6]:[{[a5]:!0,name:rx,[a7]:"s3",[ri]:["*"]}]},[re]:r8},[aV]:rc}],[aV]:rd},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[aV]:ra}],[aV]:rd}],[aV]:rd},{error:"Invalid Access Point Name",[aV]:ra}],[aV]:rd},oQ],[aV]:rd},{[a1]:[{fn:ro,[a3]:[oA,rL]}],[a0]:[{[a1]:uE,error:"S3 Outposts does not support Dual-stack",[aV]:ra},{[a1]:uZ,error:"S3 Outposts does not support FIPS",[aV]:ra},{[a1]:o5,error:"S3 Outposts does not support S3 Accelerate",[aV]:ra},{[a1]:[{fn:rn,[a3]:[{fn:ru,[a3]:[oD,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[aV]:ra},{[a1]:[{fn:ru,[a3]:[oD,"resourceId[1]"],[a2]:rw}],[a0]:[{[a1]:ub,[a0]:[oM,{[a1]:uD,[a0]:[{[a1]:ui,[a0]:[{[a1]:uv,[a0]:[{[a1]:uA,[a0]:[{[a1]:uN,[a0]:[{[a1]:[{fn:ru,[a3]:[oD,"resourceId[2]"],[a2]:rJ}],[a0]:[{[a1]:[{fn:ru,[a3]:[oD,"resourceId[3]"],[a2]:rZ}],[a0]:[{[a1]:[{fn:ro,[a3]:[{ref:rJ},rP]}],[a0]:[{[a1]:o7,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[a4]:oG,[re]:r8},[aV]:rc},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[a4]:oG,[re]:r8},[aV]:rc}],[aV]:rd},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: expected an access point name",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: Expected a 4-component resource",[aV]:ra}],[aV]:rd},oF],[aV]:rd},oX],[aV]:rd},oI],[aV]:rd}],[aV]:rd}],[aV]:rd},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: The Outpost Id was not set",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[aV]:ra}],[aV]:rd},{error:"Invalid ARN: No ARN type specified",[aV]:ra}],[aV]:rd},{[a1]:[{fn:rl,[a3]:[rW,0,4,!1],[a2]:rk},{fn:ro,[a3]:[{ref:rk},"arn:"]},{fn:"not",[a3]:[{fn:rn,[a3]:[oq]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[aV]:ra},{[a1]:[{fn:rt,[a3]:[{ref:"ForcePathStyle"},!0]},oq],error:"Path-style addressing cannot be used with ARN buckets",[aV]:ra},{[a1]:[r2],[a0]:[{[a1]:ui,[a0]:[{[a1]:[oh],[a0]:[{[a1]:[rG,oe,rU,og],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,oe,rU,od,op],[a0]:[{endpoint:o$,[aV]:rc}],[aV]:rd},{[a1]:[rG,oe,rU,od,oy],endpoint:o$,[aV]:rc},{[a1]:[oi,oe,rU,og],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,oe,rU,od,op],[a0]:[{endpoint:oK,[aV]:rc}],[aV]:rd},{[a1]:[oi,oe,rU,od,oy],endpoint:oK,[aV]:rc},{[a1]:[rG,oe,on,og],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rG,oe,on,od,op],[a0]:[{endpoint:oz,[aV]:rc}],[aV]:rd},{[a1]:[rG,oe,on,od,oy],endpoint:oz,[aV]:rc},{[a1]:[oi,rq,r0,on,og],endpoint:{url:rB,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,rq,r0,on,od,op],[a0]:[{[a1]:uT,endpoint:oW,[aV]:rc},{endpoint:oW,[aV]:rc}],[aV]:rd},{[a1]:[oi,rq,r0,on,od,oy],endpoint:oW,[aV]:rc},{[a1]:[oi,oe,on,og],endpoint:{url:rH,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[oi,oe,on,od,op],[a0]:[{[a1]:uT,endpoint:{url:rH,[a4]:om,[re]:r8},[aV]:rc},{endpoint:oj,[aV]:rc}],[aV]:rd},{[a1]:[oi,oe,on,od,oy],endpoint:oj,[aV]:rc}],[aV]:rd},{error:"Path-style addressing cannot be used with S3 Accelerate",[aV]:ra}],[aV]:rd}],[aV]:rd}],[aV]:rd},{[a1]:[{fn:rn,[a3]:[oV]},{fn:rt,[a3]:[oV,!0]}],[a0]:[{[a1]:ui,[a0]:[{[a1]:uR,[a0]:[oP,oZ,{[a1]:o7,endpoint:{url:ry,[a4]:o0,[re]:r8},[aV]:rc},{[a1]:uZ,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[a4]:o0,[re]:r8},[aV]:rc},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[a4]:o0,[re]:r8},[aV]:rc}],[aV]:rd},oY],[aV]:rd}],[aV]:rd},{[a1]:[oa],[a0]:[{[a1]:ui,[a0]:[{[a1]:uR,[a0]:[{[a1]:[rU,rG,oe,og],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rU,rG,oe,od,op],[a0]:[{endpoint:o1,[aV]:rc}],[aV]:rd},{[a1]:[rU,rG,oe,od,oy],endpoint:o1,[aV]:rc},{[a1]:[rU,oi,oe,og],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[rU,oi,oe,od,op],[a0]:[{endpoint:o3,[aV]:rc}],[aV]:rd},{[a1]:[rU,oi,oe,od,oy],endpoint:o3,[aV]:rc},{[a1]:[on,rG,oe,og],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[on,rG,oe,od,op],[a0]:[{endpoint:o2,[aV]:rc}],[aV]:rd},{[a1]:[on,rG,oe,od,oy],endpoint:o2,[aV]:rc},{[a1]:[on,oi,rq,r0,og],endpoint:{url:ry,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[on,oi,rq,r0,od,op],[a0]:[{[a1]:uT,endpoint:o4,[aV]:rc},{endpoint:o4,[aV]:rc}],[aV]:rd},{[a1]:[on,oi,rq,r0,od,oy],endpoint:o4,[aV]:rc},{[a1]:[on,oi,oe,og],endpoint:{url:rF,[a4]:oc,[re]:r8},[aV]:rc},{[a1]:[on,oi,oe,od,op],[a0]:[{[a1]:uT,endpoint:{url:rF,[a4]:om,[re]:r8},[aV]:rc},{endpoint:o8,[aV]:rc}],[aV]:rd},{[a1]:[on,oi,oe,od,oy],endpoint:o8,[aV]:rc}],[aV]:rd},oY],[aV]:rd}],[aV]:rd}],[aV]:rd},{error:"A region must be set when sending requests to S3.",[aV]:ra}]},uJ=new aQ({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),endpointResolver_defaultEndpointResolver=(e,i={})=>uJ.get(e,()=>resolveEndpoint(uM,{endpointParams:e,logger:i.logger}));t_.aws=tA;let uk=(d=async(e,i,n)=>({operation:getSmithyContext(i).operation,region:await normalizeProvider(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),async(e,i,n)=>{if(!n)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let t=await d(e,i,n),a=getSmithyContext(i)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${i.commandName}'`);return Object.assign(t,await resolveParams(n,{getEndpointParameterInstructions:a},e))});function createAwsAuthSigv4HttpAuthOption(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}function createAwsAuthSigv4aHttpAuthOption(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,i)=>({signingProperties:{config:e,context:i}})}}let uB=(j=e=>{let i=[];return e.operation,i.push(createAwsAuthSigv4HttpAuthOption(e)),i.push(createAwsAuthSigv4aHttpAuthOption(e)),i},V={"aws.auth#sigv4":createAwsAuthSigv4HttpAuthOption,"aws.auth#sigv4a":createAwsAuthSigv4aHttpAuthOption},e=>{let i=endpointResolver_defaultEndpointResolver(e),n=i.properties?.authSchemes;if(!n)return j(e);let t=[];for(let i of n){let a,{name:r,properties:o={},...u}=i,s=r.toLowerCase();if(r!==s&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${r}' to '${s}'`),"sigv4a"===s){a="aws.auth#sigv4a";let e=n.find(e=>{let i=e.name.toLowerCase();return"sigv4a"!==i&&i.startsWith("sigv4")});if("none"===aF.sigv4aDependency()&&e)continue}else if(s.startsWith("sigv4"))a="aws.auth#sigv4";else throw Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${s}'`);let l=V[a];if(!l)throw Error(`Could not find HttpAuthOption create function for '${a}'`);let h=l(e);h.schemeId=a,h.signingProperties={...h.signingProperties||{},...u,...o},t.push(h)}return t});async function splitStream(e){return"function"==typeof e.stream&&(e=e.stream()),e.tee()}let isReadableStream=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);async function splitStream_splitStream(e){if(isReadableStream(e)||"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob))return splitStream(e);let i=new al.PassThrough,n=new al.PassThrough;return e.pipe(i),e.pipe(n),[i,n]}async function headStream(e,i){let n=0,t=[],a=e.getReader(),r=!1;for(;!r;){let{done:e,value:o}=await a.read();if(o&&(t.push(o),n+=o?.byteLength??0),n>=i)break;r=e}a.releaseLock();let o=new Uint8Array(Math.min(i,n)),u=0;for(let e of t){if(e.byteLength>o.byteLength-u){o.set(e.subarray(0,o.byteLength-u),u);break}o.set(e,u),u+=e.length}return o}class uH extends al.Writable{buffers=[];limit=1/0;bytesBuffered=0;_write(e,i,n){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let e=this.bytesBuffered-this.limit,i=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=i.subarray(0,i.byteLength-e),this.emit("finish")}n()}}let uF={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},uX={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},getThrow200ExceptionsPlugin=e=>({applyToStack:i=>{i.addRelativeTo((i,n)=>async t=>{let a=await i(t),{response:r}=a;if(!tF.isInstance(r))return a;let{statusCode:o,body:u}=r;if(o<200||o>=300||"function"!=typeof u?.stream&&"function"!=typeof u?.pipe&&"function"!=typeof u?.tee)return a;let s=u,l=u;!u||"object"!=typeof u||u instanceof Uint8Array||([s,l]=await splitStream_splitStream(u)),r.body=l;let h=await ((e=new Uint8Array,i)=>e instanceof Uint8Array?Promise.resolve(e):i.streamCollector(e)||Promise.resolve(new Uint8Array))(s,{streamCollector:async e=>isReadableStream(e)?headStream(e,3e3):new Promise((i,n)=>{let t=new uH;t.limit=3e3,e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.buffers)))})})});"function"==typeof s?.destroy&&s.destroy();let g=e.utf8Encoder(h.subarray(h.length-16));if(0===h.length&&uF[n.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(r.statusCode=400),a},uX)}});function setFeature_setFeature(e,i,n){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[i]=n}let uI={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},getEndpointPlugin=(e,i)=>({applyToStack:n=>{n.addRelativeTo((({config:e,instructions:i})=>(n,t)=>async a=>{e.isCustomEndpoint&&setFeature_setFeature(t,"ENDPOINT_OVERRIDE","N");let r=await getEndpointFromInstructions(a.input,{getEndpointParameterInstructions:()=>i},{...e},t);t.endpointV2=r,t.authSchemes=r.properties?.authSchemes;let o=t.authSchemes?.[0];if(o){t.signing_region=o.signingRegion,t.signing_service=o.signingName;let e=getSmithyContext(t),i=e?.selectedHttpAuthScheme?.httpAuthOption;i&&(i.signingProperties=Object.assign(i.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return n({...a})})({config:e,instructions:i}),uI)}}),deref=e=>"function"==typeof e?e():e;function translateTraits(e){if("object"==typeof e)return e;e|=0;let i={},n=0;for(let t of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(e>>n++&1)==1&&(i[t]=1);return i}class uO{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=uO.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,i){this.ref=e,this.memberName=i;let n=[],t=e,a=e;for(this._isMemberSchema=!1;isMemberSchema(t);)n.push(t[1]),a=deref(t=t[0]),this._isMemberSchema=!0;if(n.length>0){this.memberTraits={};for(let e=n.length-1;e>=0;--e){let i=n[e];Object.assign(this.memberTraits,translateTraits(i))}}else this.memberTraits=0;if(a instanceof uO){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=i??a.memberName;return}if(this.schema=deref(a),isStaticSchema(this.schema)?(this.name=`${this.schema[1]}#${this.schema[2]}`,this.traits=this.schema[3]):(this.name=this.memberName??String(a),this.traits=0),this._isMemberSchema&&!i)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let i=this.prototype.isPrototypeOf(e);return i||"object"!=typeof e||null===e?i:e.symbol===this.symbol}static of(e){let i=deref(e);if(i instanceof uO)return i;if(isMemberSchema(i)){let[n,t]=i;if(n instanceof uO)return Object.assign(n.getMergedTraits(),translateTraits(t)),n;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new uO(i)}getSchema(){let e=this.schema;return 0===e[0]?e[4]:e}getName(e=!1){let{name:i}=this;return!e&&i&&i.includes("#")?i.split("#")[1]:i||void 0}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){let e=this.getSchema();return"number"==typeof e?e>=64&&e<128:1===e[0]}isMapSchema(){let e=this.getSchema();return"number"==typeof e?e>=128&&e<=255:2===e[0]}isStructSchema(){let e=this.getSchema()[0];return 3===e||-3===e||4===e}isUnionSchema(){return 4===this.getSchema()[0]}isBlobSchema(){let e=this.getSchema();return 21===e||42===e}isTimestampSchema(){let e=this.getSchema();return"number"==typeof e&&e>=4&&e<=7}isUnitSchema(){return"unit"===this.getSchema()}isDocumentSchema(){return 15===this.getSchema()}isStringSchema(){return 0===this.getSchema()}isBooleanSchema(){return 2===this.getSchema()}isNumericSchema(){return 1===this.getSchema()}isBigIntegerSchema(){return 17===this.getSchema()}isBigDecimalSchema(){return 19===this.getSchema()}isStreaming(){let{streaming:e}=this.getMergedTraits();return!!e||42===this.getSchema()}isIdempotencyToken(){let match=e=>(4&e)==4||!!e?.idempotencyToken,{normalizedTraits:e,traits:i,memberTraits:n}=this;return match(e)||match(i)||match(n)}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return translateTraits(this.memberTraits)}getOwnTraits(){return translateTraits(this.traits)}getKeySchema(){let[e,i]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!i)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let n=this.getSchema();return NormalizedSchema_member([e?15:n[4]??0,0],"key")}getValueSchema(){let e=this.getSchema(),[i,n,t]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a="number"==typeof e?63&e:e&&"object"==typeof e&&(n||t)?e[3+e[0]]:i?15:void 0;if(null!=a)return NormalizedSchema_member([a,0],n?"value":"member");throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let i=this.getSchema();if(this.isStructSchema()&&i[4].includes(e)){let n=i[4].indexOf(e),t=i[5][n];return NormalizedSchema_member(isMemberSchema(t)?t:[t,0],e)}if(this.isDocumentSchema())return NormalizedSchema_member([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[i,n]of this.structIterator())e[i]=n}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,i]of this.structIterator())if(i.isStreaming()&&i.isStructSchema())return e}return""}*structIterator(){if(this.isUnitSchema())return;if(!this.isStructSchema())throw Error("@smithy/core/schema - cannot iterate non-struct schema.");let e=this.getSchema();for(let i=0;i<e[4].length;++i)yield[e[4][i],NormalizedSchema_member([e[5][i],0],e[4][i])]}}function NormalizedSchema_member(e,i){return e instanceof uO?Object.assign(e,{memberName:i,_isMemberSchema:!0}):new uO(e,i)}let isMemberSchema=e=>Array.isArray(e)&&2===e.length,isStaticSchema=e=>Array.isArray(e)&&e.length>=5,uQ="***SensitiveInformation***";function schemaLogFilter(e,i){if(null==i)return i;let n=uO.of(e);if(n.getMergedTraits().sensitive)return uQ;if(n.isListSchema()){if(n.getValueSchema().getMergedTraits().sensitive)return uQ}else if(n.isMapSchema()){if(n.getKeySchema().getMergedTraits().sensitive||n.getValueSchema().getMergedTraits().sensitive)return uQ}else if(n.isStructSchema()&&"object"==typeof i){let e={};for(let[t,a]of n.structIterator())null!=i[t]&&(e[t]=schemaLogFilter(a,i[t]));return e}return i}class uU{middlewareStack=constructStack();schema;static classBuilder(){return new uG}resolveMiddlewareWithContext(e,i,n,{middlewareFn:t,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,smithyContext:s,additionalContext:l,CommandCtor:h}){for(let a of t.bind(this)(h,e,i,n))this.middlewareStack.use(a);let g=e.concat(this.middlewareStack),{logger:c}=i,d={logger:c,clientName:a,commandName:r,inputFilterSensitiveLog:o,outputFilterSensitiveLog:u,[tx]:{commandInstance:this,...s},...l},{requestHandler:p}=i;return g.resolve(e=>p.handle(e.request,n||{}),d)}}class uG{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){return this._ep=e,this}m(e){return this._middlewareFn=e,this}s(e,i,n={}){return this._smithyContext={service:e,operation:i,...n},this}c(e={}){return this._additionalContext=e,this}n(e,i){return this._clientName=e,this._commandName=i,this}f(e=e=>e,i=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=i,this}ser(e){return this._serializer=e,this}de(e){return this._deserializer=e,this}sc(e){return this._operationSchema=e,this._smithyContext.operationSchema=e,this}build(){let e,i=this;return e=class extends uU{input;static getEndpointParameterInstructions(){return i._ep}constructor(...[e]){super(),this.input=e??{},i._init(this),this.schema=i._operationSchema}resolveMiddleware(n,t,a){let r=i._operationSchema,o=r?.[4]??r?.input,u=r?.[5]??r?.output;return this.resolveMiddlewareWithContext(n,t,a,{CommandCtor:e,middlewareFn:i._middlewareFn,clientName:i._clientName,commandName:i._commandName,inputFilterSensitiveLog:i._inputFilterSensitiveLog??(r?schemaLogFilter.bind(null,o):e=>e),outputFilterSensitiveLog:i._outputFilterSensitiveLog??(r?schemaLogFilter.bind(null,u):e=>e),smithyContext:i._smithyContext,additionalContext:i._additionalContext})}serialize=i._serializer;deserialize=i._deserializer}}}let uq={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class u${namespace;schemas;exceptions;static registries=new Map;constructor(e,i=new Map,n=new Map){this.namespace=e,this.schemas=i,this.exceptions=n}static for(e){return u$.registries.has(e)||u$.registries.set(e,new u$(e)),u$.registries.get(e)}register(e,i){let n=this.normalizeShapeId(e);u$.for(n.split("#")[0]).schemas.set(n,i)}getSchema(e){let i=this.normalizeShapeId(e);if(!this.schemas.has(i))throw Error(`@smithy/core/schema - schema not found for ${i}`);return this.schemas.get(i)}registerError(e,i){let n=u$.for(e[1]);n.schemas.set(e[1]+"#"+e[2],e),n.exceptions.set(e,i)}getErrorCtor(e){return u$.for(e[1]).exceptions.get(e)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,i,n]=e,t=i+"#"+n;if(t.startsWith("smithy.ts.sdk.synthetic.")&&t.endsWith("ServiceException"))return e}}find(e){return[...this.schemas.values()].find(e)}clear(){this.schemas.clear(),this.exceptions.clear()}normalizeShapeId(e){return e.includes("#")?e:this.namespace+"#"+e}}class uK extends Error{$fault;$response;$retryable;$metadata;constructor(e){super(e.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}static isInstance(e){return!!e&&(uK.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===uK?uK.isInstance(e):!!uK.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let decorateServiceException=(e,i={})=>{Object.entries(i).filter(([,e])=>void 0!==e).forEach(([i,n])=>{(void 0==e[i]||""===e[i])&&(e[i]=n)});let n=e.message||e.Message||"UnknownError";return e.message=n,delete e.Message,e};class uz extends uK{constructor(e){super(e),Object.setPrototypeOf(this,uz.prototype)}}class uW extends uz{name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,uW.prototype)}}class uj extends uz{name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,uj.prototype)}}class uV extends uz{name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,uV.prototype)}}class u0 extends uz{name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,u0.prototype)}}class u1 extends uz{name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,u1.prototype)}}class u3 extends uz{name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,u3.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class u2 extends uz{name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,u2.prototype)}}class u4 extends uz{name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,u4.prototype)}}class u8 extends uz{name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u8.prototype)}}class u6 extends uz{name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,u6.prototype)}}class u5 extends uz{name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,u5.prototype)}}class u7 extends uz{name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,u7.prototype)}}class u9 extends uz{name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,u9.prototype)}}class se extends uz{name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,se.prototype)}}let si="AccessControlTranslation",sn="AbortIncompleteMultipartUpload",st="AccessKeyId",sa="AccessPointArn",sr="AcceptRanges",so="AccessTier",su="Bucket",ss="BlockedEncryptionTypes",sl="BucketKeyEnabled",sh="Body",sg="ChecksumAlgorithm",sc="CacheControl",sd="ChecksumCRC32",sp="ChecksumCRC32C",sf="ChecksumCRC64NVME",sm="Cache-Control",sy="Content-Disposition",sS="ContentDisposition",sb="Content-Encoding",sC="ContentEncoding",sw="ContentLanguage",sT="Content-Language",sx="Content-Length",sL="ContentLength",sE="Content-MD5",s_="ContentMD5",sY="CompleteMultipartUpload",sD="ChecksumMode",sv="ContentRange",sA="Content-Range",sN="ChecksumSHA1",sP="ChecksumSHA256",sZ="ChecksumType",sR="Content-Type",sM="ContentType",sJ="ContinuationToken",sk="Condition",sB="Credentials",sH="Days",sF="DeleteMarker",sX="DeleteMarkerReplication",sI="DisplayName",sO="DefaultRetention",sQ="Date",sU="Delimiter",sG="Destination",sq="Expiration",s$="ExpectedBucketOwner",sK="EncryptionConfiguration",sz="ExistingObjectReplication",sW="ExpiresString",sj="EncryptionType",sV="ETag",s0="EncodingType",s1="Encryption",s3="Events",s2="Event",s4="Expires",s8="Filter",s6="FieldDelimiter",s5="FilterRule",s7="Format",s9="GrantFullControl",le="GrantRead",li="GrantReadACP",ln="GrantWriteACP",la="Grant",lr="Grantee",lo="HostName",lu="IfMatch",ls="If-Modified-Since",ll="IfModifiedSince",lh="If-Match",lg="IfNoneMatch",lc="If-None-Match",ld="InputSerialization",lp="IfUnmodifiedSince",lf="If-Unmodified-Since",lm="Initiator",ly="JSON",lS="LastModified",lb="Last-Modified",lC="Metadata",lw="MetadataEntry",lT="MaxKeys",lx="MissingMeta",lL="MultipartUpload",lE="Metrics",l_="Name",lY="NoncurrentDays",lD="NewerNoncurrentVersions",lv="NoncurrentVersionExpiration",lA="NoncurrentVersionTransition",lN="Owner",lP="ObjectLockLegalHoldStatus",lZ="ObjectLockMode",lR="ObjectLockRetainUntilDate",lM="ObjectSizeGreaterThan",lJ="ObjectSizeLessThan",lk="OutputSerialization",lB="Prefix",lH="PartsCount",lF="PartNumber",lX="PartitionedPrefix",lI="Part",lO="Permission",lQ="Protocol",lU="QuoteCharacter",lG="QuoteEscapeCharacter",lq="RequestCharged",l$="ResponseCacheControl",lK="ResponseContentDisposition",lz="ResponseContentEncoding",lW="ResponseContentLanguage",lj="ResponseContentType",lV="RecordDelimiter",l0="ResponseExpires",l1="RecordExpiration",l3="ReplicaModifications",l2="RequestPayer",l4="RoutingRule",l8="ReplicationStatus",l6="RestoreStatus",l5="ReplicationTime",l7="Range",l9="Restore",he="Redirect",hi="Status",hn="StartAfter",ht="SecretAccessKey",ha="S3BucketDestination",hr="StorageClass",ho="StorageClassAnalysis",hu="SSE-KMS",hs="SseKmsEncryptedObjects",hl="SimplePrefix",hh="SSE-S3",hg="SourceSelectionCriteria",hc="ServerSideEncryption",hd="SSECustomerAlgorithm",hp="SSECustomerKey",hf="SSECustomerKeyMD5",hm="SSEKMS",hy="SSEKMSEncryptionContext",hS="SSEKMSKeyId",hb="SSES3",hC="SessionToken",hw="Size",hT="Tags",hx="TagCount",hL="TargetGrants",hE="TargetObjectKeyFormat",h_="TagSet",hY="Tagging",hD="Tiering",hv="Transition",hA="Type",hN="UploadId",hP="UserMetadata",hZ="Value",hR="VersionId",hM="WebsiteRedirectLocation",hJ="accept-ranges",hk="client",hB="error",hH="http",hF="httpChecksum",hX="httpError",hI="httpHeader",hO="httpPayload",hQ="httpPrefixHeaders",hU="httpQuery",hG="http://www.w3.org/2001/XMLSchema-instance",hq="partNumber",h$="response-cache-control",hK="response-content-disposition",hz="response-content-encoding",hW="response-content-language",hj="response-content-type",hV="response-expires",h0="smithy.ts.sdk.synthetic.com.amazonaws.s3",h1="uploadId",h3="versionId",h2="xmlFlattened",h4="xmlName",h8="xmlNamespace",h6="x-amz-acl",h5="x-amz-checksum-algorithm",h7="x-amz-checksum-crc32",h9="x-amz-checksum-crc32c",ge="x-amz-checksum-crc64nvme",gi="x-amz-checksum-mode",gn="x-amz-checksum-sha1",ga="x-amz-checksum-sha256",gr="x-amz-checksum-type",go="x-amz-delete-marker",gu="x-amz-expiration",gs="x-amz-expected-bucket-owner",gl="x-amz-grant-full-control",gh="x-amz-grant-read",gg="x-amz-grant-read-acp",gc="x-amz-grant-write-acp",gd="x-amz-meta-",gp="x-amz-missing-meta",gf="x-amz-mp-parts-count",gm="x-amz-object-lock-legal-hold",gy="x-amz-object-lock-mode",gS="x-amz-object-lock-retain-until-date",gb="x-amz-restore",gC="x-amz-request-charged",gw="x-amz-request-payer",gT="x-amz-replication-status",gx="x-amz-storage-class",gL="x-amz-sdk-checksum-algorithm",gE="x-amz-server-side-encryption",g_="x-amz-server-side-encryption-aws-kms-key-id",gY="x-amz-server-side-encryption-bucket-key-enabled",gD="x-amz-server-side-encryption-context",gv="x-amz-server-side-encryption-customer-algorithm",gA="x-amz-server-side-encryption-customer-key",gN="x-amz-server-side-encryption-customer-key-MD5",gP="x-amz-tagging",gZ="x-amz-tagging-count",gR="x-amz-version-id",gM="x-amz-website-redirect-location",gJ="com.amazonaws.s3";var gk=[0,gJ,"SessionCredentialValue",8,0],gB=[0,gJ,hp,8,0],gH=[0,gJ,hy,8,0],gF=[0,gJ,hS,8,0],gX=[0,gJ,"StreamingBlob",{streaming:1},42],gI=[3,gJ,sn,0,["DaysAfterInitiation"],[1]],gO=[3,gJ,"AbortMultipartUploadOutput",0,[lq],[[0,{[hI]:gC}]]],gQ=[3,gJ,"AbortMultipartUploadRequest",0,[su,"Key",hN,l2,s$,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[hU]:h1}],[0,{[hI]:gw}],[0,{[hI]:gs}],[6,{[hI]:"x-amz-if-match-initiated-time"}]]],gU=[3,gJ,si,0,[lN],[0]],gG=[3,gJ,"AnalyticsAndOperator",0,[lB,hT],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}]]],gq=[3,gJ,"AnalyticsExportDestination",0,[ha],[()=>g$]],g$=[3,gJ,"AnalyticsS3BucketDestination",0,[s7,"BucketAccountId",su,lB],[0,0,0,0]],gK=[3,gJ,ss,0,[sj],[[()=>dk,{[h2]:1}]]],gz=[-3,gJ,"BucketAlreadyExists",{[hB]:hk,[hX]:409},[],[]];u$.for(gJ).registerError(gz,uV);var gW=[-3,gJ,"BucketAlreadyOwnedByYou",{[hB]:hk,[hX]:409},[],[]];u$.for(gJ).registerError(gW,u0);var gj=[3,gJ,"CommonPrefix",0,[lB],[0]],gV=[3,gJ,"CompletedMultipartUpload",0,["Parts"],[[()=>dJ,{[h2]:1,[h4]:lI}]]],g0=[3,gJ,"CompletedPart",0,[sV,sd,sp,sf,sN,sP,lF],[0,0,0,0,0,0,1]],g1=[3,gJ,"CompleteMultipartUploadOutput",{[h4]:"CompleteMultipartUploadResult"},["Location",su,"Key",sq,sV,sd,sp,sf,sN,sP,sZ,hc,hR,hS,sl,lq],[0,0,0,[0,{[hI]:gu}],0,0,0,0,0,0,0,[0,{[hI]:gE}],[0,{[hI]:gR}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gC}]]],g3=[3,gJ,"CompleteMultipartUploadRequest",0,[su,"Key",lL,hN,sd,sp,sf,sN,sP,sZ,"MpuObjectSize",l2,s$,lu,lg,hd,hp,hf],[[0,1],[0,1],[()=>gV,{[hO]:1,[h4]:sY}],[0,{[hU]:h1}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[1,{[hI]:"x-amz-mp-object-size"}],[0,{[hI]:gw}],[0,{[hI]:gs}],[0,{[hI]:lh}],[0,{[hI]:lc}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}]]],g2=[3,gJ,sk,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],g4=[3,gJ,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[h2]:1,[h4]:"AllowedHeader"}],[64,{[h2]:1,[h4]:"AllowedMethod"}],[64,{[h2]:1,[h4]:"AllowedOrigin"}],[64,{[h2]:1,[h4]:"ExposeHeader"}],1]],g8=[3,gJ,"CreateMultipartUploadOutput",{[h4]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",su,"Key",hN,hc,hd,hf,hS,hy,sl,lq,sg,sZ],[[4,{[hI]:"x-amz-abort-date"}],[0,{[hI]:"x-amz-abort-rule-id"}],[0,{[h4]:su}],0,0,[0,{[hI]:gE}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[0,{[hI]:gC}],[0,{[hI]:h5}],[0,{[hI]:gr}]]],g6=[3,gJ,"CreateMultipartUploadRequest",0,["ACL",su,sc,sS,sC,sw,sM,s4,s9,le,li,ln,"Key",lC,hc,hr,hM,hd,hp,hf,hS,hy,sl,l2,hY,lZ,lR,lP,s$,sg,sZ],[[0,{[hI]:h6}],[0,1],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[0,{[hI]:sR}],[4,{[hI]:s4}],[0,{[hI]:gl}],[0,{[hI]:gh}],[0,{[hI]:gg}],[0,{[hI]:gc}],[0,1],[128,{[hQ]:gd}],[0,{[hI]:gE}],[0,{[hI]:gx}],[0,{[hI]:gM}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[0,{[hI]:gw}],[0,{[hI]:gP}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}],[0,{[hI]:gs}],[0,{[hI]:h5}],[0,{[hI]:gr}]]],g5=[3,gJ,"CreateSessionOutput",{[h4]:"CreateSessionResult"},[hc,hS,hy,sl,sB],[[0,{[hI]:gE}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[()=>dm,{[h4]:sB}]]],g7=[3,gJ,"CreateSessionRequest",0,["SessionMode",su,hc,hS,hy,sl],[[0,{[hI]:"x-amz-create-session-mode"}],[0,1],[0,{[hI]:gE}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}]]],g9=[3,gJ,"CSVInput",0,["FileHeaderInfo","Comments",lG,lV,s6,lU,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],ce=[3,gJ,"CSVOutput",0,["QuoteFields",lG,lV,s6,lU],[0,0,0,0,0]],ci=[3,gJ,sO,0,["Mode",sH,"Years"],[0,1,1]],cn=[3,gJ,sX,0,[hi],[0]],ct=[3,gJ,"DeleteObjectOutput",0,[sF,hR,lq],[[2,{[hI]:go}],[0,{[hI]:gR}],[0,{[hI]:gC}]]],ca=[3,gJ,"DeleteObjectRequest",0,[su,"Key","MFA",hR,l2,"BypassGovernanceRetention",s$,lu,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[hI]:"x-amz-mfa"}],[0,{[hU]:h3}],[0,{[hI]:gw}],[2,{[hI]:"x-amz-bypass-governance-retention"}],[0,{[hI]:gs}],[0,{[hI]:lh}],[6,{[hI]:"x-amz-if-match-last-modified-time"}],[1,{[hI]:"x-amz-if-match-size"}]]],cr=[3,gJ,sG,0,[su,"Account",hr,si,sK,l5,lE],[0,0,0,()=>gU,()=>cu,()=>ds,()=>cX]],co=[3,gJ,s1,0,[sj,"KMSKeyId","KMSContext"],[0,[()=>gF,0],0]],cu=[3,gJ,sK,0,["ReplicaKmsKeyID"],[0]],cs=[-3,gJ,"EncryptionTypeMismatch",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cs,u8);var cl=[3,gJ,sz,0,[hi],[0]],ch=[3,gJ,s5,0,[l_,hZ],[0,0]],cg=[3,gJ,"GetObjectOutput",0,[sh,sF,sr,sq,l9,lS,sL,sV,sd,sp,sf,sN,sP,sZ,lx,hR,sc,sS,sC,sw,sv,sM,s4,sW,hM,hc,lC,hd,hf,hS,sl,hr,lq,l8,lH,hx,lZ,lR,lP],[[()=>gX,16],[2,{[hI]:go}],[0,{[hI]:hJ}],[0,{[hI]:gu}],[0,{[hI]:gb}],[4,{[hI]:lb}],[1,{[hI]:sx}],[0,{[hI]:sV}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[1,{[hI]:gp}],[0,{[hI]:gR}],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[0,{[hI]:sA}],[0,{[hI]:sR}],[4,{[hI]:s4}],[0,{[hI]:sW}],[0,{[hI]:gM}],[0,{[hI]:gE}],[128,{[hQ]:gd}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gx}],[0,{[hI]:gC}],[0,{[hI]:gT}],[1,{[hI]:gf}],[1,{[hI]:gZ}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}]]],cc=[3,gJ,"GetObjectRequest",0,[su,lu,ll,lg,lp,"Key",l7,l$,lK,lz,lW,lj,l0,hR,hd,hp,hf,l2,lF,s$,sD],[[0,1],[0,{[hI]:lh}],[4,{[hI]:ls}],[0,{[hI]:lc}],[4,{[hI]:lf}],[0,1],[0,{[hI]:l7}],[0,{[hU]:h$}],[0,{[hU]:hK}],[0,{[hU]:hz}],[0,{[hU]:hW}],[0,{[hU]:hj}],[6,{[hU]:hV}],[0,{[hU]:h3}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[0,{[hI]:gw}],[1,{[hU]:hq}],[0,{[hI]:gs}],[0,{[hI]:gi}]]],cd=[3,gJ,la,0,[lr,lO],[[()=>cp,{[h8]:["xsi",hG]}],0]],cp=[3,gJ,lr,0,[sI,"EmailAddress","ID","URI",hA],[0,0,0,0,[0,{xmlAttribute:1,[h4]:"xsi:type"}]]],cf=[3,gJ,"HeadObjectOutput",0,[sF,sr,sq,l9,"ArchiveStatus",lS,sL,sd,sp,sf,sN,sP,sZ,sV,lx,hR,sc,sS,sC,sw,sM,sv,s4,sW,hM,hc,lC,hd,hf,hS,sl,hr,lq,l8,lH,hx,lZ,lR,lP],[[2,{[hI]:go}],[0,{[hI]:hJ}],[0,{[hI]:gu}],[0,{[hI]:gb}],[0,{[hI]:"x-amz-archive-status"}],[4,{[hI]:lb}],[1,{[hI]:sx}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[0,{[hI]:sV}],[1,{[hI]:gp}],[0,{[hI]:gR}],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[0,{[hI]:sR}],[0,{[hI]:sA}],[4,{[hI]:s4}],[0,{[hI]:sW}],[0,{[hI]:gM}],[0,{[hI]:gE}],[128,{[hQ]:gd}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gx}],[0,{[hI]:gC}],[0,{[hI]:gT}],[1,{[hI]:gf}],[1,{[hI]:gZ}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}]]],cm=[3,gJ,"HeadObjectRequest",0,[su,lu,ll,lg,lp,"Key",l7,l$,lK,lz,lW,lj,l0,hR,hd,hp,hf,l2,lF,s$,sD],[[0,1],[0,{[hI]:lh}],[4,{[hI]:ls}],[0,{[hI]:lc}],[4,{[hI]:lf}],[0,1],[0,{[hI]:l7}],[0,{[hU]:h$}],[0,{[hU]:hK}],[0,{[hU]:hz}],[0,{[hU]:hW}],[0,{[hU]:hj}],[6,{[hU]:hV}],[0,{[hU]:h3}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[0,{[hI]:gw}],[1,{[hU]:hq}],[0,{[hI]:gs}],[0,{[hI]:gi}]]],cy=[-3,gJ,"IdempotencyParameterMismatch",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cy,u9);var cS=[3,gJ,lm,0,["ID",sI],[0,0]],cb=[3,gJ,ld,0,["CSV","CompressionType",ly,"Parquet"],[()=>g9,0,()=>cA,()=>c4]],cC=[3,gJ,"IntelligentTieringAndOperator",0,[lB,hT],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}]]],cw=[3,gJ,"IntelligentTieringFilter",0,[lB,"Tag","And"],[0,()=>dL,[()=>cC,0]]],cT=[-3,gJ,"InvalidObjectState",{[hB]:hk,[hX]:403},[hr,so],[0,0]];u$.for(gJ).registerError(cT,u3);var cx=[-3,gJ,"InvalidRequest",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cx,u6);var cL=[-3,gJ,"InvalidWriteOffset",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(cL,u5);var cE=[3,gJ,"InventoryDestination",0,[ha],[[()=>cD,0]]],c_=[3,gJ,"InventoryEncryption",0,[hb,hm],[[()=>dw,{[h4]:hh}],[()=>db,{[h4]:hu}]]],cY=[3,gJ,"InventoryFilter",0,[lB],[0]],cD=[3,gJ,"InventoryS3BucketDestination",0,["AccountId",su,s7,lB,s1],[0,0,0,0,[()=>c_,0]]],cv=[3,gJ,"InventorySchedule",0,["Frequency"],[0]],cA=[3,gJ,"JSONInput",0,[hA],[0]],cN=[3,gJ,"JSONOutput",0,[lV],[0]],cP=[3,gJ,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",s3,s8],[0,[0,{[h4]:"CloudFunction"}],[64,{[h2]:1,[h4]:s2}],[()=>cK,0]]],cZ=[3,gJ,"LifecycleExpiration",0,[sQ,sH,"ExpiredObjectDeleteMarker"],[5,1,2]],cR=[3,gJ,"LifecycleRule",0,[sq,"ID",lB,s8,hi,"Transitions","NoncurrentVersionTransitions",lv,sn],[()=>cZ,0,0,[()=>cJ,0],0,[()=>dU,{[h2]:1,[h4]:hv}],[()=>dX,{[h2]:1,[h4]:lA}],()=>cO,()=>gI]],cM=[3,gJ,"LifecycleRuleAndOperator",0,[lB,hT,lM,lJ],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}],1,1]],cJ=[3,gJ,"LifecycleRuleFilter",0,[lB,"Tag",lM,lJ,"And"],[0,()=>dL,1,1,[()=>cM,0]]],ck=[3,gJ,"ListObjectsV2Output",{[h4]:"ListBucketResult"},["IsTruncated","Contents",l_,lB,sU,lT,"CommonPrefixes",s0,"KeyCount",sJ,"NextContinuationToken",hn,lq],[2,[()=>dI,{[h2]:1}],0,0,0,1,[()=>dM,{[h2]:1}],0,1,0,0,0,[0,{[hI]:gC}]]],cB=[3,gJ,"ListObjectsV2Request",0,[su,sU,s0,lT,lB,sJ,"FetchOwner",hn,l2,s$,"OptionalObjectAttributes"],[[0,1],[0,{[hU]:"delimiter"}],[0,{[hU]:"encoding-type"}],[1,{[hU]:"max-keys"}],[0,{[hU]:"prefix"}],[0,{[hU]:"continuation-token"}],[2,{[hU]:"fetch-owner"}],[0,{[hU]:"start-after"}],[0,{[hI]:gw}],[0,{[hI]:gs}],[64,{[hI]:"x-amz-optional-object-attributes"}]]],cH=[3,gJ,lw,0,[l_,hZ],[0,0]],cF=[3,gJ,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],cX=[3,gJ,lE,0,[hi,"EventThreshold"],[0,()=>dl]],cI=[3,gJ,"MetricsAndOperator",0,[lB,hT,sa],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}],0]],cO=[3,gJ,lv,0,[lY,lD],[1,1]],cQ=[3,gJ,lA,0,[lY,hr,lD],[1,0,1]],cU=[-3,gJ,"NoSuchBucket",{[hB]:hk,[hX]:404},[],[]];u$.for(gJ).registerError(cU,u1);var cG=[-3,gJ,"NoSuchKey",{[hB]:hk,[hX]:404},[],[]];u$.for(gJ).registerError(cG,u2);var cq=[-3,gJ,"NoSuchUpload",{[hB]:hk,[hX]:404},[],[]];u$.for(gJ).registerError(cq,uW);var c$=[-3,gJ,"NotFound",{[hB]:hk},[],[]];u$.for(gJ).registerError(c$,u4);var cK=[3,gJ,"NotificationConfigurationFilter",0,["Key"],[[()=>dc,{[h4]:"S3Key"}]]],cz=[3,gJ,"Object",0,["Key",lS,sV,sg,sZ,hw,hr,lN,l6],[0,4,0,[64,{[h2]:1}],0,1,0,()=>c3,()=>dh]],cW=[-3,gJ,"ObjectAlreadyInActiveTierError",{[hB]:hk,[hX]:403},[],[]];u$.for(gJ).registerError(cW,se);var cj=[3,gJ,"ObjectIdentifier",0,["Key",hR,sV,"LastModifiedTime",hw],[0,0,0,6,1]],cV=[-3,gJ,"ObjectNotInActiveTierError",{[hB]:hk,[hX]:403},[],[]];u$.for(gJ).registerError(cV,uj);var c0=[3,gJ,"ObjectPart",0,[lF,hw,sd,sp,sf,sN,sP],[1,1,0,0,0,0,0]],c1=[3,gJ,lk,0,["CSV",ly],[()=>ce,()=>cN]],c3=[3,gJ,lN,0,[sI,"ID"],[0,0]],c2=[3,gJ,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],c4=[3,gJ,"ParquetInput",0,[],[]],c8=[3,gJ,lX,{[h4]:lX},["PartitionDateSource"],[0]],c6=[3,gJ,"PutObjectOutput",0,[sq,sV,sd,sp,sf,sN,sP,sZ,hc,hR,hd,hf,hS,hy,sl,hw,lq],[[0,{[hI]:gu}],[0,{[hI]:sV}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gr}],[0,{[hI]:gE}],[0,{[hI]:gR}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[1,{[hI]:"x-amz-object-size"}],[0,{[hI]:gC}]]],c5=[3,gJ,"PutObjectRequest",0,["ACL",sh,su,sc,sS,sC,sw,sL,s_,sM,sg,sd,sp,sf,sN,sP,s4,lu,lg,s9,le,li,ln,"Key","WriteOffsetBytes",lC,hc,hr,hM,hd,hp,hf,hS,hy,sl,l2,hY,lZ,lR,lP,s$],[[0,{[hI]:h6}],[()=>gX,16],[0,1],[0,{[hI]:sm}],[0,{[hI]:sy}],[0,{[hI]:sb}],[0,{[hI]:sT}],[1,{[hI]:sx}],[0,{[hI]:sE}],[0,{[hI]:sR}],[0,{[hI]:gL}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[4,{[hI]:s4}],[0,{[hI]:lh}],[0,{[hI]:lc}],[0,{[hI]:gl}],[0,{[hI]:gh}],[0,{[hI]:gg}],[0,{[hI]:gc}],[0,1],[1,{[hI]:"x-amz-write-offset-bytes"}],[128,{[hQ]:gd}],[0,{[hI]:gE}],[0,{[hI]:gx}],[0,{[hI]:gM}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[()=>gH,{[hI]:gD}],[2,{[hI]:gY}],[0,{[hI]:gw}],[0,{[hI]:gP}],[0,{[hI]:gy}],[5,{[hI]:gS}],[0,{[hI]:gm}],[0,{[hI]:gs}]]],c7=[3,gJ,"PutObjectTaggingOutput",0,[hR],[[0,{[hI]:gR}]]],c9=[3,gJ,"PutObjectTaggingRequest",0,[su,"Key",hR,s_,sg,hY,s$,l2],[[0,1],[0,1],[0,{[hU]:h3}],[0,{[hI]:sE}],[0,{[hI]:gL}],[()=>dE,{[hO]:1,[h4]:hY}],[0,{[hI]:gs}],[0,{[hI]:gw}]]],de=[3,gJ,"QueueConfiguration",0,["Id","QueueArn",s3,s8],[0,[0,{[h4]:"Queue"}],[64,{[h2]:1,[h4]:s2}],[()=>cK,0]]],di=[3,gJ,l1,0,[sq,sH],[0,1]],dn=[3,gJ,he,0,[lo,"HttpRedirectCode",lQ,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],dt=[3,gJ,l3,0,[hi],[0]],da=[3,gJ,"ReplicationRule",0,["ID","Priority",lB,s8,hi,hg,sz,sG,sX],[0,1,0,[()=>du,0],0,()=>dS,()=>cl,()=>cr,()=>cn]],dr=[3,gJ,"ReplicationRuleAndOperator",0,[lB,hT],[0,[()=>dO,{[h2]:1,[h4]:"Tag"}]]],du=[3,gJ,"ReplicationRuleFilter",0,[lB,"Tag","And"],[0,()=>dL,[()=>dr,0]]],ds=[3,gJ,l5,0,[hi,"Time"],[0,()=>dl]],dl=[3,gJ,"ReplicationTimeValue",0,["Minutes"],[1]],dh=[3,gJ,l6,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],dg=[3,gJ,l4,0,[sk,he],[()=>g2,()=>dn]],dc=[3,gJ,"S3KeyFilter",0,["FilterRules"],[[()=>dB,{[h2]:1,[h4]:s5}]]],dd=[3,gJ,"S3Location",0,["BucketName",lB,s1,"CannedACL","AccessControlList",hY,hP,hr],[0,0,[()=>co,0],0,[()=>dH,0],[()=>dE,0],[()=>dG,0],0]],dp=[3,gJ,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>gF,0]]],df=[3,gJ,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",sl,ss],[[()=>dp,0],2,[()=>gK,0]]],dm=[3,gJ,"SessionCredentials",0,[st,ht,hC,sq],[[0,{[h4]:st}],[()=>gk,{[h4]:ht}],[()=>gk,{[h4]:hC}],[4,{[h4]:sq}]]],dy=[3,gJ,hl,{[h4]:hl},[],[]],dS=[3,gJ,hg,0,[hs,l3],[()=>dC,()=>dt]],db=[3,gJ,hm,{[h4]:hu},["KeyId"],[[()=>gF,0]]],dC=[3,gJ,hs,0,[hi],[0]],dw=[3,gJ,hb,{[h4]:hh},[],[]],dT=[3,gJ,ho,0,["DataExport"],[()=>dx]],dx=[3,gJ,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",sG],[0,()=>gq]],dL=[3,gJ,"Tag",0,["Key",hZ],[0,0]],dE=[3,gJ,hY,0,[h_],[[()=>dO,0]]],d_=[3,gJ,"TargetGrant",0,[lr,lO],[[()=>cp,{[h8]:["xsi",hG]}],0]],dY=[3,gJ,hE,0,[hl,lX],[[()=>dy,{[h4]:hl}],[()=>c8,{[h4]:lX}]]],dD=[3,gJ,hD,0,[sH,so],[1,0]],dv=[-3,gJ,"TooManyParts",{[hB]:hk,[hX]:400},[],[]];u$.for(gJ).registerError(dv,u7);var dA=[3,gJ,"TopicConfiguration",0,["Id","TopicArn",s3,s8],[0,[0,{[h4]:"Topic"}],[64,{[h2]:1,[h4]:s2}],[()=>cK,0]]],dN=[3,gJ,hv,0,[sQ,sH,hr],[5,1,0]],dP=[3,gJ,"UploadPartOutput",0,[hc,sV,sd,sp,sf,sN,sP,hd,hf,hS,sl,lq],[[0,{[hI]:gE}],[0,{[hI]:sV}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,{[hI]:gv}],[0,{[hI]:gN}],[()=>gF,{[hI]:g_}],[2,{[hI]:gY}],[0,{[hI]:gC}]]],dZ=[3,gJ,"UploadPartRequest",0,[sh,su,sL,s_,sg,sd,sp,sf,sN,sP,"Key",lF,hN,hd,hp,hf,l2,s$],[[()=>gX,16],[0,1],[1,{[hI]:sx}],[0,{[hI]:sE}],[0,{[hI]:gL}],[0,{[hI]:h7}],[0,{[hI]:h9}],[0,{[hI]:ge}],[0,{[hI]:gn}],[0,{[hI]:ga}],[0,1],[1,{[hU]:hq}],[0,{[hU]:h1}],[0,{[hI]:gv}],[()=>gB,{[hI]:gA}],[0,{[hI]:gN}],[0,{[hI]:gw}],[0,{[hI]:gs}]]],dR=[-3,h0,"S3ServiceException",0,[],[]];u$.for(h0).registerError(dR,uz);var dM=[1,gJ,"CommonPrefixList",0,()=>gj],dJ=[1,gJ,"CompletedPartList",0,()=>g0],dk=[1,gJ,"EncryptionTypeList",0,[0,{[h4]:sj}]],dB=[1,gJ,"FilterRuleList",0,()=>ch],dH=[1,gJ,"Grants",0,[()=>cd,{[h4]:la}]],dF=[1,gJ,"InventoryOptionalFields",0,[0,{[h4]:"Field"}]],dX=[1,gJ,"NoncurrentVersionTransitionList",0,()=>cQ],dI=[1,gJ,"ObjectList",0,[()=>cz,0]],dO=[1,gJ,h_,0,[()=>dL,{[h4]:"Tag"}]],dQ=[1,gJ,hL,0,[()=>d_,{[h4]:la}]],dU=[1,gJ,"TransitionList",0,()=>dN],dG=[1,gJ,hP,0,[()=>cH,{[h4]:lw}]],dq=[4,gJ,"AnalyticsFilter",0,[lB,"Tag","And"],[0,()=>dL,[()=>gG,0]]],d$=[4,gJ,"MetricsFilter",0,[lB,"Tag",sa,"And"],[0,()=>dL,0,[()=>cI,0]]],dK=[9,gJ,"AbortMultipartUpload",{[hH]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>gQ,()=>gO],dz=[9,gJ,sY,{[hH]:["POST","/{Key+}",200]},()=>g3,()=>g1],dW=[9,gJ,"CreateMultipartUpload",{[hH]:["POST","/{Key+}?uploads",200]},()=>g6,()=>g8],dj=[9,gJ,"CreateSession",{[hH]:["GET","/?session",200]},()=>g7,()=>g5],dV=[9,gJ,"DeleteObject",{[hH]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>ca,()=>ct],d0=[9,gJ,"GetObject",{[hF]:"-",[hH]:["GET","/{Key+}?x-id=GetObject",200]},()=>cc,()=>cg],d1=[9,gJ,"HeadObject",{[hH]:["HEAD","/{Key+}",200]},()=>cm,()=>cf],d3=[9,gJ,"ListObjectsV2",{[hH]:["GET","/?list-type=2",200]},()=>cB,()=>ck],d2=[9,gJ,"PutObject",{[hF]:"-",[hH]:["PUT","/{Key+}?x-id=PutObject",200]},()=>c5,()=>c6],d4=[9,gJ,"PutObjectTagging",{[hF]:"-",[hH]:["PUT","/{Key+}?tagging",200]},()=>c9,()=>c7],d8=[9,gJ,"UploadPart",{[hF]:"-",[hH]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>dZ,()=>dP];class d6 extends uU.classBuilder().ep({...uq,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").sc(dj).build(){}let d5={warningEmitted:!1},emitWarningIfUnsupportedVersion=e=>{e&&!d5.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(d5.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
54
54
  no longer support Node.js ${e} in January 2026.
55
55
 
56
56
  To continue receiving updates to AWS services, bug fixes, and security
57
57
  updates please upgrade to a supported Node.js LTS version.
58
58
 
59
- More information can be found at: https://a.co/c895JFp`))},getArrayForCommaSeparatedString=e=>"string"==typeof e&&e.length>0?e.split(",").map(e=>e.trim()):[],d6="AWS_AUTH_SCHEME_PREFERENCE",d5="auth_scheme_preference",d7={environmentVariableSelector:(e,i)=>{if(i?.signingName){let n;if(n=i.signingName,`AWS_BEARER_TOKEN_${n.replace(/[\s-]/g,"_").toUpperCase()}`in e)return["httpBearerAuth"]}if(d6 in e)return getArrayForCommaSeparatedString(e[d6])},configFileSelector:e=>{if(d5 in e)return getArrayForCommaSeparatedString(e[d5])},default:[]},d9="AWS_ACCESS_KEY_ID",pe="AWS_SECRET_ACCESS_KEY",fromEnv_fromEnv=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let i=process.env[d9],n=process.env[pe],t=process.env.AWS_SESSION_TOKEN,a=process.env.AWS_CREDENTIAL_EXPIRATION,r=process.env.AWS_CREDENTIAL_SCOPE,o=process.env.AWS_ACCOUNT_ID;if(i&&n){let e={accessKeyId:i,secretAccessKey:n,...t&&{sessionToken:t},...a&&{expiration:new Date(a)},...r&&{credentialScope:r},...o&&{accountId:o}};return setCredentialFeature(e,"CREDENTIALS_ENV_VARS","g"),e}throw new tQ("Unable to find environment variable credentials.",{logger:e?.logger})},pi="AWS_EC2_METADATA_DISABLED",remoteProvider=async e=>{let{ENV_CMDS_FULL_URI:i,ENV_CMDS_RELATIVE_URI:n,fromContainerMetadata:t,fromInstanceMetadata:a}=await import("./1~398.mjs").then(e=>({ENV_CMDS_FULL_URI:e.ENV_CMDS_FULL_URI,ENV_CMDS_RELATIVE_URI:e.ENV_CMDS_RELATIVE_URI,fromContainerMetadata:e.fromContainerMetadata,fromInstanceMetadata:e.fromInstanceMetadata}));if(process.env[n]||process.env[i]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");let{fromHttp:i}=await import("./1~35.mjs").then(e=>({fromHttp:e.fromHttp}));return chain_chain(i(e),t(e))}return process.env[pi]&&"false"!==process.env[pi]?async()=>{throw new tQ("EC2 Instance Metadata Service access disabled",{logger:e.logger})}:(e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"),a(e))};function memoizeChain(e,i){let n,t,a,r=internalCreateChain(e),provider=async e=>{if(e?.forceRefresh)return await r(e);if(a?.expiration&&a?.expiration?.getTime()<Date.now()&&(a=void 0),n)await n;else if(!a||i?.(a))if(!a)return n=r(e).then(e=>{a=e,n=void 0}),provider(e);else t||(t=r(e).then(e=>{a=e,t=void 0}));return a};return provider}let internalCreateChain=e=>async i=>{let n;for(let t of e)try{return await t(i)}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n},pn=!1,defaultProvider=(e={})=>memoizeChain([async()=>{if(e.profile??process.env[tU])throw process.env[d9]&&process.env[pe]&&!pn&&((e.logger?.warn&&e.logger?.constructor?.name!=="NoOpLogger"?e.logger.warn.bind(e.logger):console.warn)(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
59
+ More information can be found at: https://a.co/c895JFp`))},getArrayForCommaSeparatedString=e=>"string"==typeof e&&e.length>0?e.split(",").map(e=>e.trim()):[],d7="AWS_AUTH_SCHEME_PREFERENCE",d9="auth_scheme_preference",pe={environmentVariableSelector:(e,i)=>{if(i?.signingName){let n;if(n=i.signingName,`AWS_BEARER_TOKEN_${n.replace(/[\s-]/g,"_").toUpperCase()}`in e)return["httpBearerAuth"]}if(d7 in e)return getArrayForCommaSeparatedString(e[d7])},configFileSelector:e=>{if(d9 in e)return getArrayForCommaSeparatedString(e[d9])},default:[]},pi="AWS_ACCESS_KEY_ID",pn="AWS_SECRET_ACCESS_KEY",fromEnv_fromEnv=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let i=process.env[pi],n=process.env[pn],t=process.env.AWS_SESSION_TOKEN,a=process.env.AWS_CREDENTIAL_EXPIRATION,r=process.env.AWS_CREDENTIAL_SCOPE,o=process.env.AWS_ACCOUNT_ID;if(i&&n){let e={accessKeyId:i,secretAccessKey:n,...t&&{sessionToken:t},...a&&{expiration:new Date(a)},...r&&{credentialScope:r},...o&&{accountId:o}};return setCredentialFeature(e,"CREDENTIALS_ENV_VARS","g"),e}throw new tG("Unable to find environment variable credentials.",{logger:e?.logger})},pt="AWS_EC2_METADATA_DISABLED",remoteProvider=async e=>{let{ENV_CMDS_FULL_URI:i,ENV_CMDS_RELATIVE_URI:n,fromContainerMetadata:t,fromInstanceMetadata:a}=await import("./1~398.mjs").then(e=>({ENV_CMDS_FULL_URI:e.ENV_CMDS_FULL_URI,ENV_CMDS_RELATIVE_URI:e.ENV_CMDS_RELATIVE_URI,fromContainerMetadata:e.fromContainerMetadata,fromInstanceMetadata:e.fromInstanceMetadata}));if(process.env[n]||process.env[i]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");let{fromHttp:i}=await import("./1~35.mjs").then(e=>({fromHttp:e.fromHttp}));return chain_chain(i(e),t(e))}return process.env[pt]&&"false"!==process.env[pt]?async()=>{throw new tG("EC2 Instance Metadata Service access disabled",{logger:e.logger})}:(e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"),a(e))};function memoizeChain(e,i){let n,t,a,r=internalCreateChain(e),provider=async e=>{if(e?.forceRefresh)return await r(e);if(a?.expiration&&a?.expiration?.getTime()<Date.now()&&(a=void 0),n)await n;else if(!a||i?.(a))if(!a)return n=r(e).then(e=>{a=e,n=void 0}),provider(e);else t||(t=r(e).then(e=>{a=e,t=void 0}));return a};return provider}let internalCreateChain=e=>async i=>{let n;for(let t of e)try{return await t(i)}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n},pa=!1,defaultProvider=(e={})=>memoizeChain([async()=>{if(e.profile??process.env[tq])throw process.env[pi]&&process.env[pn]&&!pa&&((e.logger?.warn&&e.logger?.constructor?.name!=="NoOpLogger"?e.logger.warn.bind(e.logger):console.warn)(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
60
60
  Multiple credential sources detected:
61
61
  Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
62
62
  This SDK will proceed with the AWS_PROFILE value.
@@ -64,22 +64,22 @@ More information can be found at: https://a.co/c895JFp`))},getArrayForCommaSepar
64
64
  However, a future version may change this behavior to prefer the ENV static credentials.
65
65
  Please ensure that your environment only sets either the AWS_PROFILE or the
66
66
  AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
67
- `),pn=!0),new tQ("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:!0});return e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),fromEnv_fromEnv(e)()},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:n,ssoAccountId:t,ssoRegion:a,ssoRoleName:r,ssoSession:o}=e;if(!n&&!t&&!a&&!r&&!o)throw new tQ("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger});let{fromSSO:u}=await import("./1~390.mjs").then(e=>({fromSSO:e.fromSSO}));return u(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:n}=await import("./1~113.mjs").then(e=>({fromIni:e.fromIni}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:n}=await import("./1~844.mjs").then(e=>({fromProcess:e.fromProcess}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:n}=await import("./1~622.mjs").then(e=>({fromTokenFile:e.fromTokenFile}));return n(e)(i)},async()=>(e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await remoteProvider(e))()),async()=>{throw new tQ("Could not load credentials from any providers",{tryNextLink:!1,logger:e.logger})}],credentialsTreatedAsExpired),credentialsTreatedAsExpired=e=>e?.expiration!==void 0&&e.expiration.getTime()-Date.now()<3e5,pt={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_USE_ARN_REGION",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_use_arn_region",eu.CONFIG),default:void 0};(ee=ec||(ec={})).ENV="env",ee.CONFIG="shared config entry";let stringUnionSelector=(e,i,n,t)=>{if(!(i in e))return;let a=e[i].toUpperCase();if(!Object.values(n).includes(a))throw TypeError(`Cannot load ${t} '${i}'. Expected one of ${Object.values(n)}, got '${e[i]}'.`);return a},pa={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_REQUEST_CHECKSUM_CALCULATION",n6,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"request_checksum_calculation",n6,ec.CONFIG),default:n5},pr={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",n7,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"response_checksum_validation",n7,ec.CONFIG),default:n9},createDefaultUserAgentProvider=({serviceId:e,clientVersion:i})=>async n=>{let t=[["aws-sdk-js",i],["ua","2.1"],[`os/${(0,n3.platform)()}`,(0,n3.release)()],["lang/js"],["md/nodejs",`${k.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,i]),J.AWS_EXECUTION_ENV&&t.push([`exec-env/${J.AWS_EXECUTION_ENV}`]);let r=await n?.userAgentAppId?.();return r?[...t,[`app/${r}`]]:[...t]},po={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:tx},pu={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},ps={preferredFile:"credentials"},pl={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_DUALSTACK_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_dualstack_endpoint",eu.CONFIG),default:!1},ph={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_FIPS_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_fips_endpoint",eu.CONFIG),default:!1};function __awaiter(e,i,n,t){function adopt(e){return e instanceof n?e:new n(function(i){i(e)})}return new(n||(n=Promise))(function(n,a){function fulfilled(e){try{step(t.next(e))}catch(e){a(e)}}function rejected(e){try{step(t.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,i||[])).next())})}function __generator(e,i){var n,t,a,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=verb(0),o.throw=verb(1),o.return=verb(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function verb(e){return function(i){return step([e,i])}}function step(u){if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(r=0)),r;)try{if(n=1,t&&(a=2&u[0]?t.return:u[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,u[1])).done)return a;switch(t=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,t=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(!(a=(a=r.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){r=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){r.label=u[1];break}if(6===u[0]&&r.label<a[1]){r.label=a[1],a=u;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(u);break}a[2]&&r.ops.pop(),r.trys.pop();continue}u=i.call(e,r)}catch(e){u=[6,e],t=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function __values(e){var i="function"==typeof Symbol&&Symbol.iterator,n=i&&e[i],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}var pg="u">typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:e=>{let i=((e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?ap.Buffer.from(e,i):ap.Buffer.from(e)})(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function convertToBuffer(e){return e instanceof Uint8Array?e:"string"==typeof e?pg(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function isEmptyData(e){return"string"==typeof e?0===e.length:0===e.byteLength}function numToUint8(e){return new Uint8Array([(0xff000000&e)>>24,(0xff0000&e)>>16,(65280&e)>>8,255&e])}function uint32ArrayFrom(e){if(!Uint32Array.from){for(var i=new Uint32Array(e.length),n=0;n<e.length;)i[n]=e[n],n+=1;return i}return Uint32Array.from(e)}var pc=function(){function AwsCrc32(){this.crc32=new pd}return AwsCrc32.prototype.update=function(e){isEmptyData(e)||this.crc32.update(convertToBuffer(e))},AwsCrc32.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32.digest())]})})},AwsCrc32.prototype.reset=function(){this.crc32=new pd},AwsCrc32}(),pd=function(){function Crc32(){this.checksum=0xffffffff}return Crc32.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^pp[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32}(),pp=uint32ArrayFrom([0,0x77073096,0xee0e612c,0x990951ba,0x76dc419,0x706af48f,0xe963a535,0x9e6495a3,0xedb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x9b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,0x76dc4190,0x1db7106,0x98d220bc,0xefd5102a,0x71b18589,0x6b6b51f,0x9fbfe4a5,0xe8b8d433,0x7807c9a2,0xf00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x86d3d2d,0x91646c97,0xe6635c01,0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,0xedb88320,0x9abfb3b6,0x3b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x4db2615,0x73dc1683,0xe3630b12,0x94643b84,0xd6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0xa00ae27,0x7d079eb1,0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,0x9b64c2b0,0xec63f226,0x756aa39c,0x26d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x5005713,0x95bf4a82,0xe2b87a14,0x7bb12bae,0xcb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0xbdbdf21,0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,0xaed16a4a,0xd9d65adc,0x40df0b66,936918e3,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d]);class pf{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&Int64_negate(i),new pf(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&Int64_negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function Int64_negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}class pm{toUtf8;fromUtf8;constructor(e,i){this.toUtf8=e,this.fromUtf8=i}format(e){let i=[];for(let n of Object.keys(e)){let t=this.fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=this.fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(pf.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!p_.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}parse(e){let i={},n=0;for(;n<e.byteLength;){let t=e.getUint8(n++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,t));switch(n+=t,e.getUint8(n++)){case 0:i[a]={type:py,value:!0};break;case 1:i[a]={type:py,value:!1};break;case 2:i[a]={type:pS,value:e.getInt8(n++)};break;case 3:i[a]={type:pb,value:e.getInt16(n,!1)},n+=2;break;case 4:i[a]={type:pC,value:e.getInt32(n,!1)},n+=4;break;case 5:i[a]={type:pw,value:new pf(new Uint8Array(e.buffer,e.byteOffset+n,8))},n+=8;break;case 6:let r=e.getUint16(n,!1);n+=2,i[a]={type:pT,value:new Uint8Array(e.buffer,e.byteOffset+n,r)},n+=r;break;case 7:let o=e.getUint16(n,!1);n+=2,i[a]={type:px,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,o))},n+=o;break;case 8:i[a]={type:pL,value:new Date(new pf(new Uint8Array(e.buffer,e.byteOffset+n,8)).valueOf())},n+=8;break;case 9:let u=new Uint8Array(e.buffer,e.byteOffset+n,16);n+=16,i[a]={type:pE,value:`${toHex(u.subarray(0,4))}-${toHex(u.subarray(4,6))}-${toHex(u.subarray(6,8))}-${toHex(u.subarray(8,10))}-${toHex(u.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return i}}(ei=ed||(ed={}))[ei.boolTrue=0]="boolTrue",ei[ei.boolFalse=1]="boolFalse",ei[ei.byte=2]="byte",ei[ei.short=3]="short",ei[ei.integer=4]="integer",ei[ei.long=5]="long",ei[ei.byteArray=6]="byteArray",ei[ei.string=7]="string",ei[ei.timestamp=8]="timestamp",ei[ei.uuid=9]="uuid";let py="boolean",pS="byte",pb="short",pC="integer",pw="long",pT="binary",px="string",pL="timestamp",pE="uuid",p_=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,pY=16;function splitMessage({byteLength:e,byteOffset:i,buffer:n}){if(e<pY)throw Error("Provided message too short to accommodate event stream message overhead");let t=new DataView(n,i,e),a=t.getUint32(0,!1);if(e!==a)throw Error("Reported message length does not match received message length");let r=t.getUint32(4,!1),o=t.getUint32(8,!1),u=t.getUint32(e-4,!1),s=new pd().update(new Uint8Array(n,i,8));if(o!==s.digest())throw Error(`The prelude checksum specified in the message (${o}) does not match the calculated CRC32 checksum (${s.digest()})`);if(s.update(new Uint8Array(n,i+8,e-12)),u!==s.digest())throw Error(`The message checksum (${s.digest()}) did not match the expected value of ${u}`);return{headers:new DataView(n,i+8+4,r),body:new Uint8Array(n,i+8+4+r,a-r-16)}}class pD{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,i){this.headerMarshaller=new pm(e,i),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),i=this.isEndOfStream;return{getMessage:()=>e,isEndOfStream:()=>i}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let i=this.isEndOfStream;return{getMessages:()=>e,isEndOfStream:()=>i}}encode({headers:e,body:i}){let n=this.headerMarshaller.format(e),t=n.byteLength+i.byteLength+16,a=new Uint8Array(t),r=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new pd;return r.setUint32(0,t,!1),r.setUint32(4,n.byteLength,!1),r.setUint32(8,o.update(a.subarray(0,8)).digest(),!1),a.set(n,12),a.set(i,n.byteLength+12),r.setUint32(t-4,o.update(a.subarray(8,t-4)).digest(),!1),a}decode(e){let{headers:i,body:n}=splitMessage(e);return{headers:this.headerMarshaller.parse(i),body:n}}formatHeaders(e){return this.headerMarshaller.format(e)}}class pv{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=await this.options.deserializer(e);void 0!==i&&(yield i)}}}class pA{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.decoder.decode(e);yield i}}}class pN{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=this.options.encoder.encode(e);yield i}this.options.includeEndFrame&&(yield new Uint8Array(0))}}class pP{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.serializer(e);yield i}}}function getChunkedStream(e){let i=0,n=0,t=null,a=null,allocateMessage=e=>{if("number"!=typeof e)throw Error("Attempted to allocate an event message where size was not a number: "+e);i=e,n=4,new DataView((t=new Uint8Array(e)).buffer).setUint32(0,e,!1)};return{[Symbol.asyncIterator]:async function*(){let r=e[Symbol.asyncIterator]();for(;;){let{value:e,done:o}=await r.next();if(o){if(i)if(i===n)yield t;else throw Error("Truncated event message received.");return}let u=e.length,s=0;for(;s<u;){if(!t){let i=u-s;a||(a=new Uint8Array(4));let t=Math.min(4-n,i);if(a.set(e.slice(s,s+t),n),n+=t,s+=t,n<4)break;allocateMessage(new DataView(a.buffer).getUint32(0,!1)),a=null}let r=Math.min(i-n,u-s);t.set(e.slice(s,s+r),n),n+=r,s+=r,i&&i===n&&(yield t,t=null,i=0,n=0)}}}}}function getMessageUnmarshaller(e,i){return async function(n){let{value:t}=n.headers[":message-type"];if("error"===t){let e=Error(n.headers[":error-message"].value||"UnknownError");throw e.name=n.headers[":error-code"].value,e}if("exception"===t){let t=n.headers[":exception-type"].value,a=await e({[t]:n});if(a.$unknown){let e=Error(i(n.body));throw e.name=t,e}throw a[t]}if("event"===t){let i={[n.headers[":event-type"].value]:n},t=await e(i);if(t.$unknown)return;return t}throw Error(`Unrecognizable event type: ${n.headers[":event-type"].value}`)}}class pZ{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:i}){this.eventStreamCodec=new pD(e,i),this.utfEncoder=e}deserialize(e,i){return new pv({messageStream:new pA({inputStream:getChunkedStream(e),decoder:this.eventStreamCodec}),deserializer:getMessageUnmarshaller(i,this.utfEncoder)})}serialize(e,i){return new pN({messageStream:new pP({inputStream:e,serializer:i}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}async function*readabletoIterable(e){let i=!1,n=!1,t=[];for(e.on("error",e=>{if(i||(i=!0),e)throw e}),e.on("data",e=>{t.push(e)}),e.on("end",()=>{i=!0});!n;){let e=await new Promise(e=>setTimeout(()=>e(t.shift()),0));e&&(yield e),n=i&&0===t.length}}class pR{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:i}){this.universalMarshaller=new pZ({utf8Decoder:i,utf8Encoder:e})}deserialize(e,i){let n="function"==typeof e[Symbol.asyncIterator]?e:readabletoIterable(e);return this.universalMarshaller.deserialize(n,i)}serialize(e,i){return au.Readable.from(this.universalMarshaller.serialize(e,i))}}let eventStreamSerdeProvider=e=>new pR(e);class pM{algorithmIdentifier;secret;hash;constructor(e,i){this.algorithmIdentifier=e,this.secret=i,this.reset()}update(e,i){this.hash.update(toUint8Array(castSourceData(e,i)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?(0,aa.createHmac)(this.algorithmIdentifier,castSourceData(this.secret)):(0,aa.createHash)(this.algorithmIdentifier)}}function castSourceData(e,i){return ap.Buffer.isBuffer(e)?e:"string"==typeof e?fromString(e,i):ArrayBuffer.isView(e)?dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength):dist_es_fromArrayBuffer(e)}class pJ extends au.Writable{hash;constructor(e,i){super(i),this.hash=e}_write(e,i,n){try{this.hash.update(toUint8Array(e))}catch(e){return n(e)}n()}}let readableStreamHasher=(e,i)=>{if(null!==i.readableFlowing)throw Error("Unable to calculate hash for flowing readable stream");let n=new e,t=new pJ(n);return i.pipe(t),new Promise((e,a)=>{i.on("error",e=>{t.end(),a(e)}),t.on("error",a),t.on("finish",()=>{n.digest().then(e).catch(a)})})};function buildQueryString(e){let i=[];for(let n of Object.keys(e).sort()){let t=e[n];if(n=escapeUri(n),Array.isArray(t))for(let e=0,a=t.length;e<a;e++)i.push(`${n}=${escapeUri(t[e])}`);else{let e=n;(t||"string"==typeof t)&&(e+=`=${escapeUri(t)}`),i.push(e)}}return i.join("&")}let pk=["ECONNRESET","EPIPE","ETIMEDOUT"],pB=e=>clearTimeout(e),pH=3e3;async function writeRequestBody(e,i,n=6e3,t=!1){let a=i.headers??{},r=a.Expect||a.expect,o=-1,u=!0;t||"100-continue"!==r||(u=await Promise.race([new Promise(e=>{o=Number(setTimeout(()=>e(!0),Math.max(6e3,n)))}),new Promise(i=>{e.on("continue",()=>{pB(o),i(!0)}),e.on("response",()=>{pB(o),i(!1)}),e.on("error",()=>{pB(o),i(!1)})})])),u&&writeBody(e,i.body)}function writeBody(e,i){i instanceof au.Readable?i.pipe(e):i?Buffer.isBuffer(i)||"string"==typeof i?e.end(i):"object"==typeof i&&i.buffer&&"number"==typeof i.byteOffset&&"number"==typeof i.byteLength?e.end(Buffer.from(i.buffer,i.byteOffset,i.byteLength)):e.end(Buffer.from(i)):e.end()}class pF{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new pF(e)}static checkSocketUsage(e,i,n=console){let{sockets:t,requests:a,maxSockets:r}=e;if("number"!=typeof r||r===1/0||Date.now()-15e3<i)return i;if(t&&a)for(let e in t){let i=t[e]?.length??0,o=a[e]?.length??0;if(i>=r&&o>=2*r)return n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${i} and ${o} additional requests are enqueued.
67
+ `),pa=!0),new tG("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:!0});return e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),fromEnv_fromEnv(e)()},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:n,ssoAccountId:t,ssoRegion:a,ssoRoleName:r,ssoSession:o}=e;if(!n&&!t&&!a&&!r&&!o)throw new tG("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger});let{fromSSO:u}=await import("./1~390.mjs").then(e=>({fromSSO:e.fromSSO}));return u(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:n}=await import("./1~113.mjs").then(e=>({fromIni:e.fromIni}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:n}=await import("./1~844.mjs").then(e=>({fromProcess:e.fromProcess}));return n(e)(i)},async i=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:n}=await import("./1~622.mjs").then(e=>({fromTokenFile:e.fromTokenFile}));return n(e)(i)},async()=>(e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await remoteProvider(e))()),async()=>{throw new tG("Could not load credentials from any providers",{tryNextLink:!1,logger:e.logger})}],credentialsTreatedAsExpired),credentialsTreatedAsExpired=e=>e?.expiration!==void 0&&e.expiration.getTime()-Date.now()<3e5,pr={environmentVariableSelector:e=>booleanSelector(e,"AWS_S3_USE_ARN_REGION",eu.ENV),configFileSelector:e=>booleanSelector(e,"s3_use_arn_region",eu.CONFIG),default:void 0};(ee=ec||(ec={})).ENV="env",ee.CONFIG="shared config entry";let stringUnionSelector=(e,i,n,t)=>{if(!(i in e))return;let a=e[i].toUpperCase();if(!Object.values(n).includes(a))throw TypeError(`Cannot load ${t} '${i}'. Expected one of ${Object.values(n)}, got '${e[i]}'.`);return a},po={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_REQUEST_CHECKSUM_CALCULATION",n7,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"request_checksum_calculation",n7,ec.CONFIG),default:n9},pu={environmentVariableSelector:e=>stringUnionSelector(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",te,ec.ENV),configFileSelector:e=>stringUnionSelector(e,"response_checksum_validation",te,ec.CONFIG),default:ti},createDefaultUserAgentProvider=({serviceId:e,clientVersion:i})=>async n=>{let t=[["aws-sdk-js",i],["ua","2.1"],[`os/${(0,n4.platform)()}`,(0,n4.release)()],["lang/js"],["md/nodejs",`${k.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,i]),J.AWS_EXECUTION_ENV&&t.push([`exec-env/${J.AWS_EXECUTION_ENV}`]);let r=await n?.userAgentAppId?.();return r?[...t,[`app/${r}`]]:[...t]},ps={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:tE},pl={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},ph={preferredFile:"credentials"},pg={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_DUALSTACK_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_dualstack_endpoint",eu.CONFIG),default:!1},pc={environmentVariableSelector:e=>booleanSelector(e,"AWS_USE_FIPS_ENDPOINT",eu.ENV),configFileSelector:e=>booleanSelector(e,"use_fips_endpoint",eu.CONFIG),default:!1};function __awaiter(e,i,n,t){function adopt(e){return e instanceof n?e:new n(function(i){i(e)})}return new(n||(n=Promise))(function(n,a){function fulfilled(e){try{step(t.next(e))}catch(e){a(e)}}function rejected(e){try{step(t.throw(e))}catch(e){a(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,i||[])).next())})}function __generator(e,i){var n,t,a,r={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=verb(0),o.throw=verb(1),o.return=verb(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function verb(e){return function(i){return step([e,i])}}function step(u){if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(r=0)),r;)try{if(n=1,t&&(a=2&u[0]?t.return:u[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,u[1])).done)return a;switch(t=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,t=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(!(a=(a=r.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){r=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){r.label=u[1];break}if(6===u[0]&&r.label<a[1]){r.label=a[1],a=u;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(u);break}a[2]&&r.ops.pop(),r.trys.pop();continue}u=i.call(e,r)}catch(e){u=[6,e],t=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function __values(e){var i="function"==typeof Symbol&&Symbol.iterator,n=i&&e[i],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}var pd="u">typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:e=>{let i=((e,i)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return i?am.Buffer.from(e,i):am.Buffer.from(e)})(e,"utf8");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function convertToBuffer(e){return e instanceof Uint8Array?e:"string"==typeof e?pd(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function isEmptyData(e){return"string"==typeof e?0===e.length:0===e.byteLength}function numToUint8(e){return new Uint8Array([(0xff000000&e)>>24,(0xff0000&e)>>16,(65280&e)>>8,255&e])}function uint32ArrayFrom(e){if(!Uint32Array.from){for(var i=new Uint32Array(e.length),n=0;n<e.length;)i[n]=e[n],n+=1;return i}return Uint32Array.from(e)}var pp=function(){function AwsCrc32(){this.crc32=new pf}return AwsCrc32.prototype.update=function(e){isEmptyData(e)||this.crc32.update(convertToBuffer(e))},AwsCrc32.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32.digest())]})})},AwsCrc32.prototype.reset=function(){this.crc32=new pf},AwsCrc32}(),pf=function(){function Crc32(){this.checksum=0xffffffff}return Crc32.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^pm[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32}(),pm=uint32ArrayFrom([0,0x77073096,0xee0e612c,0x990951ba,0x76dc419,0x706af48f,0xe963a535,0x9e6495a3,0xedb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x9b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,0x76dc4190,0x1db7106,0x98d220bc,0xefd5102a,0x71b18589,0x6b6b51f,0x9fbfe4a5,0xe8b8d433,0x7807c9a2,0xf00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x86d3d2d,0x91646c97,0xe6635c01,0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,0xedb88320,0x9abfb3b6,0x3b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x4db2615,0x73dc1683,0xe3630b12,0x94643b84,0xd6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0xa00ae27,0x7d079eb1,0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,0x9b64c2b0,0xec63f226,0x756aa39c,0x26d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x5005713,0x95bf4a82,0xe2b87a14,0x7bb12bae,0xcb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0xbdbdf21,0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,0xaed16a4a,0xd9d65adc,0x40df0b66,936918e3,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d]);class py{bytes;constructor(e){if(this.bytes=e,8!==e.byteLength)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let i=new Uint8Array(8);for(let n=7,t=Math.abs(Math.round(e));n>-1&&t>0;n--,t/=256)i[n]=t;return e<0&&Int64_negate(i),new py(i)}valueOf(){let e=this.bytes.slice(0),i=128&e[0];return i&&Int64_negate(e),parseInt(toHex(e),16)*(i?-1:1)}toString(){return String(this.valueOf())}}function Int64_negate(e){for(let i=0;i<8;i++)e[i]^=255;for(let i=7;i>-1&&(e[i]++,0===e[i]);i--);}class pS{toUtf8;fromUtf8;constructor(e,i){this.toUtf8=e,this.fromUtf8=i}format(e){let i=[];for(let n of Object.keys(e)){let t=this.fromUtf8(n);i.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[n]))}let n=new Uint8Array(i.reduce((e,i)=>e+i.byteLength,0)),t=0;for(let e of i)n.set(e,t),t+=e.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let i=new DataView(new ArrayBuffer(3));return i.setUint8(0,3),i.setInt16(1,e.value,!1),new Uint8Array(i.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let t=new Uint8Array(9);return t[0]=5,t.set(e.value.bytes,1),t;case"binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6),a.setUint16(1,e.value.byteLength,!1);let r=new Uint8Array(a.buffer);return r.set(e.value,3),r;case"string":let o=this.fromUtf8(e.value),u=new DataView(new ArrayBuffer(3+o.byteLength));u.setUint8(0,7),u.setUint16(1,o.byteLength,!1);let s=new Uint8Array(u.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(py.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!pD.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(fromHex(e.value.replace(/\-/g,"")),1),h}}parse(e){let i={},n=0;for(;n<e.byteLength;){let t=e.getUint8(n++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,t));switch(n+=t,e.getUint8(n++)){case 0:i[a]={type:pb,value:!0};break;case 1:i[a]={type:pb,value:!1};break;case 2:i[a]={type:pC,value:e.getInt8(n++)};break;case 3:i[a]={type:pw,value:e.getInt16(n,!1)},n+=2;break;case 4:i[a]={type:pT,value:e.getInt32(n,!1)},n+=4;break;case 5:i[a]={type:px,value:new py(new Uint8Array(e.buffer,e.byteOffset+n,8))},n+=8;break;case 6:let r=e.getUint16(n,!1);n+=2,i[a]={type:pL,value:new Uint8Array(e.buffer,e.byteOffset+n,r)},n+=r;break;case 7:let o=e.getUint16(n,!1);n+=2,i[a]={type:pE,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,o))},n+=o;break;case 8:i[a]={type:p_,value:new Date(new py(new Uint8Array(e.buffer,e.byteOffset+n,8)).valueOf())},n+=8;break;case 9:let u=new Uint8Array(e.buffer,e.byteOffset+n,16);n+=16,i[a]={type:pY,value:`${toHex(u.subarray(0,4))}-${toHex(u.subarray(4,6))}-${toHex(u.subarray(6,8))}-${toHex(u.subarray(8,10))}-${toHex(u.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return i}}(ei=ed||(ed={}))[ei.boolTrue=0]="boolTrue",ei[ei.boolFalse=1]="boolFalse",ei[ei.byte=2]="byte",ei[ei.short=3]="short",ei[ei.integer=4]="integer",ei[ei.long=5]="long",ei[ei.byteArray=6]="byteArray",ei[ei.string=7]="string",ei[ei.timestamp=8]="timestamp",ei[ei.uuid=9]="uuid";let pb="boolean",pC="byte",pw="short",pT="integer",px="long",pL="binary",pE="string",p_="timestamp",pY="uuid",pD=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,pv=16;function splitMessage({byteLength:e,byteOffset:i,buffer:n}){if(e<pv)throw Error("Provided message too short to accommodate event stream message overhead");let t=new DataView(n,i,e),a=t.getUint32(0,!1);if(e!==a)throw Error("Reported message length does not match received message length");let r=t.getUint32(4,!1),o=t.getUint32(8,!1),u=t.getUint32(e-4,!1),s=new pf().update(new Uint8Array(n,i,8));if(o!==s.digest())throw Error(`The prelude checksum specified in the message (${o}) does not match the calculated CRC32 checksum (${s.digest()})`);if(s.update(new Uint8Array(n,i+8,e-12)),u!==s.digest())throw Error(`The message checksum (${s.digest()}) did not match the expected value of ${u}`);return{headers:new DataView(n,i+8+4,r),body:new Uint8Array(n,i+8+4+r,a-r-16)}}class pA{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,i){this.headerMarshaller=new pS(e,i),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),i=this.isEndOfStream;return{getMessage:()=>e,isEndOfStream:()=>i}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let i=this.isEndOfStream;return{getMessages:()=>e,isEndOfStream:()=>i}}encode({headers:e,body:i}){let n=this.headerMarshaller.format(e),t=n.byteLength+i.byteLength+16,a=new Uint8Array(t),r=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new pf;return r.setUint32(0,t,!1),r.setUint32(4,n.byteLength,!1),r.setUint32(8,o.update(a.subarray(0,8)).digest(),!1),a.set(n,12),a.set(i,n.byteLength+12),r.setUint32(t-4,o.update(a.subarray(8,t-4)).digest(),!1),a}decode(e){let{headers:i,body:n}=splitMessage(e);return{headers:this.headerMarshaller.parse(i),body:n}}formatHeaders(e){return this.headerMarshaller.format(e)}}class pN{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=await this.options.deserializer(e);void 0!==i&&(yield i)}}}class pP{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.decoder.decode(e);yield i}}}class pZ{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let i=this.options.encoder.encode(e);yield i}this.options.includeEndFrame&&(yield new Uint8Array(0))}}class pR{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let i=this.options.serializer(e);yield i}}}function getChunkedStream(e){let i=0,n=0,t=null,a=null,allocateMessage=e=>{if("number"!=typeof e)throw Error("Attempted to allocate an event message where size was not a number: "+e);i=e,n=4,new DataView((t=new Uint8Array(e)).buffer).setUint32(0,e,!1)};return{[Symbol.asyncIterator]:async function*(){let r=e[Symbol.asyncIterator]();for(;;){let{value:e,done:o}=await r.next();if(o){if(i)if(i===n)yield t;else throw Error("Truncated event message received.");return}let u=e.length,s=0;for(;s<u;){if(!t){let i=u-s;a||(a=new Uint8Array(4));let t=Math.min(4-n,i);if(a.set(e.slice(s,s+t),n),n+=t,s+=t,n<4)break;allocateMessage(new DataView(a.buffer).getUint32(0,!1)),a=null}let r=Math.min(i-n,u-s);t.set(e.slice(s,s+r),n),n+=r,s+=r,i&&i===n&&(yield t,t=null,i=0,n=0)}}}}}function getMessageUnmarshaller(e,i){return async function(n){let{value:t}=n.headers[":message-type"];if("error"===t){let e=Error(n.headers[":error-message"].value||"UnknownError");throw e.name=n.headers[":error-code"].value,e}if("exception"===t){let t=n.headers[":exception-type"].value,a=await e({[t]:n});if(a.$unknown){let e=Error(i(n.body));throw e.name=t,e}throw a[t]}if("event"===t){let i={[n.headers[":event-type"].value]:n},t=await e(i);if(t.$unknown)return;return t}throw Error(`Unrecognizable event type: ${n.headers[":event-type"].value}`)}}class pM{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:i}){this.eventStreamCodec=new pA(e,i),this.utfEncoder=e}deserialize(e,i){return new pN({messageStream:new pP({inputStream:getChunkedStream(e),decoder:this.eventStreamCodec}),deserializer:getMessageUnmarshaller(i,this.utfEncoder)})}serialize(e,i){return new pZ({messageStream:new pR({inputStream:e,serializer:i}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}async function*readabletoIterable(e){let i=!1,n=!1,t=[];for(e.on("error",e=>{if(i||(i=!0),e)throw e}),e.on("data",e=>{t.push(e)}),e.on("end",()=>{i=!0});!n;){let e=await new Promise(e=>setTimeout(()=>e(t.shift()),0));e&&(yield e),n=i&&0===t.length}}class pJ{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:i}){this.universalMarshaller=new pM({utf8Decoder:i,utf8Encoder:e})}deserialize(e,i){let n="function"==typeof e[Symbol.asyncIterator]?e:readabletoIterable(e);return this.universalMarshaller.deserialize(n,i)}serialize(e,i){return al.Readable.from(this.universalMarshaller.serialize(e,i))}}let eventStreamSerdeProvider=e=>new pJ(e);class pk{algorithmIdentifier;secret;hash;constructor(e,i){this.algorithmIdentifier=e,this.secret=i,this.reset()}update(e,i){this.hash.update(toUint8Array(castSourceData(e,i)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?(0,ao.createHmac)(this.algorithmIdentifier,castSourceData(this.secret)):(0,ao.createHash)(this.algorithmIdentifier)}}function castSourceData(e,i){return am.Buffer.isBuffer(e)?e:"string"==typeof e?fromString(e,i):ArrayBuffer.isView(e)?dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength):dist_es_fromArrayBuffer(e)}class pB extends al.Writable{hash;constructor(e,i){super(i),this.hash=e}_write(e,i,n){try{this.hash.update(toUint8Array(e))}catch(e){return n(e)}n()}}let readableStreamHasher=(e,i)=>{if(null!==i.readableFlowing)throw Error("Unable to calculate hash for flowing readable stream");let n=new e,t=new pB(n);return i.pipe(t),new Promise((e,a)=>{i.on("error",e=>{t.end(),a(e)}),t.on("error",a),t.on("finish",()=>{n.digest().then(e).catch(a)})})};function buildQueryString(e){let i=[];for(let n of Object.keys(e).sort()){let t=e[n];if(n=escapeUri(n),Array.isArray(t))for(let e=0,a=t.length;e<a;e++)i.push(`${n}=${escapeUri(t[e])}`);else{let e=n;(t||"string"==typeof t)&&(e+=`=${escapeUri(t)}`),i.push(e)}}return i.join("&")}let pH=["ECONNRESET","EPIPE","ETIMEDOUT"],pF=e=>clearTimeout(e),pX=3e3;async function writeRequestBody(e,i,n=6e3,t=!1){let a=i.headers??{},r=a.Expect||a.expect,o=-1,u=!0;t||"100-continue"!==r||(u=await Promise.race([new Promise(e=>{o=Number(setTimeout(()=>e(!0),Math.max(6e3,n)))}),new Promise(i=>{e.on("continue",()=>{pF(o),i(!0)}),e.on("response",()=>{pF(o),i(!1)}),e.on("error",()=>{pF(o),i(!1)})})])),u&&writeBody(e,i.body)}function writeBody(e,i){i instanceof al.Readable?i.pipe(e):i?Buffer.isBuffer(i)||"string"==typeof i?e.end(i):"object"==typeof i&&i.buffer&&"number"==typeof i.byteOffset&&"number"==typeof i.byteLength?e.end(Buffer.from(i.buffer,i.byteOffset,i.byteLength)):e.end(Buffer.from(i)):e.end()}class pI{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new pI(e)}static checkSocketUsage(e,i,n=console){let{sockets:t,requests:a,maxSockets:r}=e;if("number"!=typeof r||r===1/0||Date.now()-15e3<i)return i;if(t&&a)for(let e in t){let i=t[e]?.length??0,o=a[e]?.length??0;if(i>=r&&o>=2*r)return n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${i} and ${o} additional requests are enqueued.
68
68
  See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
69
- or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return i}constructor(e){this.configProvider=new Promise((i,n)=>{"function"==typeof e?e().then(e=>{i(this.resolveDefaultConfig(e))}).catch(n):i(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){let{requestTimeout:i,connectionTimeout:n,socketTimeout:t,socketAcquisitionWarningTimeout:a,httpAgent:r,httpsAgent:o,throwOnRequestTimeout:u}=e||{};return{connectionTimeout:n,requestTimeout:i,socketTimeout:t,socketAcquisitionWarningTimeout:a,throwOnRequestTimeout:u,httpAgent:r instanceof B||"function"==typeof r?.destroy?(this.externalAgent=!0,r):new B({keepAlive:!0,maxSockets:50,...r}),httpsAgent:o instanceof F||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new F({keepAlive:!0,maxSockets:50,...o}),logger:console}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:i,requestTimeout:n}={}){return this.config||(this.config=await this.configProvider),new Promise((t,a)=>{let r,o,u=this.config,s=[],resolve=async e=>{await r,s.forEach(pB),t(e)},reject=async e=>{await r,s.forEach(pB),a(e)};if(i?.aborted){let e=Error("Request aborted");e.name="AbortError",reject(e);return}let l="https:"===e.protocol,h=e.headers??{},g=(h.Expect??h.expect)==="100-continue",c=l?u.httpsAgent:u.httpAgent;g&&!this.externalAgent&&(c=new(l?F:B)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=pF.checkSocketUsage(c,this.socketWarningTimestamp,u.logger)},u.socketAcquisitionWarningTimeout??(u.requestTimeout??2e3)+(u.connectionTimeout??1e3)));let d=buildQueryString(e.query||{});if(null!=e.username||null!=e.password){let i=e.username??"",n=e.password??"";o=`${i}:${n}`}let p=e.path;d&&(p+=`?${d}`),e.fragment&&(p+=`#${e.fragment}`);let f=e.hostname??"";f="["===f[0]&&f.endsWith("]")?e.hostname.slice(1,-1):e.hostname;let m={headers:e.headers,host:f,method:e.method,path:p,port:e.port,agent:c,auth:o},y=(l?X:H)(m,e=>{resolve({response:new tB({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:(e=>{let i={};for(let n of Object.keys(e)){let t=e[n];i[n]=Array.isArray(t)?t.join(","):t}return i})(e.headers),body:e})})});if(y.on("error",e=>{pk.includes(e.code)?reject(Object.assign(e,{name:"TimeoutError"})):reject(e)}),i){let onAbort=()=>{y.destroy();let e=Error("Request aborted");e.name="AbortError",reject(e)};"function"==typeof i.addEventListener?(i.addEventListener("abort",onAbort,{once:!0}),y.once("close",()=>i.removeEventListener("abort",onAbort))):i.onabort=onAbort}let S=n??u.requestTimeout;s.push(((e,i,n=0)=>{if(!n)return -1;let registerTimeout=t=>{let a=setTimeout(()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${n} ms.`),{name:"TimeoutError"}))},n-t),doWithSocket=e=>{e?.connecting?e.on("connect",()=>{pB(a)}):pB(a)};e.socket?doWithSocket(e.socket):e.on("socket",doWithSocket)};return n<2e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,1e3),1e3)})(y,reject,u.connectionTimeout)),s.push(((e,i,n=0,t,a)=>n?setTimeout(()=>{let r=`@smithy/node-http-handler - [${t?"ERROR":"WARN"}] a request has exceeded the configured ${n} ms requestTimeout.`;if(t){let n=Object.assign(Error(r),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(n),i(n)}else r+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(r)},n):-1)(y,reject,S,u.throwOnRequestTimeout,u.logger??console)),s.push(((e,i,n=0)=>{let registerTimeout=t=>{let a=n-t,onTimeout=()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${n} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};e.socket?(e.socket.setTimeout(a,onTimeout),e.on("close",()=>e.socket?.removeListener("timeout",onTimeout))):e.setTimeout(a,onTimeout)};return 0<n&&n<6e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,3e3*(0!==n)),3e3)})(y,reject,u.socketTimeout));let b=m.agent;"object"==typeof b&&"keepAlive"in b&&s.push(((e,{keepAlive:i,keepAliveMsecs:n},t=pH)=>{if(!0!==i)return -1;let registerListener=()=>{e.socket?e.socket.setKeepAlive(i,n||0):e.on("socket",e=>{e.setKeepAlive(i,n||0)})};return 0===t?(registerListener(),0):setTimeout(registerListener,t)})(y,{keepAlive:b.keepAlive,keepAliveMsecs:b.keepAliveMsecs})),r=writeRequestBody(y,e,S,this.externalAgent).catch(e=>(s.forEach(pB),a(e)))})}updateHttpClientConfig(e,i){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:i}))}httpHandlerConfigs(){return this.config??{}}}class pX extends au.Writable{bufferedBytes=[];_write(e,i,n){this.bufferedBytes.push(e),n()}}let streamCollector=e=>isReadableStreamInstance(e)?collectReadableStream(e):new Promise((i,n)=>{let t=new pX;e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.bufferedBytes)))})}),isReadableStreamInstance=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;async function collectReadableStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}let pI=!1,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion=e=>{e&&!pI&&16>parseInt(e.substring(1,e.indexOf(".")))&&(pI=!0)},loadConfigsForDefaultMode=e=>{switch(e){case"standard":case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},pO=E("node:fs"),calculateBodyLength=e=>{if(!e)return 0;if("string"==typeof e)return Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(e instanceof pO.ReadStream){if(null!=e.path)return(0,pO.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,pO.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},pQ="AWS_REGION",pU="AWS_DEFAULT_REGION",pG=["in-region","cross-region","mobile","standard","legacy"],pq={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},resolveDefaultsModeConfig=({region:e=loadConfig(pu),defaultsMode:i=loadConfig(pq)}={})=>memoize(async()=>{let n="function"==typeof i?await i():i;switch(n?.toLowerCase()){case"auto":return resolveNodeDefaultsModeAuto(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(n?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw Error(`Invalid parameter for "defaultsMode", expect ${pG.join(", ")}, got ${n}`)}}),resolveNodeDefaultsModeAuto=async e=>{if(e){let i="function"==typeof e?await e():e,n=await inferPhysicalRegion();return n?i===n?"in-region":"cross-region":"standard"}return"standard"},inferPhysicalRegion=async()=>{if(process.env.AWS_EXECUTION_ENV&&(process.env[pQ]||process.env[pU]))return process.env[pQ]??process.env[pU];if(!process.env.AWS_EC2_METADATA_DISABLED)try{let{getInstanceMetadataEndpoint:e,httpRequest:i}=await import("./1~398.mjs").then(e=>({getInstanceMetadataEndpoint:e.getInstanceMetadataEndpoint,httpRequest:e.httpRequest})),n=await e();return(await i({...n,path:"/latest/meta-data/placement/region"})).toString()}catch(e){}},getSkewCorrectedDate=e=>new Date(Date.now()+e),getDateHeader=e=>tB.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,getUpdatedSystemClockOffset=(e,i)=>{let n=Date.parse(e);return Math.abs(getSkewCorrectedDate(i).getTime()-n)>=3e5?n-Date.now():i},throwSigningPropertyError=(e,i)=>{if(!i)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return i},validateSigningProperties=async e=>{let i=throwSigningPropertyError("context",e.context),n=throwSigningPropertyError("config",e.config),t=i.endpointV2?.properties?.authSchemes?.[0],a=throwSigningPropertyError("signer",n.signer),r=await a(t),o=e?.signingRegion;return{config:n,signer:r,signingRegion:o,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class p${async sign(e,i,n){if(!n4.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let t=await validateSigningProperties(n),{config:a,signer:r}=t,{signingRegion:o,signingName:u}=t,s=n.context;if(s?.authSchemes?.length){let[e,i]=s.authSchemes;e?.name==="sigv4a"&&i?.name==="sigv4"&&(o=i?.signingRegion??o,u=i?.signingName??u)}return await r.sign(e,{signingDate:getSkewCorrectedDate(a.systemClockOffset),signingRegion:o,signingService:u})}errorHandler(e){return i=>{let n=i.ServerTime??getDateHeader(i.$response);if(n){let t=throwSigningPropertyError("config",e.config),a=t.systemClockOffset;t.systemClockOffset=getUpdatedSystemClockOffset(n,t.systemClockOffset),t.systemClockOffset!==a&&i.$metadata&&(i.$metadata.clockSkewCorrected=!0)}throw i}}successHandler(e,i){let n=getDateHeader(e);if(n){let e=throwSigningPropertyError("config",i.config);e.systemClockOffset=getUpdatedSystemClockOffset(n,e.systemClockOffset)}}}class pK extends p${async sign(e,i,n){if(!n4.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:t,signer:a,signingRegion:r,signingRegionSet:o,signingName:u}=await validateSigningProperties(n),s=(await t.sigv4aSigningRegionSet?.()??o??[r]).join(",");return await a.sign(e,{signingDate:getSkewCorrectedDate(t.systemClockOffset),signingRegion:s,signingService:u})}}function splitEvery(e,i,n){if(n<=0||!Number.isInteger(n))throw Error("Invalid number of delimiters ("+n+") for splitEvery.");let t=e.split(i);if(1===n)return t;let a=[],r="";for(let e=0;e<t.length;e++)""===r?r=t[e]:r+=i+t[e],(e+1)%n==0&&(a.push(r),r="");return""!==r&&a.push(r),a}let splitHeader=e=>{let i,n=e.length,t=[],a=!1,r=0;for(let o=0;o<n;++o){let n=e[o];switch(n){case'"':"\\"!==i&&(a=!a);break;case",":a||(t.push(e.slice(r,o)),r=o+1)}i=n}return t.push(e.slice(r)),t.map(e=>{let i=(e=e.trim()).length;return i<2?e:('"'===e[0]&&'"'===e[i-1]&&(e=e.slice(1,i-1)),e.replace(/\\"/g,'"'))})},pz=/^[A-Za-z0-9+/]*={0,2}$/,fromBase64=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!pz.exec(e))throw TypeError("Invalid base64 string.");let i=fromString(e,"base64");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)},stream_collector_streamCollector=async e=>"function"==typeof Blob&&e instanceof Blob||e.constructor?.name==="Blob"?void 0!==Blob.prototype.arrayBuffer?new Uint8Array(await e.arrayBuffer()):collectBlob(e):collectStream(e);async function collectBlob(e){return new Uint8Array(fromBase64(await readToBase64(e)))}async function collectStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}function readToBase64(e){return new Promise((i,n)=>{let t=new FileReader;t.onloadend=()=>{if(2!==t.readyState)return n(Error("Reader aborted too early"));let e=t.result??"",a=e.indexOf(","),r=a>-1?a+1:e.length;i(e.substring(r))},t.onabort=()=>n(Error("Read aborted")),t.onerror=()=>n(t.error),t.readAsDataURL(e)})}let toBase64=e=>{let i;if("object"!=typeof(i="string"==typeof e?fromUtf8_fromUtf8(e):e)||"number"!=typeof i.byteOffset||"number"!=typeof i.byteLength)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString("base64")},dist_es_toUtf8_toUtf8=e=>{if("string"==typeof e)return e;if("object"!=typeof e||"number"!=typeof e.byteOffset||"number"!=typeof e.byteLength)throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")},pW="The stream has already been transformed.",isBlobInstance=e=>"function"==typeof Blob&&e instanceof Blob,pj="The stream has already been transformed.",sdk_stream_mixin_sdkStreamMixin=e=>{if(!(e instanceof au.Readable))try{if(!isBlobInstance(e)&&!isReadableStream(e)){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(pW);return i=!0,await stream_collector_streamCollector(e)};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();if("base64"===e)return toBase64(i);if("hex"===e)return toHex(i);if(void 0===e||"utf8"===e||"utf-8"===e)return dist_es_toUtf8_toUtf8(i);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(i);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(i)throw Error(pW);if(i=!0,isBlobInstance(e)){if("function"!=typeof e.stream)throw Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body");return e.stream()}if(isReadableStream(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})}catch(n){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(pj);return i=!0,await streamCollector(e)};return Object.assign(e,{transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();return void 0===e||Buffer.isEncoding(e)?dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString(e):new TextDecoder(e).decode(i)},transformToWebStream:()=>{if(i)throw Error(pj);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof au.Readable.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return i=!0,au.Readable.toWeb(e)}})};class pV extends Uint8Array{static fromString(e,i="utf-8"){if("string"==typeof e)return"base64"===i?pV.mutate(fromBase64(e)):pV.mutate(fromUtf8_fromUtf8(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,pV.prototype),e}transformToString(e="utf-8"){return"base64"===e?toBase64(this):dist_es_toUtf8_toUtf8(this)}}let collect_stream_body_collectBody=async(e=new Uint8Array,i)=>{if(e instanceof Uint8Array)return pV.mutate(e);if(!e)return pV.mutate(new Uint8Array);let n=i.streamCollector(e);return pV.mutate(await n)};function extendedEncodeURIComponent(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class p0{serdeContext;setSerdeContext(e){this.serdeContext=e}}class p1 extends p0{options;constructor(e){super(),this.options=e}getRequestType(){return n4}getResponseType(){return tB}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,i){if(!("url"in i))return e.protocol=i.protocol,e.hostname=i.hostname,e.port=i.port?Number(i.port):void 0,e.path=i.path,e.query={...i.query},e;for(let[n,t]of(e.protocol=i.url.protocol,e.hostname=i.url.hostname,e.port=i.url.port?Number(i.url.port):void 0,e.path=i.url.pathname,e.fragment=i.url.hash||void 0,e.username=i.url.username||void 0,e.password=i.url.password||void 0,e.query||(e.query={}),i.url.searchParams.entries()))e.query[n]=t;return e}setHostPrefix(e,i,n){let t=uX.of(i.input),a=translateTraits(i.traits??{});if(a.endpoint){let i=a.endpoint?.[0];if("string"==typeof i){for(let[e]of[...t.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel)){let t=n[e];if("string"!=typeof t)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);i=i.replace(`{${e}}`,t)}e.hostname=i+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e}=await import("./1~815.mjs").then(e=>({EventStreamSerde:e.EventStreamSerde}));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,i,n,t,a){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class p3 extends p1{async serializeRequest(e,i,n){let t,a={...i??{}},r=this.serializer,o={},u={},s=await n.endpoint(),l=uX.of(e?.input),h=l.getSchema(),g=!1,c=new n4({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:o,headers:u,body:void 0});if(s){this.updateServiceEndpoint(c,s),this.setHostPrefix(c,e,a);let i=translateTraits(e.traits);if(i.http){c.method=i.http[0];let[e,n]=i.http[1].split("?");"/"==c.path?c.path=e:c.path+=e,Object.assign(o,Object.fromEntries(new URLSearchParams(n??"")))}}for(let[e,i]of l.structIterator()){let n=i.getMergedTraits()??{},s=a[e];if(null!=s||i.isIdempotencyToken())if(n.httpPayload)i.isStreaming()?i.isStructSchema()?a[e]&&(t=await this.serializeEventStream({eventStream:a[e],requestSchema:l})):t=s:(r.write(i,s),t=r.flush()),delete a[e];else if(n.httpLabel){r.write(i,s);let n=r.flush();c.path.includes(`{${e}+}`)?c.path=c.path.replace(`{${e}+}`,n.split("/").map(extendedEncodeURIComponent).join("/")):c.path.includes(`{${e}}`)&&(c.path=c.path.replace(`{${e}}`,extendedEncodeURIComponent(n))),delete a[e]}else if(n.httpHeader)r.write(i,s),u[n.httpHeader.toLowerCase()]=String(r.flush()),delete a[e];else if("string"==typeof n.httpPrefixHeaders){for(let[e,t]of Object.entries(s)){let a=n.httpPrefixHeaders+e;r.write([i.getValueSchema(),{httpHeader:a}],t),u[a.toLowerCase()]=r.flush()}delete a[e]}else n.httpQuery||n.httpQueryParams?(this.serializeQuery(i,s,o),delete a[e]):g=!0}return g&&a&&(r.write(h,a),t=r.flush()),c.headers=u,c.query=o,c.body=t,c}serializeQuery(e,i,n){let t=this.serializer,a=e.getMergedTraits();if(a.httpQueryParams){for(let[t,r]of Object.entries(i))if(!(t in n)){let i=e.getValueSchema();Object.assign(i.getMergedTraits(),{...a,httpQuery:t,httpQueryParams:void 0}),this.serializeQuery(i,r,n)}return}if(e.isListSchema()){let r=!!e.getMergedTraits().sparse,o=[];for(let n of i){t.write([e.getValueSchema(),a],n);let i=t.flush();(r||void 0!==i)&&o.push(i)}n[a.httpQuery]=o}else t.write([e,a],i),n[a.httpQuery]=t.flush()}async deserializeResponse(e,i,n){let t=this.deserializer,a=uX.of(e.output),r={};if(n.statusCode>=300){let a=await collect_stream_body_collectBody(n.body,i);throw a.byteLength>0&&Object.assign(r,await t.read(15,a)),await this.handleError(e,i,n,r,this.deserializeMetadata(n)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in n.headers){let i=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=i}let o=await this.deserializeHttpMessage(a,i,n,r);if(o.length){let e=await collect_stream_body_collectBody(n.body,i);if(e.byteLength>0){let i=await t.read(a,e);for(let e of o)r[e]=i[e]}}else o.discardResponseBody&&await collect_stream_body_collectBody(n.body,i);return r.$metadata=this.deserializeMetadata(n),r}async deserializeHttpMessage(e,i,n,t,a){let r;r=t instanceof Set?a:t;let o=!0,u=this.deserializer,s=uX.of(e),l=[];for(let[e,t]of s.structIterator()){let a=t.getMemberTraits();if(a.httpPayload){if(o=!1,t.isStreaming())t.isStructSchema()?r[e]=await this.deserializeEventStream({response:n,responseSchema:s}):r[e]=sdk_stream_mixin_sdkStreamMixin(n.body);else if(n.body){let a=await collect_stream_body_collectBody(n.body,i);a.byteLength>0&&(r[e]=await u.read(t,a))}}else if(a.httpHeader){let i=String(a.httpHeader).toLowerCase(),o=n.headers[i];if(null!=o)if(t.isListSchema()){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i;let a=[];for(let e of n.isTimestampSchema()&&4===n.getSchema()?splitEvery(o,",",2):splitHeader(o))a.push(await u.read(n,e.trim()));r[e]=a}else r[e]=await u.read(t,o)}else if(void 0!==a.httpPrefixHeaders){for(let[i,o]of(r[e]={},Object.entries(n.headers)))if(i.startsWith(a.httpPrefixHeaders)){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i,r[e][i.slice(a.httpPrefixHeaders.length)]=await u.read(n,o)}}else a.httpResponseCode?r[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}}let expectNumber=e=>{if(null!=e){if("string"==typeof e){let i=parseFloat(e);if(!Number.isNaN(i))return String(i)!==String(e)&&p8.warn(stackTraceWarning(`Expected number but observed string: ${e}`)),i}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},p2=Math.ceil(17014118346046923e22*(2-11920928955078125e-23)),expectFloat32=e=>{let i=expectNumber(e);if(void 0!==i&&!Number.isNaN(i)&&i!==1/0&&i!==-1/0&&Math.abs(i)>p2)throw TypeError(`Expected 32-bit float, got ${e}`);return i},expectSizedInt=(e,i)=>{let n=(e=>{if(null!=e){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}})(e);if(void 0!==n&&castInt(n,i)!==n)throw TypeError(`Expected ${i}-bit integer, got ${e}`);return n},castInt=(e,i)=>{switch(i){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},p4=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,parseNumber=e=>{let i=e.match(p4);if(null===i||i[0].length!==e.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat(e)},strictParseShort=e=>"string"==typeof e?expectSizedInt(parseNumber(e),16):expectSizedInt(e,16),stackTraceWarning=e=>String(TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),p8={warn:console.warn},p6=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p5=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dateToUtcString(e){let i=e.getUTCFullYear(),n=e.getUTCMonth(),t=e.getUTCDay(),a=e.getUTCDate(),r=e.getUTCHours(),o=e.getUTCMinutes(),u=e.getUTCSeconds(),s=a<10?`0${a}`:`${a}`,l=r<10?`0${r}`:`${r}`,h=o<10?`0${o}`:`${o}`,g=u<10?`0${u}`:`${u}`;return`${p6[t]}, ${s} ${p5[n]} ${i} ${l}:${h}:${g} GMT`}let p7=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),parseRfc3339DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=p7.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l]=i;return buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l})},p9=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),parseRfc3339DateTimeWithOffset=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=p9.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l,h]=i,g=buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l});return"Z"!=h.toUpperCase()&&g.setTime(g.getTime()-parseOffsetToMilliseconds(h)),g},fe=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$/),fi=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$/),ft=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})$/),parseRfc7231DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-7231 date-times must be expressed as strings");let i=fe.exec(e);if(i){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(a)),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s})}if(i=fi.exec(e)){let[e,n,t,a,r,o,u,s]=i;return adjustRfc850Year(buildDate(parseTwoDigitYear(a),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s}))}if(i=ft.exec(e)){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(s)),parseMonthByShortName(n),parseDateValue(t.trimLeft(),"day",1,31),{hours:a,minutes:r,seconds:o,fractionalMilliseconds:u})}throw TypeError("Invalid RFC-7231 date-time value")},parseEpochTimestamp=e=>{let i;if(null!=e){if("number"==typeof e)i=e;else if("string"==typeof e)i="string"==typeof e?expectNumber(parseNumber(e)):expectNumber(e);else if("object"==typeof e&&1===e.tag)i=e.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(i)||i===1/0||i===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*i))}},buildDate=(e,i,n,t)=>{let a=i-1;return validateDayOfMonth(e,a,n),new Date(Date.UTC(e,a,n,parseDateValue(t.hours,"hour",0,23),parseDateValue(t.minutes,"minute",0,59),parseDateValue(t.seconds,"seconds",0,60),parseMilliseconds(t.fractionalMilliseconds)))},parseTwoDigitYear=e=>{let i=new Date().getUTCFullYear(),n=100*Math.floor(i/100)+strictParseShort(stripLeadingZeroes(e));return n<i?n+100:n},adjustRfc850Year=e=>e.getTime()-new Date().getTime()>15768e8?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,parseMonthByShortName=e=>{let i=p5.indexOf(e);if(i<0)throw TypeError(`Invalid month: ${e}`);return i+1},fa=[31,28,31,30,31,30,31,31,30,31,30,31],validateDayOfMonth=(e,i,n)=>{let t=fa[i];if(1===i&&isLeapYear(e)&&(t=29),n>t)throw TypeError(`Invalid day for ${p5[i]} in ${e}: ${n}`)},isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),parseDateValue=(e,i,n,t)=>{var a;let r="string"==typeof(a=stripLeadingZeroes(e))?expectSizedInt(parseNumber(a),8):expectSizedInt(a,8);if(r<n||r>t)throw TypeError(`${i} must be between ${n} and ${t}, inclusive`);return r},parseMilliseconds=e=>{var i;return null==e?0:1e3*("string"==typeof(i="0."+e)?expectFloat32(parseNumber(i)):expectFloat32(i))},parseOffsetToMilliseconds=e=>{let i=e[0],n=1;if("+"==i)n=1;else if("-"==i)n=-1;else throw TypeError(`Offset direction, ${i}, must be "+" or "-"`);return n*(60*Number(e.substring(1,3))+Number(e.substring(4,6)))*6e4},stripLeadingZeroes=e=>{let i=0;for(;i<e.length-1&&"0"===e.charAt(i);)i++;return 0===i?e:e.slice(i)};function quoteHeader(e){return(e.includes(",")||e.includes('"'))&&(e=`"${e.replace(/"/g,'\\"')}"`),e}let lazy_json_LazyJsonString=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};function determineTimestampFormat(e,i){if(i.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:n,httpPrefixHeaders:t,httpHeader:a,httpQuery:r}=e.getMergedTraits();return(i.httpBindings?"string"==typeof t||a?6:r||n?5:void 0:void 0)??i.timestampFormat.default}lazy_json_LazyJsonString.from=e=>e&&"object"==typeof e&&(e instanceof lazy_json_LazyJsonString||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?lazy_json_LazyJsonString(String(e)):lazy_json_LazyJsonString(JSON.stringify(e)),lazy_json_LazyJsonString.fromObject=lazy_json_LazyJsonString.from;class fr extends p0{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,i){let n=uX.of(e);switch(typeof i){case"object":if(null===i){this.stringBuffer="null";return}if(n.isTimestampSchema()){if(!(i instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${i} when schema expected Date in ${n.getName(!0)}`);switch(determineTimestampFormat(n,this.settings)){case 5:this.stringBuffer=i.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=dateToUtcString(i);break;case 7:this.stringBuffer=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",i),this.stringBuffer=String(i.getTime()/1e3)}return}if(n.isBlobSchema()&&"byteLength"in i){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(i);return}if(n.isListSchema()&&Array.isArray(i)){let e="";for(let t of i){this.write([n.getValueSchema(),n.getMergedTraits()],t);let i=this.flush();""!==e&&(e+=", "),e+=n.getValueSchema().isTimestampSchema()?i:quoteHeader(i)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(i,null,2);break;case"string":let t=n.getMergedTraits().mediaType,a=i;if(t&&(("application/json"===t||t.endsWith("+json"))&&(a=lazy_json_LazyJsonString.from(a)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(a.toString());return}this.stringBuffer=i;break;default:n.isIdempotencyToken()?this.stringBuffer=v4():this.stringBuffer=String(i)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class fo{codecSerializer;stringSerializer;buffer;constructor(e,i,n=new fr(i)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,i){let n=uX.of(e),t=n.getMergedTraits();if(t.httpHeader||t.httpLabel||t.httpQuery){this.stringSerializer.write(n,i),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,i)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}let fu="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",fs="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",fl="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",fh="(\\d?\\d)",fg="(\\d{4})",fc=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),fd=RegExp(`^${fu}, ${fh} ${fs} ${fg} ${fl} GMT$`),fp=RegExp(`^${fu}, ${fh}-${fs}-(\\d\\d) ${fl} GMT$`),ff=RegExp(`^${fu} ${fs} ( [1-9]|\\d\\d) ${fl} ${fg}$`),fm=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function schema_date_utils_range(e,i,n){let t=Number(e);if(t<i||t>n)throw Error(`Value ${t} out of range [${i}, ${n}]`)}let fy=/^-?\d*(\.\d+)?$/;class fS{string;type;constructor(e,i){if(this.string=e,this.type=i,!fy.test(e))throw Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance](e){return!!e&&"object"==typeof e&&(fS.prototype.isPrototypeOf(e)||"bigDecimal"===e.type&&fy.test(e.string))}}class fb extends p0{settings;constructor(e){super(),this.settings=e}read(e,i){let n=uX.of(e);if(n.isListSchema())return splitHeader(i).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??fromBase64)(i);if(n.isTimestampSchema())switch(determineTimestampFormat(n,this.settings)){case 5:return(e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let i=fc.exec(e);if(!i)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,t,a,r,o,u,,s,l]=i;schema_date_utils_range(t,1,12),schema_date_utils_range(a,1,31),schema_date_utils_range(r,0,23),schema_date_utils_range(o,0,59),schema_date_utils_range(u,0,60);let h=new Date(Date.UTC(Number(n),Number(t)-1,Number(a),Number(r),Number(o),Number(u),Number(s)?Math.round(1e3*parseFloat(`0.${s}`)):0));if(h.setUTCFullYear(Number(n)),"Z"!=l.toUpperCase()){let[,e,i,n]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0];h.setTime(h.getTime()+("-"===e?1:-1)*(60*Number(i)*6e4+60*Number(n)*1e3))}return h})(i);case 6:return(e=>{let i,n,t,a,r,o,u,s;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((s=fd.exec(e))?[,i,n,t,a,r,o,u]=s:(s=fp.exec(e))?([,i,n,t,a,r,o,u]=s,t=(Number(t)+1900).toString()):(s=ff.exec(e))&&([,n,i,a,r,o,u,t]=s),t&&o){let e=Date.UTC(Number(t),fm.indexOf(n),Number(i),Number(a),Number(r),Number(o),u?Math.round(1e3*parseFloat(`0.${u}`)):0);schema_date_utils_range(i,1,31),schema_date_utils_range(a,0,23),schema_date_utils_range(r,0,59),schema_date_utils_range(o,0,60);let s=new Date(e);return s.setUTCFullYear(Number(t)),s}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}})(i);case 7:if(null==i)return;let t=NaN;if("number"==typeof i)t=i;else if("string"==typeof i){if(!/^-?\d*\.?\d+$/.test(i))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(i)}else"object"==typeof i&&1===i.tag&&(t=i.value);if(isNaN(t)||Math.abs(t)===1/0)throw TypeError("Epoch timestamps must be valid finite numbers.");return new Date(Math.round(1e3*t));default:return console.warn("Missing timestamp format, parsing value with Date constructor:",i),new Date(i)}if(n.isStringSchema()){let e=n.getMergedTraits().mediaType,t=i;if(e)return n.getMergedTraits().httpHeader&&(t=this.base64ToUtf8(t)),("application/json"===e||e.endsWith("+json"))&&(t=lazy_json_LazyJsonString.from(t)),t}return n.isNumericSchema()?Number(i):n.isBigIntegerSchema()?BigInt(i):n.isBigDecimalSchema()?new fS(i,"bigDecimal"):n.isBooleanSchema()?"true"===String(i).toLowerCase():i}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)((this.serdeContext?.base64Decoder??fromBase64)(e))}}class fC extends p0{codecDeserializer;stringDeserializer;constructor(e,i){super(),this.codecDeserializer=e,this.stringDeserializer=new fb(i)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,i){let n=uX.of(e),t=n.getMergedTraits(),a=this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8;if(t.httpHeader||t.httpResponseCode)return this.stringDeserializer.read(n,a(i));if(t.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??fromUtf8_fromUtf8;return"string"==typeof i?e(i):i}else if(n.isStringSchema())return"byteLength"in i?a(i):i}return this.codecDeserializer.read(n,i)}}class fw{queryCompat;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,i){let n=i.getMemberSchemas(),t=Object.values(n).find(e=>!!e.getMergedTraits().httpPayload);if(t){let i=t.getMergedTraits().mediaType;return i?i:t.isStringSchema()?"text/plain":t.isBlobSchema()?"application/octet-stream":e}if(!i.isUnitSchema()&&Object.values(n).find(e=>{let{httpQuery:i,httpQueryParams:n,httpHeader:t,httpLabel:a,httpPrefixHeaders:r}=e.getMergedTraits();return!i&&!n&&!t&&!a&&void 0===r}))return e}async getErrorSchemaOrThrowBaseException(e,i,n,t,a,r){let o=i,u=e;e.includes("#")&&([o,u]=e.split("#"));let s={$metadata:a,$fault:n.statusCode<500?"client":"server"},l=uG.for(o);try{return{errorSchema:r?.(l,u)??l.getSchema(e),errorMetadata:s}}catch(n){t.message=t.message??t.Message??"UnknownError";let e=uG.for("smithy.ts.sdk.synthetic."+o),i=e.getBaseException();if(i){let n=e.getErrorCtor(i)??Error;throw this.decorateServiceException(Object.assign(new n({name:u}),s),t)}throw this.decorateServiceException(Object.assign(Error(u),s),t)}}decorateServiceException(e,i={}){if(this.queryCompat){let n=e.Message??i.Message,t=decorateServiceException(e,i);n&&(t.message=n),t.Error={...t.Error,Type:t.Error.Type,Code:t.Error.Code,Message:t.Error.message??t.Error.Message??n};let a=t.$metadata.requestId;return a&&(t.RequestId=a),t}return decorateServiceException(e,i)}setQueryCompatError(e,i){let n=i.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=n){let[i,t]=n.split(";"),a=Object.entries(e),r={Code:i,Type:t};for(let[i,n]of(Object.assign(e,r),a))r["message"===i?"Message":i]=n;delete r.__type,e.Error=r}}queryCompatOutput(e,i){e.Error&&(i.Error=e.Error),e.Type&&(i.Type=e.Type),e.Code&&(i.Code=e.Code)}findQueryCompatibleError(e,i){try{return e.getSchema(i)}catch(n){return e.find(e=>uX.of(e).getMergedTraits().awsQueryError?.[0]===i)}}}class fT{serdeContext;setSerdeContext(e){this.serdeContext=e}}let fx={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,i){return i},attributeValueProcessor:function(e,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,i,n){return e},captureMetaData:!1},fL=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",fE=RegExp("^"+("["+fL+"]["+fL)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function getAllMatches(e,i){let n=[],t=i.exec(e);for(;t;){let a=[];a.startIndex=i.lastIndex-t[0].length;let r=t.length;for(let e=0;e<r;e++)a.push(t[e]);n.push(a),t=i.exec(e)}return n}let isName=function(e){return null!=fE.exec(e)};function isExist(e){return void 0!==e}n="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class f_{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,i){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==i&&(this.child[this.child.length-1][n]={startIndex:i})}static getMetaDataSymbol(){return n}}function readDocType(e,i){let n={};if("O"===e[i+3]&&"C"===e[i+4]&&"T"===e[i+5]&&"Y"===e[i+6]&&"P"===e[i+7]&&"E"===e[i+8]){i+=9;let t=1,a=!1,r=!1;for(;i<e.length;i++)if("<"!==e[i]||r)if(">"===e[i]){if(r?"-"===e[i-1]&&"-"===e[i-2]&&(r=!1,t--):t--,0===t)break}else"["===e[i]?a=!0:e[i];else{if(a&&hasSeq(e,"!ENTITY",i)){let t,a;i+=7,[t,a,i]=readEntityExp(e,i+1),-1===a.indexOf("&")&&(n[t]={regx:RegExp(`&${t};`,"g"),val:a})}else if(a&&hasSeq(e,"!ELEMENT",i)){let{index:n}=readElementExp(e,(i+=8)+1);i=n}else if(a&&hasSeq(e,"!ATTLIST",i))i+=8;else if(a&&hasSeq(e,"!NOTATION",i)){let{index:n}=readNotationExp(e,(i+=9)+1);i=n}else if(hasSeq(e,"!--",i))r=!0;else throw Error("Invalid DOCTYPE");t++}if(0!==t)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:n,i}}let skipWhitespace=(e,i)=>{for(;i<e.length&&/\s/.test(e[i]);)i++;return i};function readEntityExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i])&&'"'!==e[i]&&"'"!==e[i];)n+=e[i],i++;if(validateEntityName(n),i=skipWhitespace(e,i),"SYSTEM"===e.substring(i,i+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[i])throw Error("Parameter entities are not supported");let t="";return[i,t]=readIdentifierVal(e,i,"entity"),[n,t,--i]}function readNotationExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;validateEntityName(n),i=skipWhitespace(e,i);let t=e.substring(i,i+6).toUpperCase();if("SYSTEM"!==t&&"PUBLIC"!==t)throw Error(`Expected SYSTEM or PUBLIC, found "${t}"`);i+=t.length,i=skipWhitespace(e,i);let a=null,r=null;if("PUBLIC"===t)[i,a]=readIdentifierVal(e,i,"publicIdentifier"),i=skipWhitespace(e,i),('"'===e[i]||"'"===e[i])&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"));else if("SYSTEM"===t&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"),!r))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:n,publicIdentifier:a,systemIdentifier:r,index:--i}}function readIdentifierVal(e,i,n){let t="",a=e[i];if('"'!==a&&"'"!==a)throw Error(`Expected quoted string, found "${a}"`);for(i++;i<e.length&&e[i]!==a;)t+=e[i],i++;if(e[i]!==a)throw Error(`Unterminated ${n} value`);return[++i,t]}function readElementExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;if(!validateEntityName(n))throw Error(`Invalid element name: "${n}"`);i=skipWhitespace(e,i);let t="";if("E"===e[i]&&hasSeq(e,"MPTY",i))i+=4;else if("A"===e[i]&&hasSeq(e,"NY",i))i+=2;else if("("===e[i]){for(i++;i<e.length&&")"!==e[i];)t+=e[i],i++;if(")"!==e[i])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[i]}"`);return{elementName:n,contentModel:t.trim(),index:i}}function hasSeq(e,i,n){for(let t=0;t<i.length;t++)if(i[t]!==e[n+t+1])return!1;return!0}function validateEntityName(e){if(isName(e))return e;throw Error(`Invalid entity name ${e}`)}let fY=/^[-+]?0x[a-fA-F0-9]+$/,fD=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,fv={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function toNumber(e,i={}){if(i=Object.assign({},fv,i),!e||"string"!=typeof e)return e;let n=e.trim();if(void 0!==i.skipLike&&i.skipLike.test(n))return e;{if("0"===e)return 0;if(i.hex&&fY.test(n))return parse_int(n,16);if(n.includes("e")||n.includes("E"))return resolveEnotation(e,n,i);let t=fD.exec(n);if(!t)return e;{let a=t[1]||"",r=t[2],o=trimZeros(t[3]),u=a?"."===e[r.length+1]:"."===e[r.length];if(!i.leadingZeros&&(r.length>1||1===r.length&&!u))return e;{let t=Number(n),u=String(t);if(0===t)return t;if(-1!==u.search(/[eE]/))if(i.eNotation)return t;else return e;if(-1!==n.indexOf("."))if("0"===u)return t;else if(u===o)return t;else if(u===`${a}${o}`)return t;else return e;let s=r?o:n;return r?s===u||a+s===u?t:e:s===u||s===a+u?t:e}}}}let fA=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function resolveEnotation(e,i,n){if(!n.eNotation)return e;let t=i.match(fA);if(!t)return e;{let a=t[1]||"",r=-1===t[3].indexOf("e")?"E":"e",o=t[2],u=a?e[o.length+1]===r:e[o.length]===r;return o.length>1&&u?e:1===o.length&&(t[3].startsWith(`.${r}`)||t[3][0]===r)?Number(i):n.leadingZeros&&!u?Number(i=(t[1]||"")+t[3]):e}}function trimZeros(e){return e&&-1!==e.indexOf(".")&&("."===(e=e.replace(/0+$/,""))?e="0":"."===e[0]?e="0"+e:"."===e[e.length-1]&&(e=e.substring(0,e.length-1))),e}function parse_int(e,i){if(parseInt)return parseInt(e,i);if(Number.parseInt)return Number.parseInt(e,i);if(window&&window.parseInt)return window.parseInt(e,i);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}function getIgnoreAttributesFn(e){return"function"==typeof e?e:Array.isArray(e)?i=>{for(let n of e)if("string"==typeof n&&i===n||n instanceof RegExp&&n.test(i))return!0}:()=>!1}class fN{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xa2"},pound:{regex:/&(pound|#163);/g,val:"\xa3"},yen:{regex:/&(yen|#165);/g,val:"\xa5"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"\xa9"},reg:{regex:/&(reg|#174);/g,val:"\xae"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,16))}},this.addExternalEntities=addExternalEntities,this.parseXml=parseXml,this.parseTextData=parseTextData,this.resolveNameSpace=resolveNameSpace,this.buildAttributesMap=buildAttributesMap,this.isItStopNode=isItStopNode,this.replaceEntitiesValue=replaceEntitiesValue,this.readStopNodeData=readStopNodeData,this.saveTextToParentTag=saveTextToParentTag,this.addChild=addChild,this.ignoreAttributesFn=getIgnoreAttributesFn(this.options.ignoreAttributes)}}function addExternalEntities(e){let i=Object.keys(e);for(let n=0;n<i.length;n++){let t=i[n];this.lastEntities[t]={regex:RegExp("&"+t+";","g"),val:e[t]}}}function parseTextData(e,i,n,t,a,r,o){if(void 0!==e&&(this.options.trimValues&&!t&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));let t=this.options.tagValueProcessor(i,e,n,a,r);return null==t?e:typeof t!=typeof e||t!==e?t:this.options.trimValues||e.trim()===e?parseValue(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function resolveNameSpace(e){if(this.options.removeNSPrefix){let i=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===i[0])return"";2===i.length&&(e=n+i[1])}return e}let fP=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function buildAttributesMap(e,i,n){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let n=getAllMatches(e,fP),t=n.length,a={};for(let e=0;e<t;e++){let t=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(t,i))continue;let r=n[e][4],o=this.options.attributeNamePrefix+t;if(t.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==r){this.options.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r);let e=this.options.attributeValueProcessor(t,r,i);null==e?a[o]=r:typeof e!=typeof r||e!==r?a[o]=e:a[o]=parseValue(r,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[o]=!0)}if(Object.keys(a).length){if(this.options.attributesGroupName){let e={};return e[this.options.attributesGroupName]=a,e}return a}}}let parseXml=function(e){e=e.replace(/\r\n?/g,"\n");let i=new f_("!xml"),n=i,t="",a="";for(let r=0;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){let i=findClosingIndex(e,">",r,"Closing Tag is not closed."),o=e.substring(r+2,i).trim();if(this.options.removeNSPrefix){let e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(t=this.saveTextToParentTag(t,n,a));let u=a.substring(a.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw Error(`Unpaired tag can not be used as closing tag: </${o}>`);let s=0;u&&-1!==this.options.unpairedTags.indexOf(u)?(s=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=a.lastIndexOf("."),a=a.substring(0,s),n=this.tagsNodeStack.pop(),t="",r=i}else if("?"===e[r+1]){let i=readTagExp(e,r,!1,"?>");if(!i)throw Error("Pi Tag is not closed.");if(t=this.saveTextToParentTag(t,n,a),this.options.ignoreDeclaration&&"?xml"===i.tagName||this.options.ignorePiTags);else{let e=new f_(i.tagName);e.add(this.options.textNodeName,""),i.tagName!==i.tagExp&&i.attrExpPresent&&(e[":@"]=this.buildAttributesMap(i.tagExp,a,i.tagName)),this.addChild(n,e,a,r)}r=i.closeIndex+1}else if("!--"===e.substr(r+1,3)){let i=findClosingIndex(e,"--\x3e",r+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(r+4,i-2);t=this.saveTextToParentTag(t,n,a),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}r=i}else if("!D"===e.substr(r+1,2)){let i=readDocType(e,r);this.docTypeEntities=i.entities,r=i.i}else if("!["===e.substr(r+1,2)){let i=findClosingIndex(e,"]]>",r,"CDATA is not closed.")-2,o=e.substring(r+9,i);t=this.saveTextToParentTag(t,n,a);let u=this.parseTextData(o,n.tagname,a,!0,!1,!0,!0);void 0==u&&(u=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):n.add(this.options.textNodeName,u),r=i+2}else{let o=readTagExp(e,r,this.options.removeNSPrefix),u=o.tagName,s=o.rawTagName,l=o.tagExp,h=o.attrExpPresent,g=o.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&t&&"!xml"!==n.tagname&&(t=this.saveTextToParentTag(t,n,a,!1));let c=n;c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(n=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),u!==i.tagname&&(a+=a?"."+u:u);let d=r;if(this.isItStopNode(this.options.stopNodes,a,u)){let i="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),r=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))r=o.closeIndex;else{let n=this.readStopNodeData(e,s,g+1);if(!n)throw Error(`Unexpected end of ${s}`);r=n.i,i=n.tagContent}let t=new f_(u);u!==l&&h&&(t[":@"]=this.buildAttributesMap(l,a,u)),i&&(i=this.parseTextData(i,u,a,!0,h,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),t.add(this.options.textNodeName,i),this.addChild(n,t,a,d)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));let e=new f_(u);u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),a=a.substr(0,a.lastIndexOf("."))}else{let e=new f_(u);this.tagsNodeStack.push(n),u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),n=e}t="",r=g}}else t+=e[r];return i.child};function addChild(e,i,n,t){this.options.captureMetaData||(t=void 0);let a=this.options.updateTag(i.tagname,n,i[":@"]);!1===a||("string"==typeof a&&(i.tagname=a),e.addChild(i,t))}let replaceEntitiesValue=function(e){if(this.options.processEntities){for(let i in this.docTypeEntities){let n=this.docTypeEntities[i];e=e.replace(n.regx,n.val)}for(let i in this.lastEntities){let n=this.lastEntities[i];e=e.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let i in this.htmlEntities){let n=this.htmlEntities[i];e=e.replace(n.regex,n.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function saveTextToParentTag(e,i,n,t){return e&&(void 0===t&&(t=0===i.child.length),void 0!==(e=this.parseTextData(e,i.tagname,n,!1,!!i[":@"]&&0!==Object.keys(i[":@"]).length,t))&&""!==e&&i.add(this.options.textNodeName,e),e=""),e}function isItStopNode(e,i,n){let t="*."+n;for(let n in e){let a=e[n];if(t===a||i===a)return!0}return!1}function tagExpWithClosingIndex(e,i,n=">"){let t,a="";for(let r=i;r<e.length;r++){let i=e[r];if(t)i===t&&(t="");else if('"'===i||"'"===i)t=i;else if(i===n[0]){if(!n[1])return{data:a,index:r};else if(e[r+1]===n[1])return{data:a,index:r}}else" "===i&&(i=" ");a+=i}}function findClosingIndex(e,i,n,t){let a=e.indexOf(i,n);if(-1!==a)return a+i.length-1;throw Error(t)}function readTagExp(e,i,n,t=">"){let a=tagExpWithClosingIndex(e,i+1,t);if(!a)return;let r=a.data,o=a.index,u=r.search(/\s/),s=r,l=!0;-1!==u&&(s=r.substring(0,u),r=r.substring(u+1).trimStart());let h=s;if(n){let e=s.indexOf(":");-1!==e&&(l=(s=s.substr(e+1))!==a.data.substr(e+1))}return{tagName:s,tagExp:r,closeIndex:o,attrExpPresent:l,rawTagName:h}}function readStopNodeData(e,i,n){let t=n,a=1;for(;n<e.length;n++)if("<"===e[n])if("/"===e[n+1]){let r=findClosingIndex(e,">",n,`${i} is not closed`);if(e.substring(n+2,r).trim()===i&&0==--a)return{tagContent:e.substring(t,n),i:r};n=r}else if("?"===e[n+1])n=findClosingIndex(e,"?>",n+1,"StopNode is not closed.");else if("!--"===e.substr(n+1,3))n=findClosingIndex(e,"--\x3e",n+3,"StopNode is not closed.");else if("!["===e.substr(n+1,2))n=findClosingIndex(e,"]]>",n,"StopNode is not closed.")-2;else{let t=readTagExp(e,n,">");t&&((t&&t.tagName)===i&&"/"!==t.tagExp[t.tagExp.length-1]&&a++,n=t.closeIndex)}}function parseValue(e,i,n){if(i&&"string"==typeof e){let i=e.trim();return"true"===i||"false"!==i&&toNumber(e,n)}return isExist(e)?e:""}let fZ=f_.getMetaDataSymbol();function prettify(e,i){return compress(e,i)}function compress(e,i,n){let t,a={};for(let r=0;r<e.length;r++){let o=e[r],u=propName(o),s="";if(s=void 0===n?u:n+"."+u,u===i.textNodeName)void 0===t?t=o[u]:t+=""+o[u];else if(void 0===u)continue;else if(o[u]){let e=compress(o[u],i,s),n=isLeafTag(e,i);void 0!==o[fZ]&&(e[fZ]=o[fZ]),o[":@"]?assignAttributes(e,o[":@"],s,i):1!==Object.keys(e).length||void 0===e[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(e).length&&(i.alwaysCreateTextNode?e[i.textNodeName]="":e=""):e=e[i.textNodeName],void 0!==a[u]&&a.hasOwnProperty(u)?(Array.isArray(a[u])||(a[u]=[a[u]]),a[u].push(e)):i.isArray(u,s,n)?a[u]=[e]:a[u]=e}}return"string"==typeof t?t.length>0&&(a[i.textNodeName]=t):void 0!==t&&(a[i.textNodeName]=t),a}function propName(e){let i=Object.keys(e);for(let e=0;e<i.length;e++){let n=i[e];if(":@"!==n)return n}}function assignAttributes(e,i,n,t){if(i){let a=Object.keys(i),r=a.length;for(let o=0;o<r;o++){let r=a[o];t.isArray(r,n+"."+r,!0,!0)?e[r]=[i[r]]:e[r]=i[r]}}}function isLeafTag(e,i){let{textNodeName:n}=i,t=Object.keys(e).length;return 0===t||1===t&&(!!e[n]||"boolean"==typeof e[n]||0===e[n])}let fR={allowBooleanAttributes:!1,unpairedTags:[]};function validator_validate(e,i){i=Object.assign({},fR,i);let n=[],t=!1,a=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let r=0;r<e.length;r++)if("<"===e[r]&&"?"===e[r+1]){if(r+=2,(r=readPI(e,r)).err)return r}else if("<"===e[r]){let o=r;if("!"===e[++r]){r=readCommentAndCDATA(e,r);continue}{let u=!1;"/"===e[r]&&(u=!0,r++);let s="";for(;r<e.length&&">"!==e[r]&&" "!==e[r]&&" "!==e[r]&&"\n"!==e[r]&&"\r"!==e[r];r++)s+=e[r];if("/"===(s=s.trim())[s.length-1]&&(s=s.substring(0,s.length-1),r--),!validateTagName(s))return getErrorObject("InvalidTag",0===s.trim().length?"Invalid space after '<'.":"Tag '"+s+"' is an invalid name.",getLineNumberForPosition(e,r));let l=readAttributeStr(e,r);if(!1===l)return getErrorObject("InvalidAttr","Attributes for '"+s+"' have open quote.",getLineNumberForPosition(e,r));let h=l.value;if(r=l.index,"/"===h[h.length-1]){let n=r-h.length,a=validateAttributeString(h=h.substring(0,h.length-1),i);if(!0!==a)return getErrorObject(a.err.code,a.err.msg,getLineNumberForPosition(e,n+a.err.line));t=!0}else if(u)if(!l.tagClosed)return getErrorObject("InvalidTag","Closing tag '"+s+"' doesn't have proper closing.",getLineNumberForPosition(e,r));else{if(h.trim().length>0)return getErrorObject("InvalidTag","Closing tag '"+s+"' can't have attributes or invalid starting.",getLineNumberForPosition(e,o));if(0===n.length)return getErrorObject("InvalidTag","Closing tag '"+s+"' has not been opened.",getLineNumberForPosition(e,o));let i=n.pop();if(s!==i.tagName){let n=getLineNumberForPosition(e,i.tagStartPos);return getErrorObject("InvalidTag","Expected closing tag '"+i.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+s+"'.",getLineNumberForPosition(e,o))}0==n.length&&(a=!0)}else{let u=validateAttributeString(h,i);if(!0!==u)return getErrorObject(u.err.code,u.err.msg,getLineNumberForPosition(e,r-h.length+u.err.line));if(!0===a)return getErrorObject("InvalidXml","Multiple possible root nodes found.",getLineNumberForPosition(e,r));-1!==i.unpairedTags.indexOf(s)||n.push({tagName:s,tagStartPos:o}),t=!0}for(r++;r<e.length;r++)if("<"===e[r])if("!"===e[r+1]){r=readCommentAndCDATA(e,++r);continue}else if("?"===e[r+1]){if((r=readPI(e,++r)).err)return r}else break;else if("&"===e[r]){let i=validateAmpersand(e,r);if(-1==i)return getErrorObject("InvalidChar","char '&' is not expected.",getLineNumberForPosition(e,r));r=i}else if(!0===a&&!isWhiteSpace(e[r]))return getErrorObject("InvalidXml","Extra text at the end",getLineNumberForPosition(e,r));"<"===e[r]&&r--}}else{if(isWhiteSpace(e[r]))continue;return getErrorObject("InvalidChar","char '"+e[r]+"' is not expected.",getLineNumberForPosition(e,r))}return t?1==n.length?getErrorObject("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",getLineNumberForPosition(e,n[0].tagStartPos)):!(n.length>0)||getErrorObject("InvalidXml","Invalid '"+JSON.stringify(n.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):getErrorObject("InvalidXml","Start tag expected.",1)}function isWhiteSpace(e){return" "===e||" "===e||"\n"===e||"\r"===e}function readPI(e,i){let n=i;for(;i<e.length;i++)if("?"==e[i]||" "==e[i]){let t=e.substr(n,i-n);if(i>5&&"xml"===t)return getErrorObject("InvalidXml","XML declaration allowed only at the start of the document.",getLineNumberForPosition(e,i));if("?"!=e[i]||">"!=e[i+1])continue;i++;break}return i}function readCommentAndCDATA(e,i){if(e.length>i+5&&"-"===e[i+1]&&"-"===e[i+2]){for(i+=3;i<e.length;i++)if("-"===e[i]&&"-"===e[i+1]&&">"===e[i+2]){i+=2;break}}else if(e.length>i+8&&"D"===e[i+1]&&"O"===e[i+2]&&"C"===e[i+3]&&"T"===e[i+4]&&"Y"===e[i+5]&&"P"===e[i+6]&&"E"===e[i+7]){let n=1;for(i+=8;i<e.length;i++)if("<"===e[i])n++;else if(">"===e[i]&&0==--n)break}else if(e.length>i+9&&"["===e[i+1]&&"C"===e[i+2]&&"D"===e[i+3]&&"A"===e[i+4]&&"T"===e[i+5]&&"A"===e[i+6]&&"["===e[i+7]){for(i+=8;i<e.length;i++)if("]"===e[i]&&"]"===e[i+1]&&">"===e[i+2]){i+=2;break}}return i}function readAttributeStr(e,i){let n="",t="",a=!1;for(;i<e.length;i++){if('"'===e[i]||"'"===e[i])""===t?t=e[i]:t!==e[i]||(t="");else if(">"===e[i]&&""===t){a=!0;break}n+=e[i]}return""===t&&{value:n,index:i,tagClosed:a}}let fM=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function validateAttributeString(e,i){let n=getAllMatches(e,fM),t={};for(let e=0;e<n.length;e++){if(0===n[e][1].length)return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' has no space in starting.",getPositionFromMatch(n[e]));if(void 0!==n[e][3]&&void 0===n[e][4])return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' is without value.",getPositionFromMatch(n[e]));if(void 0===n[e][3]&&!i.allowBooleanAttributes)return getErrorObject("InvalidAttr","boolean attribute '"+n[e][2]+"' is not allowed.",getPositionFromMatch(n[e]));let a=n[e][2];if(!validateAttrName(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is an invalid name.",getPositionFromMatch(n[e]));if(t.hasOwnProperty(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is repeated.",getPositionFromMatch(n[e]));t[a]=1}return!0}function validateNumberAmpersand(e,i){let n=/\d/;for("x"===e[i]&&(i++,n=/[\da-fA-F]/);i<e.length;i++){if(";"===e[i])return i;if(!e[i].match(n))break}return -1}function validateAmpersand(e,i){if(";"===e[++i])return -1;if("#"===e[i])return validateNumberAmpersand(e,++i);let n=0;for(;i<e.length;i++,n++)if(!e[i].match(/\w/)||!(n<20)){if(";"===e[i])break;return -1}return i}function getErrorObject(e,i,n){return{err:{code:e,msg:i,line:n.line||n,col:n.col}}}function validateAttrName(e){return isName(e)}function validateTagName(e){return isName(e)}function getLineNumberForPosition(e,i){let n=e.substring(0,i).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function getPositionFromMatch(e){return e.startIndex+e[1].length}let fJ=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},fx,e)}parse(e,i){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(i){!0===i&&(i={});let n=validator_validate(e,i);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let n=new fN(this.options);n.addExternalEntities(this.externalEntities);let t=n.parseXml(e);return this.options.preserveOrder||void 0===t?t:prettify(t,this.options)}addEntity(e,i){if(-1!==i.indexOf("&"))throw Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===i)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return f_.getMetaDataSymbol()}}({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(e,i)=>""===i.trim()&&i.includes("\n")?"":void 0});function xml_parser_parseXML(e){return fJ.parse(e,!0)}fJ.addEntity("#xD","\r"),fJ.addEntity("#10","\n");let get_value_from_text_node_getValueFromTextNode=e=>{let i="#text";for(let n in e)e.hasOwnProperty(n)&&void 0!==e[n][i]?e[n]=e[n][i]:"object"==typeof e[n]&&null!==e[n]&&(e[n]=get_value_from_text_node_getValueFromTextNode(e[n]));return e};class fk{from;to;keys;constructor(e,i){this.from=e,this.to=i,this.keys=new Set(Object.keys(this.from).filter(e=>"__type"!==e))}mark(e){this.keys.delete(e)}hasUnknown(){return 1===this.keys.size&&0===Object.keys(this.to).length}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,i=this.from[e];this.to.$unknown=[e,i]}}}class fB extends fT{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new fb(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,i,n){let t=uX.of(e),a=t.getMemberSchemas();if(t.isStructSchema()&&t.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(a)[0];return a[n].isBlobSchema()?e[n]=i:e[n]=this.read(a[n],i),e}let r=(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)(i),o=this.parseXml(r);return this.readSchema(e,n?o[n]:o)}readSchema(e,i){let n=uX.of(e);if(n.isUnitSchema())return;let t=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(i))return this.readSchema(n,[i]);if(null==i)return i;if("object"==typeof i){let e=!!t.sparse,a=!!t.xmlFlattened;if(n.isListSchema()){let t=n.getValueSchema(),r=[],o=t.getMergedTraits().xmlName??"member",u=a?i:(i[0]??i)[o];for(let i of Array.isArray(u)?u:[u])(null!=i||e)&&r.push(this.readSchema(t,i));return r}let r={};if(n.isMapSchema()){let t,o=n.getKeySchema(),u=n.getValueSchema();t=a?Array.isArray(i)?i:[i]:Array.isArray(i.entry)?i.entry:[i.entry];let s=o.getMergedTraits().xmlName??"key",l=u.getMergedTraits().xmlName??"value";for(let i of t){let n=i[s],t=i[l];(null!=t||e)&&(r[n]=this.readSchema(u,t))}return r}if(n.isStructSchema()){let e,t=n.isUnionSchema();for(let[a,o]of(t&&(e=new fk(i,r)),n.structIterator())){let n=o.getMergedTraits(),u=n.httpPayload?n.xmlName??o.getName():o.getMemberTraits().xmlName??a;t&&e.mark(u),null!=i[u]&&(r[a]=this.readSchema(o,i[u]))}return t&&e.writeUnknown(),r}if(n.isDocumentSchema())return i;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(!0)}`)}return n.isListSchema()?[]:n.isMapSchema()||n.isStructSchema()?{}:this.stringDeserializer.read(n,i)}parseXml(e){if(e.length){let i;try{i=xml_parser_parseXML(e)}catch(i){throw i&&"object"==typeof i&&Object.defineProperty(i,"$responseBodyText",{value:e}),i}let n="#text",t=Object.keys(i)[0],a=i[t];return a[n]&&(a[t]=a[n],delete a[n]),get_value_from_text_node_getValueFromTextNode(a)}return{}}}function escapeAttribute(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function escapeElement(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#x0D;").replace(/\n/g,"&#x0A;").replace(/\u0085/g,"&#x85;").replace(/\u2028/,"&#x2028;")}class fH{value;constructor(e){this.value=e}toString(){return escapeElement(""+this.value)}}class fF{name;children;attributes={};static of(e,i,n){let t=new fF(e);return void 0!==i&&t.addChildNode(new fH(i)),void 0!==n&&t.withName(n),t}constructor(e,i=[]){this.name=e,this.children=i}withName(e){return this.name=e,this}addAttribute(e,i){return this.attributes[e]=i,this}addChildNode(e){return this.children.push(e),this}removeAttribute(e){return delete this.attributes[e],this}n(e){return this.name=e,this}c(e){return this.children.push(e),this}a(e,i){return null!=i&&(this.attributes[e]=i),this}cc(e,i,n=i){if(null!=e[i]){let t=fF.of(i,e[i]).withName(n);this.c(t)}}l(e,i,n,t){null!=e[i]&&t().map(e=>{e.withName(n),this.c(e)})}lc(e,i,n,t){if(null!=e[i]){let e=t(),i=new fF(n);e.map(e=>{i.c(e)}),this.c(i)}}toString(){let e=!!this.children.length,i=`<${this.name}`,n=this.attributes;for(let e of Object.keys(n)){let t=n[e];null!=t&&(i+=` ${e}="${escapeAttribute(""+t)}"`)}return i+(e?`>${this.children.map(e=>e.toString()).join("")}</${this.name}>`:"/>")}}function*serializingStructIterator(e,i){if(e.isUnitSchema())return;let n=e.getSchema();for(let e=0;e<n[4].length;++e){let t=n[4][e],a=new uX([n[5][e],0],t);(t in i||a.isIdempotencyToken())&&(yield[t,a])}}function*deserializingStructIterator(e,i,n){if(e.isUnitSchema())return;let t=e.getSchema(),a=Object.keys(i).filter(e=>"__type"!==e).length;for(let e=0;e<t[4].length&&0!==a;++e){let r=t[4][e],o=new uX([t[5][e],0],r),u=r;n&&(u=o.getMergedTraits()[n]??r),u in i&&(yield[r,o],a-=1)}}class fX extends fT{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,i){let n=uX.of(e);if(n.isStringSchema()&&"string"==typeof i)this.stringBuffer=i;else if(n.isBlobSchema())this.byteBuffer="byteLength"in i?i:(this.serdeContext?.base64Decoder??fromBase64)(i);else{this.buffer=this.writeStruct(n,i,void 0);let e=n.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(n.getName())}}flush(){if(void 0!==this.byteBuffer){let e=this.byteBuffer;return delete this.byteBuffer,e}if(void 0!==this.stringBuffer){let e=this.stringBuffer;return delete this.stringBuffer,e}let e=this.buffer;return this.settings.xmlNamespace&&!e?.attributes?.xmlns&&e.addAttribute("xmlns",this.settings.xmlNamespace),delete this.buffer,e.toString()}writeStruct(e,i,n){let t=e.getMergedTraits(),a=e.isMemberSchema()&&!t.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():t.xmlName??e.getName();if(!a||!e.isStructSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(!0)}.`);let r=fF.of(a),[o,u]=this.getXmlnsAttribute(e,n);for(let[n,t]of serializingStructIterator(e,i)){let e=i[n];if(null!=e||t.isIdempotencyToken()){if(t.getMergedTraits().xmlAttribute){r.addAttribute(t.getMergedTraits().xmlName??n,this.writeSimple(t,e));continue}if(t.isListSchema())this.writeList(t,e,r,u);else if(t.isMapSchema())this.writeMap(t,e,r,u);else if(t.isStructSchema())r.addChildNode(this.writeStruct(t,e,u));else{let i=fF.of(t.getMergedTraits().xmlName??t.getMemberName());this.writeSimpleInto(t,e,i,u),r.addChildNode(i)}}}let{$unknown:s}=i;if(s&&e.isUnionSchema()&&Array.isArray(s)&&1===Object.keys(i).length){let[e,n]=s,t=fF.of(e);if("string"!=typeof n)if(i instanceof fF||i instanceof fH)r.addChildNode(i);else throw Error("@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.");this.writeSimpleInto(0,n,t,u),r.addChildNode(t)}return u&&r.addAttribute(o,u),r}writeList(e,i,n,t){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let a=e.getMergedTraits(),r=e.getValueSchema(),o=r.getMergedTraits(),u=!!o.sparse,s=!!a.xmlFlattened,[l,h]=this.getXmlnsAttribute(e,t),writeItem=(i,n)=>{if(r.isListSchema())this.writeList(r,Array.isArray(n)?n:[n],i,h);else if(r.isMapSchema())this.writeMap(r,n,i,h);else if(r.isStructSchema()){let t=this.writeStruct(r,n,h);i.addChildNode(t.withName(s?a.xmlName??e.getMemberName():o.xmlName??"member"))}else{let t=fF.of(s?a.xmlName??e.getMemberName():o.xmlName??"member");this.writeSimpleInto(r,n,t,h),i.addChildNode(t)}};if(s)for(let e of i)(u||null!=e)&&writeItem(n,e);else{let t=fF.of(a.xmlName??e.getMemberName());for(let e of(h&&t.addAttribute(l,h),i))(u||null!=e)&&writeItem(t,e);n.addChildNode(t)}}writeMap(e,i,n,t,a=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let r=e.getMergedTraits(),o=e.getKeySchema(),u=o.getMergedTraits().xmlName??"key",s=e.getValueSchema(),l=s.getMergedTraits(),h=l.xmlName??"value",g=!!l.sparse,c=!!r.xmlFlattened,[d,p]=this.getXmlnsAttribute(e,t),addKeyValue=(e,i,n)=>{let t=fF.of(u,i),[a,r]=this.getXmlnsAttribute(o,p);r&&t.addAttribute(a,r),e.addChildNode(t);let l=fF.of(h);s.isListSchema()?this.writeList(s,n,l,p):s.isMapSchema()?this.writeMap(s,n,l,p,!0):s.isStructSchema()?l=this.writeStruct(s,n,p):this.writeSimpleInto(s,n,l,p),e.addChildNode(l)};if(c){for(let[t,a]of Object.entries(i))if(g||null!=a){let i=fF.of(r.xmlName??e.getMemberName());addKeyValue(i,t,a),n.addChildNode(i)}}else{let t;for(let[o,u]of(a||(t=fF.of(r.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),n.addChildNode(t)),Object.entries(i)))if(g||null!=u){let e=fF.of("entry");addKeyValue(e,o,u),(a?n:t).addChildNode(e)}}}writeSimple(e,i){if(null===i)throw Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let n=uX.of(e),t=null;if(i&&"object"==typeof i)if(n.isBlobSchema())t=(this.serdeContext?.base64Encoder??toBase64)(i);else if(n.isTimestampSchema()&&i instanceof Date)switch(determineTimestampFormat(n,this.settings)){case 5:t=i.toISOString().replace(".000Z","Z");break;case 6:t=dateToUtcString(i);break;case 7:t=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",i),t=dateToUtcString(i)}else if(n.isBigDecimalSchema()&&i)return i instanceof fS?i.string:String(i);else if(n.isMapSchema()||n.isListSchema())throw Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.");else throw Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${n.getName(!0)}`);if((n.isBooleanSchema()||n.isNumericSchema()||n.isBigIntegerSchema()||n.isBigDecimalSchema())&&(t=String(i)),n.isStringSchema()&&(t=void 0===i&&n.isIdempotencyToken()?v4():String(i)),null===t)throw Error(`Unhandled schema-value pair ${n.getName(!0)}=${i}`);return t}writeSimpleInto(e,i,n,t){let a=this.writeSimple(e,i),r=uX.of(e),o=new fH(a),[u,s]=this.getXmlnsAttribute(r,t);s&&n.addAttribute(u,s),n.addChildNode(o)}getXmlnsAttribute(e,i){let[n,t]=e.getMergedTraits().xmlNamespace??[];return t&&t!==i?[n?`xmlns:${n}`:"xmlns",t]:[void 0,void 0]}}class fI extends fT{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new fX(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new fB(this.settings);return e.setSerdeContext(this.serdeContext),e}}class fO extends p3{codec;serializer;deserializer;mixin=new fw;constructor(e){super(e);let i={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new fI(i),this.serializer=new fo(this.codec.createSerializer(),i),this.deserializer=new fC(this.codec.createDeserializer(),i)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,i,n){let t=await super.serializeRequest(e,i,n),a=uX.of(e.input);if(!t.headers["content-type"]){let e=this.mixin.resolveRestContentType(this.getDefaultContentType(),a);e&&(t.headers["content-type"]=e)}return"string"!=typeof t.body||t.headers["content-type"]!==this.getDefaultContentType()||t.body.startsWith("<?xml ")||this.hasUnstructuredPayloadBinding(a)||(t.body='<?xml version="1.0" encoding="UTF-8"?>'+t.body),t}async deserializeResponse(e,i,n){return super.deserializeResponse(e,i,n)}async handleError(e,i,n,t,a){let r=(t?.Error?.Code!==void 0?t.Error.Code:t?.Code!==void 0?t.Code:404==n.statusCode?"NotFound":void 0)??"Unknown",{errorSchema:o,errorMetadata:u}=await this.mixin.getErrorSchemaOrThrowBaseException(r,this.options.defaultNamespace,n,t,a),s=uX.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(uG.for(o[1]).getErrorCtor(o)??Error)(l);await this.deserializeHttpMessage(o,i,n,t);let g={};for(let[e,i]of s.structIterator()){let n=i.getMergedTraits().xmlName??e,a=t.Error?.[n]??t[n];g[e]=this.codec.createDeserializer().readSchema(i,a)}throw this.mixin.decorateServiceException(Object.assign(h,u,{$fault:s.getMergedTraits().error,message:l},g),t)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,i]of e.structIterator())if(i.getMergedTraits().httpPayload)return!(i.isStructSchema()||i.isMapSchema()||i.isListSchema());return!1}}let getAwsChunkedEncodingStream_getAwsChunkedEncodingStream=(e,i)=>{let{base64Encoder:n,bodyLengthChecker:t,checksumAlgorithmFn:a,checksumLocationName:r,streamHasher:o}=i,u=void 0!==n&&void 0!==a&&void 0!==r&&void 0!==o,s=u?o(a,e):void 0,l=new au.Readable({read:()=>{}});return e.on("data",e=>{let i=t(e)||0;l.push(`${i.toString(16)}\r
69
+ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return i}constructor(e){this.configProvider=new Promise((i,n)=>{"function"==typeof e?e().then(e=>{i(this.resolveDefaultConfig(e))}).catch(n):i(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){let{requestTimeout:i,connectionTimeout:n,socketTimeout:t,socketAcquisitionWarningTimeout:a,httpAgent:r,httpsAgent:o,throwOnRequestTimeout:u}=e||{};return{connectionTimeout:n,requestTimeout:i,socketTimeout:t,socketAcquisitionWarningTimeout:a,throwOnRequestTimeout:u,httpAgent:r instanceof B||"function"==typeof r?.destroy?(this.externalAgent=!0,r):new B({keepAlive:!0,maxSockets:50,...r}),httpsAgent:o instanceof F||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new F({keepAlive:!0,maxSockets:50,...o}),logger:console}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:i,requestTimeout:n}={}){return this.config||(this.config=await this.configProvider),new Promise((t,a)=>{let r,o,u=this.config,s=[],resolve=async e=>{await r,s.forEach(pF),t(e)},reject=async e=>{await r,s.forEach(pF),a(e)};if(i?.aborted){let e=Error("Request aborted");e.name="AbortError",reject(e);return}let l="https:"===e.protocol,h=e.headers??{},g=(h.Expect??h.expect)==="100-continue",c=l?u.httpsAgent:u.httpAgent;g&&!this.externalAgent&&(c=new(l?F:B)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=pI.checkSocketUsage(c,this.socketWarningTimestamp,u.logger)},u.socketAcquisitionWarningTimeout??(u.requestTimeout??2e3)+(u.connectionTimeout??1e3)));let d=buildQueryString(e.query||{});if(null!=e.username||null!=e.password){let i=e.username??"",n=e.password??"";o=`${i}:${n}`}let p=e.path;d&&(p+=`?${d}`),e.fragment&&(p+=`#${e.fragment}`);let f=e.hostname??"";f="["===f[0]&&f.endsWith("]")?e.hostname.slice(1,-1):e.hostname;let m={headers:e.headers,host:f,method:e.method,path:p,port:e.port,agent:c,auth:o},y=(l?X:H)(m,e=>{resolve({response:new tF({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:(e=>{let i={};for(let n of Object.keys(e)){let t=e[n];i[n]=Array.isArray(t)?t.join(","):t}return i})(e.headers),body:e})})});if(y.on("error",e=>{pH.includes(e.code)?reject(Object.assign(e,{name:"TimeoutError"})):reject(e)}),i){let onAbort=()=>{y.destroy();let e=Error("Request aborted");e.name="AbortError",reject(e)};"function"==typeof i.addEventListener?(i.addEventListener("abort",onAbort,{once:!0}),y.once("close",()=>i.removeEventListener("abort",onAbort))):i.onabort=onAbort}let S=n??u.requestTimeout;s.push(((e,i,n=0)=>{if(!n)return -1;let registerTimeout=t=>{let a=setTimeout(()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${n} ms.`),{name:"TimeoutError"}))},n-t),doWithSocket=e=>{e?.connecting?e.on("connect",()=>{pF(a)}):pF(a)};e.socket?doWithSocket(e.socket):e.on("socket",doWithSocket)};return n<2e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,1e3),1e3)})(y,reject,u.connectionTimeout)),s.push(((e,i,n=0,t,a)=>n?setTimeout(()=>{let r=`@smithy/node-http-handler - [${t?"ERROR":"WARN"}] a request has exceeded the configured ${n} ms requestTimeout.`;if(t){let n=Object.assign(Error(r),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(n),i(n)}else r+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(r)},n):-1)(y,reject,S,u.throwOnRequestTimeout,u.logger??console)),s.push(((e,i,n=0)=>{let registerTimeout=t=>{let a=n-t,onTimeout=()=>{e.destroy(),i(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${n} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};e.socket?(e.socket.setTimeout(a,onTimeout),e.on("close",()=>e.socket?.removeListener("timeout",onTimeout))):e.setTimeout(a,onTimeout)};return 0<n&&n<6e3?(registerTimeout(0),0):setTimeout(registerTimeout.bind(null,3e3*(0!==n)),3e3)})(y,reject,u.socketTimeout));let b=m.agent;"object"==typeof b&&"keepAlive"in b&&s.push(((e,{keepAlive:i,keepAliveMsecs:n},t=pX)=>{if(!0!==i)return -1;let registerListener=()=>{e.socket?e.socket.setKeepAlive(i,n||0):e.on("socket",e=>{e.setKeepAlive(i,n||0)})};return 0===t?(registerListener(),0):setTimeout(registerListener,t)})(y,{keepAlive:b.keepAlive,keepAliveMsecs:b.keepAliveMsecs})),r=writeRequestBody(y,e,S,this.externalAgent).catch(e=>(s.forEach(pF),a(e)))})}updateHttpClientConfig(e,i){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:i}))}httpHandlerConfigs(){return this.config??{}}}class pO extends al.Writable{bufferedBytes=[];_write(e,i,n){this.bufferedBytes.push(e),n()}}let streamCollector=e=>isReadableStreamInstance(e)?collectReadableStream(e):new Promise((i,n)=>{let t=new pO;e.pipe(t),e.on("error",e=>{t.end(),n(e)}),t.on("error",n),t.on("finish",function(){i(new Uint8Array(Buffer.concat(this.bufferedBytes)))})}),isReadableStreamInstance=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;async function collectReadableStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}let pQ=!1,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion=e=>{e&&!pQ&&16>parseInt(e.substring(1,e.indexOf(".")))&&(pQ=!0)},loadConfigsForDefaultMode=e=>{switch(e){case"standard":case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},pU=E("node:fs"),calculateBodyLength=e=>{if(!e)return 0;if("string"==typeof e)return Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(e instanceof pU.ReadStream){if(null!=e.path)return(0,pU.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,pU.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},pG="AWS_REGION",pq="AWS_DEFAULT_REGION",p$=["in-region","cross-region","mobile","standard","legacy"],pK={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},resolveDefaultsModeConfig=({region:e=loadConfig(pl),defaultsMode:i=loadConfig(pK)}={})=>memoize(async()=>{let n="function"==typeof i?await i():i;switch(n?.toLowerCase()){case"auto":return resolveNodeDefaultsModeAuto(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(n?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw Error(`Invalid parameter for "defaultsMode", expect ${p$.join(", ")}, got ${n}`)}}),resolveNodeDefaultsModeAuto=async e=>{if(e){let i="function"==typeof e?await e():e,n=await inferPhysicalRegion();return n?i===n?"in-region":"cross-region":"standard"}return"standard"},inferPhysicalRegion=async()=>{if(process.env.AWS_EXECUTION_ENV&&(process.env[pG]||process.env[pq]))return process.env[pG]??process.env[pq];if(!process.env.AWS_EC2_METADATA_DISABLED)try{let{getInstanceMetadataEndpoint:e,httpRequest:i}=await import("./1~398.mjs").then(e=>({getInstanceMetadataEndpoint:e.getInstanceMetadataEndpoint,httpRequest:e.httpRequest})),n=await e();return(await i({...n,path:"/latest/meta-data/placement/region"})).toString()}catch(e){}},getSkewCorrectedDate=e=>new Date(Date.now()+e),getDateHeader=e=>tF.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,getUpdatedSystemClockOffset=(e,i)=>{let n=Date.parse(e);return Math.abs(getSkewCorrectedDate(i).getTime()-n)>=3e5?n-Date.now():i},throwSigningPropertyError=(e,i)=>{if(!i)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return i},validateSigningProperties=async e=>{let i=throwSigningPropertyError("context",e.context),n=throwSigningPropertyError("config",e.config),t=i.endpointV2?.properties?.authSchemes?.[0],a=throwSigningPropertyError("signer",n.signer),r=await a(t),o=e?.signingRegion;return{config:n,signer:r,signingRegion:o,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class pz{async sign(e,i,n){if(!n6.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let t=await validateSigningProperties(n),{config:a,signer:r}=t,{signingRegion:o,signingName:u}=t,s=n.context;if(s?.authSchemes?.length){let[e,i]=s.authSchemes;e?.name==="sigv4a"&&i?.name==="sigv4"&&(o=i?.signingRegion??o,u=i?.signingName??u)}return await r.sign(e,{signingDate:getSkewCorrectedDate(a.systemClockOffset),signingRegion:o,signingService:u})}errorHandler(e){return i=>{let n=i.ServerTime??getDateHeader(i.$response);if(n){let t=throwSigningPropertyError("config",e.config),a=t.systemClockOffset;t.systemClockOffset=getUpdatedSystemClockOffset(n,t.systemClockOffset),t.systemClockOffset!==a&&i.$metadata&&(i.$metadata.clockSkewCorrected=!0)}throw i}}successHandler(e,i){let n=getDateHeader(e);if(n){let e=throwSigningPropertyError("config",i.config);e.systemClockOffset=getUpdatedSystemClockOffset(n,e.systemClockOffset)}}}class pW extends pz{async sign(e,i,n){if(!n6.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:t,signer:a,signingRegion:r,signingRegionSet:o,signingName:u}=await validateSigningProperties(n),s=(await t.sigv4aSigningRegionSet?.()??o??[r]).join(",");return await a.sign(e,{signingDate:getSkewCorrectedDate(t.systemClockOffset),signingRegion:s,signingService:u})}}function splitEvery(e,i,n){if(n<=0||!Number.isInteger(n))throw Error("Invalid number of delimiters ("+n+") for splitEvery.");let t=e.split(i);if(1===n)return t;let a=[],r="";for(let e=0;e<t.length;e++)""===r?r=t[e]:r+=i+t[e],(e+1)%n==0&&(a.push(r),r="");return""!==r&&a.push(r),a}let splitHeader=e=>{let i,n=e.length,t=[],a=!1,r=0;for(let o=0;o<n;++o){let n=e[o];switch(n){case'"':"\\"!==i&&(a=!a);break;case",":a||(t.push(e.slice(r,o)),r=o+1)}i=n}return t.push(e.slice(r)),t.map(e=>{let i=(e=e.trim()).length;return i<2?e:('"'===e[0]&&'"'===e[i-1]&&(e=e.slice(1,i-1)),e.replace(/\\"/g,'"'))})},pj=/^[A-Za-z0-9+/]*={0,2}$/,fromBase64=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!pj.exec(e))throw TypeError("Invalid base64 string.");let i=fromString(e,"base64");return new Uint8Array(i.buffer,i.byteOffset,i.byteLength)},stream_collector_streamCollector=async e=>"function"==typeof Blob&&e instanceof Blob||e.constructor?.name==="Blob"?void 0!==Blob.prototype.arrayBuffer?new Uint8Array(await e.arrayBuffer()):collectBlob(e):collectStream(e);async function collectBlob(e){return new Uint8Array(fromBase64(await readToBase64(e)))}async function collectStream(e){let i=[],n=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:r}=await n.read();r&&(i.push(r),a+=r.length),t=e}let r=new Uint8Array(a),o=0;for(let e of i)r.set(e,o),o+=e.length;return r}function readToBase64(e){return new Promise((i,n)=>{let t=new FileReader;t.onloadend=()=>{if(2!==t.readyState)return n(Error("Reader aborted too early"));let e=t.result??"",a=e.indexOf(","),r=a>-1?a+1:e.length;i(e.substring(r))},t.onabort=()=>n(Error("Read aborted")),t.onerror=()=>n(t.error),t.readAsDataURL(e)})}let toBase64=e=>{let i;if("object"!=typeof(i="string"==typeof e?fromUtf8_fromUtf8(e):e)||"number"!=typeof i.byteOffset||"number"!=typeof i.byteLength)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString("base64")},dist_es_toUtf8_toUtf8=e=>{if("string"==typeof e)return e;if("object"!=typeof e||"number"!=typeof e.byteOffset||"number"!=typeof e.byteLength)throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return dist_es_fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")},pV="The stream has already been transformed.",isBlobInstance=e=>"function"==typeof Blob&&e instanceof Blob,p0="The stream has already been transformed.",sdk_stream_mixin_sdkStreamMixin=e=>{if(!(e instanceof al.Readable))try{if(!isBlobInstance(e)&&!isReadableStream(e)){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(pV);return i=!0,await stream_collector_streamCollector(e)};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();if("base64"===e)return toBase64(i);if("hex"===e)return toHex(i);if(void 0===e||"utf8"===e||"utf-8"===e)return dist_es_toUtf8_toUtf8(i);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(i);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(i)throw Error(pV);if(i=!0,isBlobInstance(e)){if("function"!=typeof e.stream)throw Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body");return e.stream()}if(isReadableStream(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})}catch(n){let i=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${i}`)}let i=!1,transformToByteArray=async()=>{if(i)throw Error(p0);return i=!0,await streamCollector(e)};return Object.assign(e,{transformToByteArray,transformToString:async e=>{let i=await transformToByteArray();return void 0===e||Buffer.isEncoding(e)?dist_es_fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength).toString(e):new TextDecoder(e).decode(i)},transformToWebStream:()=>{if(i)throw Error(p0);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof al.Readable.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return i=!0,al.Readable.toWeb(e)}})};class p1 extends Uint8Array{static fromString(e,i="utf-8"){if("string"==typeof e)return"base64"===i?p1.mutate(fromBase64(e)):p1.mutate(fromUtf8_fromUtf8(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,p1.prototype),e}transformToString(e="utf-8"){return"base64"===e?toBase64(this):dist_es_toUtf8_toUtf8(this)}}let collect_stream_body_collectBody=async(e=new Uint8Array,i)=>{if(e instanceof Uint8Array)return p1.mutate(e);if(!e)return p1.mutate(new Uint8Array);let n=i.streamCollector(e);return p1.mutate(await n)};function extendedEncodeURIComponent(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class p3{serdeContext;setSerdeContext(e){this.serdeContext=e}}class p2 extends p3{options;constructor(e){super(),this.options=e}getRequestType(){return n6}getResponseType(){return tF}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,i){if(!("url"in i))return e.protocol=i.protocol,e.hostname=i.hostname,e.port=i.port?Number(i.port):void 0,e.path=i.path,e.query={...i.query},e;for(let[n,t]of(e.protocol=i.url.protocol,e.hostname=i.url.hostname,e.port=i.url.port?Number(i.url.port):void 0,e.path=i.url.pathname,e.fragment=i.url.hash||void 0,e.username=i.url.username||void 0,e.password=i.url.password||void 0,e.query||(e.query={}),i.url.searchParams.entries()))e.query[n]=t;return e}setHostPrefix(e,i,n){let t=uO.of(i.input),a=translateTraits(i.traits??{});if(a.endpoint){let i=a.endpoint?.[0];if("string"==typeof i){for(let[e]of[...t.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel)){let t=n[e];if("string"!=typeof t)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);i=i.replace(`{${e}}`,t)}e.hostname=i+e.hostname}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:i,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:i,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e}=await import("./1~815.mjs").then(e=>({EventStreamSerde:e.EventStreamSerde}));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,i,n,t,a){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class p4 extends p2{async serializeRequest(e,i,n){let t,a={...i??{}},r=this.serializer,o={},u={},s=await n.endpoint(),l=uO.of(e?.input),h=l.getSchema(),g=!1,c=new n6({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:o,headers:u,body:void 0});if(s){this.updateServiceEndpoint(c,s),this.setHostPrefix(c,e,a);let i=translateTraits(e.traits);if(i.http){c.method=i.http[0];let[e,n]=i.http[1].split("?");"/"==c.path?c.path=e:c.path+=e,Object.assign(o,Object.fromEntries(new URLSearchParams(n??"")))}}for(let[e,i]of l.structIterator()){let n=i.getMergedTraits()??{},s=a[e];if(null!=s||i.isIdempotencyToken())if(n.httpPayload)i.isStreaming()?i.isStructSchema()?a[e]&&(t=await this.serializeEventStream({eventStream:a[e],requestSchema:l})):t=s:(r.write(i,s),t=r.flush()),delete a[e];else if(n.httpLabel){r.write(i,s);let n=r.flush();c.path.includes(`{${e}+}`)?c.path=c.path.replace(`{${e}+}`,n.split("/").map(extendedEncodeURIComponent).join("/")):c.path.includes(`{${e}}`)&&(c.path=c.path.replace(`{${e}}`,extendedEncodeURIComponent(n))),delete a[e]}else if(n.httpHeader)r.write(i,s),u[n.httpHeader.toLowerCase()]=String(r.flush()),delete a[e];else if("string"==typeof n.httpPrefixHeaders){for(let[e,t]of Object.entries(s)){let a=n.httpPrefixHeaders+e;r.write([i.getValueSchema(),{httpHeader:a}],t),u[a.toLowerCase()]=r.flush()}delete a[e]}else n.httpQuery||n.httpQueryParams?(this.serializeQuery(i,s,o),delete a[e]):g=!0}return g&&a&&(r.write(h,a),t=r.flush()),c.headers=u,c.query=o,c.body=t,c}serializeQuery(e,i,n){let t=this.serializer,a=e.getMergedTraits();if(a.httpQueryParams){for(let[t,r]of Object.entries(i))if(!(t in n)){let i=e.getValueSchema();Object.assign(i.getMergedTraits(),{...a,httpQuery:t,httpQueryParams:void 0}),this.serializeQuery(i,r,n)}return}if(e.isListSchema()){let r=!!e.getMergedTraits().sparse,o=[];for(let n of i){t.write([e.getValueSchema(),a],n);let i=t.flush();(r||void 0!==i)&&o.push(i)}n[a.httpQuery]=o}else t.write([e,a],i),n[a.httpQuery]=t.flush()}async deserializeResponse(e,i,n){let t=this.deserializer,a=uO.of(e.output),r={};if(n.statusCode>=300){let a=await collect_stream_body_collectBody(n.body,i);throw a.byteLength>0&&Object.assign(r,await t.read(15,a)),await this.handleError(e,i,n,r,this.deserializeMetadata(n)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in n.headers){let i=n.headers[e];delete n.headers[e],n.headers[e.toLowerCase()]=i}let o=await this.deserializeHttpMessage(a,i,n,r);if(o.length){let e=await collect_stream_body_collectBody(n.body,i);if(e.byteLength>0){let i=await t.read(a,e);for(let e of o)r[e]=i[e]}}else o.discardResponseBody&&await collect_stream_body_collectBody(n.body,i);return r.$metadata=this.deserializeMetadata(n),r}async deserializeHttpMessage(e,i,n,t,a){let r;r=t instanceof Set?a:t;let o=!0,u=this.deserializer,s=uO.of(e),l=[];for(let[e,t]of s.structIterator()){let a=t.getMemberTraits();if(a.httpPayload){if(o=!1,t.isStreaming())t.isStructSchema()?r[e]=await this.deserializeEventStream({response:n,responseSchema:s}):r[e]=sdk_stream_mixin_sdkStreamMixin(n.body);else if(n.body){let a=await collect_stream_body_collectBody(n.body,i);a.byteLength>0&&(r[e]=await u.read(t,a))}}else if(a.httpHeader){let i=String(a.httpHeader).toLowerCase(),o=n.headers[i];if(null!=o)if(t.isListSchema()){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i;let a=[];for(let e of n.isTimestampSchema()&&4===n.getSchema()?splitEvery(o,",",2):splitHeader(o))a.push(await u.read(n,e.trim()));r[e]=a}else r[e]=await u.read(t,o)}else if(void 0!==a.httpPrefixHeaders){for(let[i,o]of(r[e]={},Object.entries(n.headers)))if(i.startsWith(a.httpPrefixHeaders)){let n=t.getValueSchema();n.getMergedTraits().httpHeader=i,r[e][i.slice(a.httpPrefixHeaders.length)]=await u.read(n,o)}}else a.httpResponseCode?r[e]=n.statusCode:l.push(e)}return l.discardResponseBody=o,l}}let expectNumber=e=>{if(null!=e){if("string"==typeof e){let i=parseFloat(e);if(!Number.isNaN(i))return String(i)!==String(e)&&p5.warn(stackTraceWarning(`Expected number but observed string: ${e}`)),i}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},p8=Math.ceil(17014118346046923e22*(2-11920928955078125e-23)),expectFloat32=e=>{let i=expectNumber(e);if(void 0!==i&&!Number.isNaN(i)&&i!==1/0&&i!==-1/0&&Math.abs(i)>p8)throw TypeError(`Expected 32-bit float, got ${e}`);return i},expectSizedInt=(e,i)=>{let n=(e=>{if(null!=e){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw TypeError(`Expected integer, got ${typeof e}: ${e}`)}})(e);if(void 0!==n&&castInt(n,i)!==n)throw TypeError(`Expected ${i}-bit integer, got ${e}`);return n},castInt=(e,i)=>{switch(i){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},p6=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,parseNumber=e=>{let i=e.match(p6);if(null===i||i[0].length!==e.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat(e)},strictParseShort=e=>"string"==typeof e?expectSizedInt(parseNumber(e),16):expectSizedInt(e,16),stackTraceWarning=e=>String(TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),p5={warn:console.warn},p7=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p9=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dateToUtcString(e){let i=e.getUTCFullYear(),n=e.getUTCMonth(),t=e.getUTCDay(),a=e.getUTCDate(),r=e.getUTCHours(),o=e.getUTCMinutes(),u=e.getUTCSeconds(),s=a<10?`0${a}`:`${a}`,l=r<10?`0${r}`:`${r}`,h=o<10?`0${o}`:`${o}`,g=u<10?`0${u}`:`${u}`;return`${p7[t]}, ${s} ${p9[n]} ${i} ${l}:${h}:${g} GMT`}let fe=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),parseRfc3339DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=fe.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l]=i;return buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l})},fi=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),parseRfc3339DateTimeWithOffset=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let i=fi.exec(e);if(!i)throw TypeError("Invalid RFC-3339 date-time value");let[n,t,a,r,o,u,s,l,h]=i,g=buildDate(strictParseShort(stripLeadingZeroes(t)),parseDateValue(a,"month",1,12),parseDateValue(r,"day",1,31),{hours:o,minutes:u,seconds:s,fractionalMilliseconds:l});return"Z"!=h.toUpperCase()&&g.setTime(g.getTime()-parseOffsetToMilliseconds(h)),g},ft=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$/),fa=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$/),fr=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})$/),parseRfc7231DateTime=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-7231 date-times must be expressed as strings");let i=ft.exec(e);if(i){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(a)),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s})}if(i=fa.exec(e)){let[e,n,t,a,r,o,u,s]=i;return adjustRfc850Year(buildDate(parseTwoDigitYear(a),parseMonthByShortName(t),parseDateValue(n,"day",1,31),{hours:r,minutes:o,seconds:u,fractionalMilliseconds:s}))}if(i=fr.exec(e)){let[e,n,t,a,r,o,u,s]=i;return buildDate(strictParseShort(stripLeadingZeroes(s)),parseMonthByShortName(n),parseDateValue(t.trimLeft(),"day",1,31),{hours:a,minutes:r,seconds:o,fractionalMilliseconds:u})}throw TypeError("Invalid RFC-7231 date-time value")},parseEpochTimestamp=e=>{let i;if(null!=e){if("number"==typeof e)i=e;else if("string"==typeof e)i="string"==typeof e?expectNumber(parseNumber(e)):expectNumber(e);else if("object"==typeof e&&1===e.tag)i=e.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(i)||i===1/0||i===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*i))}},buildDate=(e,i,n,t)=>{let a=i-1;return validateDayOfMonth(e,a,n),new Date(Date.UTC(e,a,n,parseDateValue(t.hours,"hour",0,23),parseDateValue(t.minutes,"minute",0,59),parseDateValue(t.seconds,"seconds",0,60),parseMilliseconds(t.fractionalMilliseconds)))},parseTwoDigitYear=e=>{let i=new Date().getUTCFullYear(),n=100*Math.floor(i/100)+strictParseShort(stripLeadingZeroes(e));return n<i?n+100:n},adjustRfc850Year=e=>e.getTime()-new Date().getTime()>15768e8?new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())):e,parseMonthByShortName=e=>{let i=p9.indexOf(e);if(i<0)throw TypeError(`Invalid month: ${e}`);return i+1},fo=[31,28,31,30,31,30,31,31,30,31,30,31],validateDayOfMonth=(e,i,n)=>{let t=fo[i];if(1===i&&isLeapYear(e)&&(t=29),n>t)throw TypeError(`Invalid day for ${p9[i]} in ${e}: ${n}`)},isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),parseDateValue=(e,i,n,t)=>{var a;let r="string"==typeof(a=stripLeadingZeroes(e))?expectSizedInt(parseNumber(a),8):expectSizedInt(a,8);if(r<n||r>t)throw TypeError(`${i} must be between ${n} and ${t}, inclusive`);return r},parseMilliseconds=e=>{var i;return null==e?0:1e3*("string"==typeof(i="0."+e)?expectFloat32(parseNumber(i)):expectFloat32(i))},parseOffsetToMilliseconds=e=>{let i=e[0],n=1;if("+"==i)n=1;else if("-"==i)n=-1;else throw TypeError(`Offset direction, ${i}, must be "+" or "-"`);return n*(60*Number(e.substring(1,3))+Number(e.substring(4,6)))*6e4},stripLeadingZeroes=e=>{let i=0;for(;i<e.length-1&&"0"===e.charAt(i);)i++;return 0===i?e:e.slice(i)};function quoteHeader(e){return(e.includes(",")||e.includes('"'))&&(e=`"${e.replace(/"/g,'\\"')}"`),e}let lazy_json_LazyJsonString=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};function determineTimestampFormat(e,i){if(i.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:n,httpPrefixHeaders:t,httpHeader:a,httpQuery:r}=e.getMergedTraits();return(i.httpBindings?"string"==typeof t||a?6:r||n?5:void 0:void 0)??i.timestampFormat.default}lazy_json_LazyJsonString.from=e=>e&&"object"==typeof e&&(e instanceof lazy_json_LazyJsonString||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?lazy_json_LazyJsonString(String(e)):lazy_json_LazyJsonString(JSON.stringify(e)),lazy_json_LazyJsonString.fromObject=lazy_json_LazyJsonString.from;class fu extends p3{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,i){let n=uO.of(e);switch(typeof i){case"object":if(null===i){this.stringBuffer="null";return}if(n.isTimestampSchema()){if(!(i instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${i} when schema expected Date in ${n.getName(!0)}`);switch(determineTimestampFormat(n,this.settings)){case 5:this.stringBuffer=i.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=dateToUtcString(i);break;case 7:this.stringBuffer=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",i),this.stringBuffer=String(i.getTime()/1e3)}return}if(n.isBlobSchema()&&"byteLength"in i){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(i);return}if(n.isListSchema()&&Array.isArray(i)){let e="";for(let t of i){this.write([n.getValueSchema(),n.getMergedTraits()],t);let i=this.flush();""!==e&&(e+=", "),e+=n.getValueSchema().isTimestampSchema()?i:quoteHeader(i)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(i,null,2);break;case"string":let t=n.getMergedTraits().mediaType,a=i;if(t&&(("application/json"===t||t.endsWith("+json"))&&(a=lazy_json_LazyJsonString.from(a)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??toBase64)(a.toString());return}this.stringBuffer=i;break;default:n.isIdempotencyToken()?this.stringBuffer=v4():this.stringBuffer=String(i)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class fs{codecSerializer;stringSerializer;buffer;constructor(e,i,n=new fu(i)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,i){let n=uO.of(e),t=n.getMergedTraits();if(t.httpHeader||t.httpLabel||t.httpQuery){this.stringSerializer.write(n,i),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,i)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}let fl="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",fh="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",fg="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",fc="(\\d?\\d)",fd="(\\d{4})",fp=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),ff=RegExp(`^${fl}, ${fc} ${fh} ${fd} ${fg} GMT$`),fm=RegExp(`^${fl}, ${fc}-${fh}-(\\d\\d) ${fg} GMT$`),fy=RegExp(`^${fl} ${fh} ( [1-9]|\\d\\d) ${fg} ${fd}$`),fS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function schema_date_utils_range(e,i,n){let t=Number(e);if(t<i||t>n)throw Error(`Value ${t} out of range [${i}, ${n}]`)}let fb=/^-?\d*(\.\d+)?$/;class fC{string;type;constructor(e,i){if(this.string=e,this.type=i,!fb.test(e))throw Error('@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".')}toString(){return this.string}static[Symbol.hasInstance](e){return!!e&&"object"==typeof e&&(fC.prototype.isPrototypeOf(e)||"bigDecimal"===e.type&&fb.test(e.string))}}class fw extends p3{settings;constructor(e){super(),this.settings=e}read(e,i){let n=uO.of(e);if(n.isListSchema())return splitHeader(i).map(e=>this.read(n.getValueSchema(),e));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??fromBase64)(i);if(n.isTimestampSchema())switch(determineTimestampFormat(n,this.settings)){case 5:return(e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let i=fp.exec(e);if(!i)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,n,t,a,r,o,u,,s,l]=i;schema_date_utils_range(t,1,12),schema_date_utils_range(a,1,31),schema_date_utils_range(r,0,23),schema_date_utils_range(o,0,59),schema_date_utils_range(u,0,60);let h=new Date(Date.UTC(Number(n),Number(t)-1,Number(a),Number(r),Number(o),Number(u),Number(s)?Math.round(1e3*parseFloat(`0.${s}`)):0));if(h.setUTCFullYear(Number(n)),"Z"!=l.toUpperCase()){let[,e,i,n]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0];h.setTime(h.getTime()+("-"===e?1:-1)*(60*Number(i)*6e4+60*Number(n)*1e3))}return h})(i);case 6:return(e=>{let i,n,t,a,r,o,u,s;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((s=ff.exec(e))?[,i,n,t,a,r,o,u]=s:(s=fm.exec(e))?([,i,n,t,a,r,o,u]=s,t=(Number(t)+1900).toString()):(s=fy.exec(e))&&([,n,i,a,r,o,u,t]=s),t&&o){let e=Date.UTC(Number(t),fS.indexOf(n),Number(i),Number(a),Number(r),Number(o),u?Math.round(1e3*parseFloat(`0.${u}`)):0);schema_date_utils_range(i,1,31),schema_date_utils_range(a,0,23),schema_date_utils_range(r,0,59),schema_date_utils_range(o,0,60);let s=new Date(e);return s.setUTCFullYear(Number(t)),s}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}})(i);case 7:if(null==i)return;let t=NaN;if("number"==typeof i)t=i;else if("string"==typeof i){if(!/^-?\d*\.?\d+$/.test(i))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(i)}else"object"==typeof i&&1===i.tag&&(t=i.value);if(isNaN(t)||Math.abs(t)===1/0)throw TypeError("Epoch timestamps must be valid finite numbers.");return new Date(Math.round(1e3*t));default:return console.warn("Missing timestamp format, parsing value with Date constructor:",i),new Date(i)}if(n.isStringSchema()){let e=n.getMergedTraits().mediaType,t=i;if(e)return n.getMergedTraits().httpHeader&&(t=this.base64ToUtf8(t)),("application/json"===e||e.endsWith("+json"))&&(t=lazy_json_LazyJsonString.from(t)),t}return n.isNumericSchema()?Number(i):n.isBigIntegerSchema()?BigInt(i):n.isBigDecimalSchema()?new fC(i,"bigDecimal"):n.isBooleanSchema()?"true"===String(i).toLowerCase():i}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)((this.serdeContext?.base64Decoder??fromBase64)(e))}}class fT extends p3{codecDeserializer;stringDeserializer;constructor(e,i){super(),this.codecDeserializer=e,this.stringDeserializer=new fw(i)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,i){let n=uO.of(e),t=n.getMergedTraits(),a=this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8;if(t.httpHeader||t.httpResponseCode)return this.stringDeserializer.read(n,a(i));if(t.httpPayload){if(n.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??fromUtf8_fromUtf8;return"string"==typeof i?e(i):i}else if(n.isStringSchema())return"byteLength"in i?a(i):i}return this.codecDeserializer.read(n,i)}}class fx{queryCompat;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,i){let n=i.getMemberSchemas(),t=Object.values(n).find(e=>!!e.getMergedTraits().httpPayload);if(t){let i=t.getMergedTraits().mediaType;return i?i:t.isStringSchema()?"text/plain":t.isBlobSchema()?"application/octet-stream":e}if(!i.isUnitSchema()&&Object.values(n).find(e=>{let{httpQuery:i,httpQueryParams:n,httpHeader:t,httpLabel:a,httpPrefixHeaders:r}=e.getMergedTraits();return!i&&!n&&!t&&!a&&void 0===r}))return e}async getErrorSchemaOrThrowBaseException(e,i,n,t,a,r){let o=i,u=e;e.includes("#")&&([o,u]=e.split("#"));let s={$metadata:a,$fault:n.statusCode<500?"client":"server"},l=u$.for(o);try{return{errorSchema:r?.(l,u)??l.getSchema(e),errorMetadata:s}}catch(n){t.message=t.message??t.Message??"UnknownError";let e=u$.for("smithy.ts.sdk.synthetic."+o),i=e.getBaseException();if(i){let n=e.getErrorCtor(i)??Error;throw this.decorateServiceException(Object.assign(new n({name:u}),s),t)}throw this.decorateServiceException(Object.assign(Error(u),s),t)}}decorateServiceException(e,i={}){if(this.queryCompat){let n=e.Message??i.Message,t=decorateServiceException(e,i);n&&(t.message=n),t.Error={...t.Error,Type:t.Error.Type,Code:t.Error.Code,Message:t.Error.message??t.Error.Message??n};let a=t.$metadata.requestId;return a&&(t.RequestId=a),t}return decorateServiceException(e,i)}setQueryCompatError(e,i){let n=i.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=n){let[i,t]=n.split(";"),a=Object.entries(e),r={Code:i,Type:t};for(let[i,n]of(Object.assign(e,r),a))r["message"===i?"Message":i]=n;delete r.__type,e.Error=r}}queryCompatOutput(e,i){e.Error&&(i.Error=e.Error),e.Type&&(i.Type=e.Type),e.Code&&(i.Code=e.Code)}findQueryCompatibleError(e,i){try{return e.getSchema(i)}catch(n){return e.find(e=>uO.of(e).getMergedTraits().awsQueryError?.[0]===i)}}}class fL{serdeContext;setSerdeContext(e){this.serdeContext=e}}let fE={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,i){return i},attributeValueProcessor:function(e,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,i,n){return e},captureMetaData:!1},f_=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",fY=RegExp("^"+("["+f_+"]["+f_)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function getAllMatches(e,i){let n=[],t=i.exec(e);for(;t;){let a=[];a.startIndex=i.lastIndex-t[0].length;let r=t.length;for(let e=0;e<r;e++)a.push(t[e]);n.push(a),t=i.exec(e)}return n}let isName=function(e){return null!=fY.exec(e)};function isExist(e){return void 0!==e}n="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class fD{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,i){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==i&&(this.child[this.child.length-1][n]={startIndex:i})}static getMetaDataSymbol(){return n}}function readDocType(e,i){let n={};if("O"===e[i+3]&&"C"===e[i+4]&&"T"===e[i+5]&&"Y"===e[i+6]&&"P"===e[i+7]&&"E"===e[i+8]){i+=9;let t=1,a=!1,r=!1;for(;i<e.length;i++)if("<"!==e[i]||r)if(">"===e[i]){if(r?"-"===e[i-1]&&"-"===e[i-2]&&(r=!1,t--):t--,0===t)break}else"["===e[i]?a=!0:e[i];else{if(a&&hasSeq(e,"!ENTITY",i)){let t,a;i+=7,[t,a,i]=readEntityExp(e,i+1),-1===a.indexOf("&")&&(n[t]={regx:RegExp(`&${t};`,"g"),val:a})}else if(a&&hasSeq(e,"!ELEMENT",i)){let{index:n}=readElementExp(e,(i+=8)+1);i=n}else if(a&&hasSeq(e,"!ATTLIST",i))i+=8;else if(a&&hasSeq(e,"!NOTATION",i)){let{index:n}=readNotationExp(e,(i+=9)+1);i=n}else if(hasSeq(e,"!--",i))r=!0;else throw Error("Invalid DOCTYPE");t++}if(0!==t)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:n,i}}let skipWhitespace=(e,i)=>{for(;i<e.length&&/\s/.test(e[i]);)i++;return i};function readEntityExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i])&&'"'!==e[i]&&"'"!==e[i];)n+=e[i],i++;if(validateEntityName(n),i=skipWhitespace(e,i),"SYSTEM"===e.substring(i,i+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[i])throw Error("Parameter entities are not supported");let t="";return[i,t]=readIdentifierVal(e,i,"entity"),[n,t,--i]}function readNotationExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;validateEntityName(n),i=skipWhitespace(e,i);let t=e.substring(i,i+6).toUpperCase();if("SYSTEM"!==t&&"PUBLIC"!==t)throw Error(`Expected SYSTEM or PUBLIC, found "${t}"`);i+=t.length,i=skipWhitespace(e,i);let a=null,r=null;if("PUBLIC"===t)[i,a]=readIdentifierVal(e,i,"publicIdentifier"),i=skipWhitespace(e,i),('"'===e[i]||"'"===e[i])&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"));else if("SYSTEM"===t&&([i,r]=readIdentifierVal(e,i,"systemIdentifier"),!r))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:n,publicIdentifier:a,systemIdentifier:r,index:--i}}function readIdentifierVal(e,i,n){let t="",a=e[i];if('"'!==a&&"'"!==a)throw Error(`Expected quoted string, found "${a}"`);for(i++;i<e.length&&e[i]!==a;)t+=e[i],i++;if(e[i]!==a)throw Error(`Unterminated ${n} value`);return[++i,t]}function readElementExp(e,i){i=skipWhitespace(e,i);let n="";for(;i<e.length&&!/\s/.test(e[i]);)n+=e[i],i++;if(!validateEntityName(n))throw Error(`Invalid element name: "${n}"`);i=skipWhitespace(e,i);let t="";if("E"===e[i]&&hasSeq(e,"MPTY",i))i+=4;else if("A"===e[i]&&hasSeq(e,"NY",i))i+=2;else if("("===e[i]){for(i++;i<e.length&&")"!==e[i];)t+=e[i],i++;if(")"!==e[i])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[i]}"`);return{elementName:n,contentModel:t.trim(),index:i}}function hasSeq(e,i,n){for(let t=0;t<i.length;t++)if(i[t]!==e[n+t+1])return!1;return!0}function validateEntityName(e){if(isName(e))return e;throw Error(`Invalid entity name ${e}`)}let fv=/^[-+]?0x[a-fA-F0-9]+$/,fA=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,fN={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function toNumber(e,i={}){if(i=Object.assign({},fN,i),!e||"string"!=typeof e)return e;let n=e.trim();if(void 0!==i.skipLike&&i.skipLike.test(n))return e;{if("0"===e)return 0;if(i.hex&&fv.test(n))return parse_int(n,16);if(n.includes("e")||n.includes("E"))return resolveEnotation(e,n,i);let t=fA.exec(n);if(!t)return e;{let a=t[1]||"",r=t[2],o=trimZeros(t[3]),u=a?"."===e[r.length+1]:"."===e[r.length];if(!i.leadingZeros&&(r.length>1||1===r.length&&!u))return e;{let t=Number(n),u=String(t);if(0===t)return t;if(-1!==u.search(/[eE]/))if(i.eNotation)return t;else return e;if(-1!==n.indexOf("."))if("0"===u)return t;else if(u===o)return t;else if(u===`${a}${o}`)return t;else return e;let s=r?o:n;return r?s===u||a+s===u?t:e:s===u||s===a+u?t:e}}}}let fP=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function resolveEnotation(e,i,n){if(!n.eNotation)return e;let t=i.match(fP);if(!t)return e;{let a=t[1]||"",r=-1===t[3].indexOf("e")?"E":"e",o=t[2],u=a?e[o.length+1]===r:e[o.length]===r;return o.length>1&&u?e:1===o.length&&(t[3].startsWith(`.${r}`)||t[3][0]===r)?Number(i):n.leadingZeros&&!u?Number(i=(t[1]||"")+t[3]):e}}function trimZeros(e){return e&&-1!==e.indexOf(".")&&("."===(e=e.replace(/0+$/,""))?e="0":"."===e[0]?e="0"+e:"."===e[e.length-1]&&(e=e.substring(0,e.length-1))),e}function parse_int(e,i){if(parseInt)return parseInt(e,i);if(Number.parseInt)return Number.parseInt(e,i);if(window&&window.parseInt)return window.parseInt(e,i);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}function getIgnoreAttributesFn(e){return"function"==typeof e?e:Array.isArray(e)?i=>{for(let n of e)if("string"==typeof n&&i===n||n instanceof RegExp&&n.test(i))return!0}:()=>!1}class fZ{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xa2"},pound:{regex:/&(pound|#163);/g,val:"\xa3"},yen:{regex:/&(yen|#165);/g,val:"\xa5"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"\xa9"},reg:{regex:/&(reg|#174);/g,val:"\xae"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,i)=>String.fromCodePoint(Number.parseInt(i,16))}},this.addExternalEntities=addExternalEntities,this.parseXml=parseXml,this.parseTextData=parseTextData,this.resolveNameSpace=resolveNameSpace,this.buildAttributesMap=buildAttributesMap,this.isItStopNode=isItStopNode,this.replaceEntitiesValue=replaceEntitiesValue,this.readStopNodeData=readStopNodeData,this.saveTextToParentTag=saveTextToParentTag,this.addChild=addChild,this.ignoreAttributesFn=getIgnoreAttributesFn(this.options.ignoreAttributes)}}function addExternalEntities(e){let i=Object.keys(e);for(let n=0;n<i.length;n++){let t=i[n];this.lastEntities[t]={regex:RegExp("&"+t+";","g"),val:e[t]}}}function parseTextData(e,i,n,t,a,r,o){if(void 0!==e&&(this.options.trimValues&&!t&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));let t=this.options.tagValueProcessor(i,e,n,a,r);return null==t?e:typeof t!=typeof e||t!==e?t:this.options.trimValues||e.trim()===e?parseValue(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function resolveNameSpace(e){if(this.options.removeNSPrefix){let i=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===i[0])return"";2===i.length&&(e=n+i[1])}return e}let fR=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function buildAttributesMap(e,i,n){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let n=getAllMatches(e,fR),t=n.length,a={};for(let e=0;e<t;e++){let t=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(t,i))continue;let r=n[e][4],o=this.options.attributeNamePrefix+t;if(t.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==r){this.options.trimValues&&(r=r.trim()),r=this.replaceEntitiesValue(r);let e=this.options.attributeValueProcessor(t,r,i);null==e?a[o]=r:typeof e!=typeof r||e!==r?a[o]=e:a[o]=parseValue(r,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(a[o]=!0)}if(Object.keys(a).length){if(this.options.attributesGroupName){let e={};return e[this.options.attributesGroupName]=a,e}return a}}}let parseXml=function(e){e=e.replace(/\r\n?/g,"\n");let i=new fD("!xml"),n=i,t="",a="";for(let r=0;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){let i=findClosingIndex(e,">",r,"Closing Tag is not closed."),o=e.substring(r+2,i).trim();if(this.options.removeNSPrefix){let e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),n&&(t=this.saveTextToParentTag(t,n,a));let u=a.substring(a.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw Error(`Unpaired tag can not be used as closing tag: </${o}>`);let s=0;u&&-1!==this.options.unpairedTags.indexOf(u)?(s=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=a.lastIndexOf("."),a=a.substring(0,s),n=this.tagsNodeStack.pop(),t="",r=i}else if("?"===e[r+1]){let i=readTagExp(e,r,!1,"?>");if(!i)throw Error("Pi Tag is not closed.");if(t=this.saveTextToParentTag(t,n,a),this.options.ignoreDeclaration&&"?xml"===i.tagName||this.options.ignorePiTags);else{let e=new fD(i.tagName);e.add(this.options.textNodeName,""),i.tagName!==i.tagExp&&i.attrExpPresent&&(e[":@"]=this.buildAttributesMap(i.tagExp,a,i.tagName)),this.addChild(n,e,a,r)}r=i.closeIndex+1}else if("!--"===e.substr(r+1,3)){let i=findClosingIndex(e,"--\x3e",r+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(r+4,i-2);t=this.saveTextToParentTag(t,n,a),n.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}r=i}else if("!D"===e.substr(r+1,2)){let i=readDocType(e,r);this.docTypeEntities=i.entities,r=i.i}else if("!["===e.substr(r+1,2)){let i=findClosingIndex(e,"]]>",r,"CDATA is not closed.")-2,o=e.substring(r+9,i);t=this.saveTextToParentTag(t,n,a);let u=this.parseTextData(o,n.tagname,a,!0,!1,!0,!0);void 0==u&&(u=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):n.add(this.options.textNodeName,u),r=i+2}else{let o=readTagExp(e,r,this.options.removeNSPrefix),u=o.tagName,s=o.rawTagName,l=o.tagExp,h=o.attrExpPresent,g=o.closeIndex;this.options.transformTagName&&(u=this.options.transformTagName(u)),n&&t&&"!xml"!==n.tagname&&(t=this.saveTextToParentTag(t,n,a,!1));let c=n;c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(n=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),u!==i.tagname&&(a+=a?"."+u:u);let d=r;if(this.isItStopNode(this.options.stopNodes,a,u)){let i="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),r=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(u))r=o.closeIndex;else{let n=this.readStopNodeData(e,s,g+1);if(!n)throw Error(`Unexpected end of ${s}`);r=n.i,i=n.tagContent}let t=new fD(u);u!==l&&h&&(t[":@"]=this.buildAttributesMap(l,a,u)),i&&(i=this.parseTextData(i,u,a,!0,h,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),t.add(this.options.textNodeName,i),this.addChild(n,t,a,d)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===u[u.length-1]?(u=u.substr(0,u.length-1),a=a.substr(0,a.length-1),l=u):l=l.substr(0,l.length-1),this.options.transformTagName&&(u=this.options.transformTagName(u));let e=new fD(u);u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),a=a.substr(0,a.lastIndexOf("."))}else{let e=new fD(u);this.tagsNodeStack.push(n),u!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,u)),this.addChild(n,e,a,d),n=e}t="",r=g}}else t+=e[r];return i.child};function addChild(e,i,n,t){this.options.captureMetaData||(t=void 0);let a=this.options.updateTag(i.tagname,n,i[":@"]);!1===a||("string"==typeof a&&(i.tagname=a),e.addChild(i,t))}let replaceEntitiesValue=function(e){if(this.options.processEntities){for(let i in this.docTypeEntities){let n=this.docTypeEntities[i];e=e.replace(n.regx,n.val)}for(let i in this.lastEntities){let n=this.lastEntities[i];e=e.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let i in this.htmlEntities){let n=this.htmlEntities[i];e=e.replace(n.regex,n.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function saveTextToParentTag(e,i,n,t){return e&&(void 0===t&&(t=0===i.child.length),void 0!==(e=this.parseTextData(e,i.tagname,n,!1,!!i[":@"]&&0!==Object.keys(i[":@"]).length,t))&&""!==e&&i.add(this.options.textNodeName,e),e=""),e}function isItStopNode(e,i,n){let t="*."+n;for(let n in e){let a=e[n];if(t===a||i===a)return!0}return!1}function tagExpWithClosingIndex(e,i,n=">"){let t,a="";for(let r=i;r<e.length;r++){let i=e[r];if(t)i===t&&(t="");else if('"'===i||"'"===i)t=i;else if(i===n[0]){if(!n[1])return{data:a,index:r};else if(e[r+1]===n[1])return{data:a,index:r}}else" "===i&&(i=" ");a+=i}}function findClosingIndex(e,i,n,t){let a=e.indexOf(i,n);if(-1!==a)return a+i.length-1;throw Error(t)}function readTagExp(e,i,n,t=">"){let a=tagExpWithClosingIndex(e,i+1,t);if(!a)return;let r=a.data,o=a.index,u=r.search(/\s/),s=r,l=!0;-1!==u&&(s=r.substring(0,u),r=r.substring(u+1).trimStart());let h=s;if(n){let e=s.indexOf(":");-1!==e&&(l=(s=s.substr(e+1))!==a.data.substr(e+1))}return{tagName:s,tagExp:r,closeIndex:o,attrExpPresent:l,rawTagName:h}}function readStopNodeData(e,i,n){let t=n,a=1;for(;n<e.length;n++)if("<"===e[n])if("/"===e[n+1]){let r=findClosingIndex(e,">",n,`${i} is not closed`);if(e.substring(n+2,r).trim()===i&&0==--a)return{tagContent:e.substring(t,n),i:r};n=r}else if("?"===e[n+1])n=findClosingIndex(e,"?>",n+1,"StopNode is not closed.");else if("!--"===e.substr(n+1,3))n=findClosingIndex(e,"--\x3e",n+3,"StopNode is not closed.");else if("!["===e.substr(n+1,2))n=findClosingIndex(e,"]]>",n,"StopNode is not closed.")-2;else{let t=readTagExp(e,n,">");t&&((t&&t.tagName)===i&&"/"!==t.tagExp[t.tagExp.length-1]&&a++,n=t.closeIndex)}}function parseValue(e,i,n){if(i&&"string"==typeof e){let i=e.trim();return"true"===i||"false"!==i&&toNumber(e,n)}return isExist(e)?e:""}let fM=fD.getMetaDataSymbol();function prettify(e,i){return compress(e,i)}function compress(e,i,n){let t,a={};for(let r=0;r<e.length;r++){let o=e[r],u=propName(o),s="";if(s=void 0===n?u:n+"."+u,u===i.textNodeName)void 0===t?t=o[u]:t+=""+o[u];else if(void 0===u)continue;else if(o[u]){let e=compress(o[u],i,s),n=isLeafTag(e,i);void 0!==o[fM]&&(e[fM]=o[fM]),o[":@"]?assignAttributes(e,o[":@"],s,i):1!==Object.keys(e).length||void 0===e[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(e).length&&(i.alwaysCreateTextNode?e[i.textNodeName]="":e=""):e=e[i.textNodeName],void 0!==a[u]&&a.hasOwnProperty(u)?(Array.isArray(a[u])||(a[u]=[a[u]]),a[u].push(e)):i.isArray(u,s,n)?a[u]=[e]:a[u]=e}}return"string"==typeof t?t.length>0&&(a[i.textNodeName]=t):void 0!==t&&(a[i.textNodeName]=t),a}function propName(e){let i=Object.keys(e);for(let e=0;e<i.length;e++){let n=i[e];if(":@"!==n)return n}}function assignAttributes(e,i,n,t){if(i){let a=Object.keys(i),r=a.length;for(let o=0;o<r;o++){let r=a[o];t.isArray(r,n+"."+r,!0,!0)?e[r]=[i[r]]:e[r]=i[r]}}}function isLeafTag(e,i){let{textNodeName:n}=i,t=Object.keys(e).length;return 0===t||1===t&&(!!e[n]||"boolean"==typeof e[n]||0===e[n])}let fJ={allowBooleanAttributes:!1,unpairedTags:[]};function validator_validate(e,i){i=Object.assign({},fJ,i);let n=[],t=!1,a=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let r=0;r<e.length;r++)if("<"===e[r]&&"?"===e[r+1]){if(r+=2,(r=readPI(e,r)).err)return r}else if("<"===e[r]){let o=r;if("!"===e[++r]){r=readCommentAndCDATA(e,r);continue}{let u=!1;"/"===e[r]&&(u=!0,r++);let s="";for(;r<e.length&&">"!==e[r]&&" "!==e[r]&&" "!==e[r]&&"\n"!==e[r]&&"\r"!==e[r];r++)s+=e[r];if("/"===(s=s.trim())[s.length-1]&&(s=s.substring(0,s.length-1),r--),!validateTagName(s))return getErrorObject("InvalidTag",0===s.trim().length?"Invalid space after '<'.":"Tag '"+s+"' is an invalid name.",getLineNumberForPosition(e,r));let l=readAttributeStr(e,r);if(!1===l)return getErrorObject("InvalidAttr","Attributes for '"+s+"' have open quote.",getLineNumberForPosition(e,r));let h=l.value;if(r=l.index,"/"===h[h.length-1]){let n=r-h.length,a=validateAttributeString(h=h.substring(0,h.length-1),i);if(!0!==a)return getErrorObject(a.err.code,a.err.msg,getLineNumberForPosition(e,n+a.err.line));t=!0}else if(u)if(!l.tagClosed)return getErrorObject("InvalidTag","Closing tag '"+s+"' doesn't have proper closing.",getLineNumberForPosition(e,r));else{if(h.trim().length>0)return getErrorObject("InvalidTag","Closing tag '"+s+"' can't have attributes or invalid starting.",getLineNumberForPosition(e,o));if(0===n.length)return getErrorObject("InvalidTag","Closing tag '"+s+"' has not been opened.",getLineNumberForPosition(e,o));let i=n.pop();if(s!==i.tagName){let n=getLineNumberForPosition(e,i.tagStartPos);return getErrorObject("InvalidTag","Expected closing tag '"+i.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+s+"'.",getLineNumberForPosition(e,o))}0==n.length&&(a=!0)}else{let u=validateAttributeString(h,i);if(!0!==u)return getErrorObject(u.err.code,u.err.msg,getLineNumberForPosition(e,r-h.length+u.err.line));if(!0===a)return getErrorObject("InvalidXml","Multiple possible root nodes found.",getLineNumberForPosition(e,r));-1!==i.unpairedTags.indexOf(s)||n.push({tagName:s,tagStartPos:o}),t=!0}for(r++;r<e.length;r++)if("<"===e[r])if("!"===e[r+1]){r=readCommentAndCDATA(e,++r);continue}else if("?"===e[r+1]){if((r=readPI(e,++r)).err)return r}else break;else if("&"===e[r]){let i=validateAmpersand(e,r);if(-1==i)return getErrorObject("InvalidChar","char '&' is not expected.",getLineNumberForPosition(e,r));r=i}else if(!0===a&&!isWhiteSpace(e[r]))return getErrorObject("InvalidXml","Extra text at the end",getLineNumberForPosition(e,r));"<"===e[r]&&r--}}else{if(isWhiteSpace(e[r]))continue;return getErrorObject("InvalidChar","char '"+e[r]+"' is not expected.",getLineNumberForPosition(e,r))}return t?1==n.length?getErrorObject("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",getLineNumberForPosition(e,n[0].tagStartPos)):!(n.length>0)||getErrorObject("InvalidXml","Invalid '"+JSON.stringify(n.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):getErrorObject("InvalidXml","Start tag expected.",1)}function isWhiteSpace(e){return" "===e||" "===e||"\n"===e||"\r"===e}function readPI(e,i){let n=i;for(;i<e.length;i++)if("?"==e[i]||" "==e[i]){let t=e.substr(n,i-n);if(i>5&&"xml"===t)return getErrorObject("InvalidXml","XML declaration allowed only at the start of the document.",getLineNumberForPosition(e,i));if("?"!=e[i]||">"!=e[i+1])continue;i++;break}return i}function readCommentAndCDATA(e,i){if(e.length>i+5&&"-"===e[i+1]&&"-"===e[i+2]){for(i+=3;i<e.length;i++)if("-"===e[i]&&"-"===e[i+1]&&">"===e[i+2]){i+=2;break}}else if(e.length>i+8&&"D"===e[i+1]&&"O"===e[i+2]&&"C"===e[i+3]&&"T"===e[i+4]&&"Y"===e[i+5]&&"P"===e[i+6]&&"E"===e[i+7]){let n=1;for(i+=8;i<e.length;i++)if("<"===e[i])n++;else if(">"===e[i]&&0==--n)break}else if(e.length>i+9&&"["===e[i+1]&&"C"===e[i+2]&&"D"===e[i+3]&&"A"===e[i+4]&&"T"===e[i+5]&&"A"===e[i+6]&&"["===e[i+7]){for(i+=8;i<e.length;i++)if("]"===e[i]&&"]"===e[i+1]&&">"===e[i+2]){i+=2;break}}return i}function readAttributeStr(e,i){let n="",t="",a=!1;for(;i<e.length;i++){if('"'===e[i]||"'"===e[i])""===t?t=e[i]:t!==e[i]||(t="");else if(">"===e[i]&&""===t){a=!0;break}n+=e[i]}return""===t&&{value:n,index:i,tagClosed:a}}let fk=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function validateAttributeString(e,i){let n=getAllMatches(e,fk),t={};for(let e=0;e<n.length;e++){if(0===n[e][1].length)return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' has no space in starting.",getPositionFromMatch(n[e]));if(void 0!==n[e][3]&&void 0===n[e][4])return getErrorObject("InvalidAttr","Attribute '"+n[e][2]+"' is without value.",getPositionFromMatch(n[e]));if(void 0===n[e][3]&&!i.allowBooleanAttributes)return getErrorObject("InvalidAttr","boolean attribute '"+n[e][2]+"' is not allowed.",getPositionFromMatch(n[e]));let a=n[e][2];if(!validateAttrName(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is an invalid name.",getPositionFromMatch(n[e]));if(t.hasOwnProperty(a))return getErrorObject("InvalidAttr","Attribute '"+a+"' is repeated.",getPositionFromMatch(n[e]));t[a]=1}return!0}function validateNumberAmpersand(e,i){let n=/\d/;for("x"===e[i]&&(i++,n=/[\da-fA-F]/);i<e.length;i++){if(";"===e[i])return i;if(!e[i].match(n))break}return -1}function validateAmpersand(e,i){if(";"===e[++i])return -1;if("#"===e[i])return validateNumberAmpersand(e,++i);let n=0;for(;i<e.length;i++,n++)if(!e[i].match(/\w/)||!(n<20)){if(";"===e[i])break;return -1}return i}function getErrorObject(e,i,n){return{err:{code:e,msg:i,line:n.line||n,col:n.col}}}function validateAttrName(e){return isName(e)}function validateTagName(e){return isName(e)}function getLineNumberForPosition(e,i){let n=e.substring(0,i).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function getPositionFromMatch(e){return e.startIndex+e[1].length}let fB=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},fE,e)}parse(e,i){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(i){!0===i&&(i={});let n=validator_validate(e,i);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let n=new fZ(this.options);n.addExternalEntities(this.externalEntities);let t=n.parseXml(e);return this.options.preserveOrder||void 0===t?t:prettify(t,this.options)}addEntity(e,i){if(-1!==i.indexOf("&"))throw Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===i)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return fD.getMetaDataSymbol()}}({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(e,i)=>""===i.trim()&&i.includes("\n")?"":void 0});function xml_parser_parseXML(e){return fB.parse(e,!0)}fB.addEntity("#xD","\r"),fB.addEntity("#10","\n");let get_value_from_text_node_getValueFromTextNode=e=>{let i="#text";for(let n in e)e.hasOwnProperty(n)&&void 0!==e[n][i]?e[n]=e[n][i]:"object"==typeof e[n]&&null!==e[n]&&(e[n]=get_value_from_text_node_getValueFromTextNode(e[n]));return e};class fH{from;to;keys;constructor(e,i){this.from=e,this.to=i,this.keys=new Set(Object.keys(this.from).filter(e=>"__type"!==e))}mark(e){this.keys.delete(e)}hasUnknown(){return 1===this.keys.size&&0===Object.keys(this.to).length}writeUnknown(){if(this.hasUnknown()){let e=this.keys.values().next().value,i=this.from[e];this.to.$unknown=[e,i]}}}class fF extends fL{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new fw(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,i,n){let t=uO.of(e),a=t.getMemberSchemas();if(t.isStructSchema()&&t.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},n=Object.keys(a)[0];return a[n].isBlobSchema()?e[n]=i:e[n]=this.read(a[n],i),e}let r=(this.serdeContext?.utf8Encoder??dist_es_toUtf8_toUtf8)(i),o=this.parseXml(r);return this.readSchema(e,n?o[n]:o)}readSchema(e,i){let n=uO.of(e);if(n.isUnitSchema())return;let t=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(i))return this.readSchema(n,[i]);if(null==i)return i;if("object"==typeof i){let e=!!t.sparse,a=!!t.xmlFlattened;if(n.isListSchema()){let t=n.getValueSchema(),r=[],o=t.getMergedTraits().xmlName??"member",u=a?i:(i[0]??i)[o];for(let i of Array.isArray(u)?u:[u])(null!=i||e)&&r.push(this.readSchema(t,i));return r}let r={};if(n.isMapSchema()){let t,o=n.getKeySchema(),u=n.getValueSchema();t=a?Array.isArray(i)?i:[i]:Array.isArray(i.entry)?i.entry:[i.entry];let s=o.getMergedTraits().xmlName??"key",l=u.getMergedTraits().xmlName??"value";for(let i of t){let n=i[s],t=i[l];(null!=t||e)&&(r[n]=this.readSchema(u,t))}return r}if(n.isStructSchema()){let e,t=n.isUnionSchema();for(let[a,o]of(t&&(e=new fH(i,r)),n.structIterator())){let n=o.getMergedTraits(),u=n.httpPayload?n.xmlName??o.getName():o.getMemberTraits().xmlName??a;t&&e.mark(u),null!=i[u]&&(r[a]=this.readSchema(o,i[u]))}return t&&e.writeUnknown(),r}if(n.isDocumentSchema())return i;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(!0)}`)}return n.isListSchema()?[]:n.isMapSchema()||n.isStructSchema()?{}:this.stringDeserializer.read(n,i)}parseXml(e){if(e.length){let i;try{i=xml_parser_parseXML(e)}catch(i){throw i&&"object"==typeof i&&Object.defineProperty(i,"$responseBodyText",{value:e}),i}let n="#text",t=Object.keys(i)[0],a=i[t];return a[n]&&(a[t]=a[n],delete a[n]),get_value_from_text_node_getValueFromTextNode(a)}return{}}}function escapeAttribute(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function escapeElement(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#x0D;").replace(/\n/g,"&#x0A;").replace(/\u0085/g,"&#x85;").replace(/\u2028/,"&#x2028;")}class fX{value;constructor(e){this.value=e}toString(){return escapeElement(""+this.value)}}class fI{name;children;attributes={};static of(e,i,n){let t=new fI(e);return void 0!==i&&t.addChildNode(new fX(i)),void 0!==n&&t.withName(n),t}constructor(e,i=[]){this.name=e,this.children=i}withName(e){return this.name=e,this}addAttribute(e,i){return this.attributes[e]=i,this}addChildNode(e){return this.children.push(e),this}removeAttribute(e){return delete this.attributes[e],this}n(e){return this.name=e,this}c(e){return this.children.push(e),this}a(e,i){return null!=i&&(this.attributes[e]=i),this}cc(e,i,n=i){if(null!=e[i]){let t=fI.of(i,e[i]).withName(n);this.c(t)}}l(e,i,n,t){null!=e[i]&&t().map(e=>{e.withName(n),this.c(e)})}lc(e,i,n,t){if(null!=e[i]){let e=t(),i=new fI(n);e.map(e=>{i.c(e)}),this.c(i)}}toString(){let e=!!this.children.length,i=`<${this.name}`,n=this.attributes;for(let e of Object.keys(n)){let t=n[e];null!=t&&(i+=` ${e}="${escapeAttribute(""+t)}"`)}return i+(e?`>${this.children.map(e=>e.toString()).join("")}</${this.name}>`:"/>")}}function*serializingStructIterator(e,i){if(e.isUnitSchema())return;let n=e.getSchema();for(let e=0;e<n[4].length;++e){let t=n[4][e],a=new uO([n[5][e],0],t);(t in i||a.isIdempotencyToken())&&(yield[t,a])}}function*deserializingStructIterator(e,i,n){if(e.isUnitSchema())return;let t=e.getSchema(),a=Object.keys(i).filter(e=>"__type"!==e).length;for(let e=0;e<t[4].length&&0!==a;++e){let r=t[4][e],o=new uO([t[5][e],0],r),u=r;n&&(u=o.getMergedTraits()[n]??r),u in i&&(yield[r,o],a-=1)}}class fO extends fL{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,i){let n=uO.of(e);if(n.isStringSchema()&&"string"==typeof i)this.stringBuffer=i;else if(n.isBlobSchema())this.byteBuffer="byteLength"in i?i:(this.serdeContext?.base64Decoder??fromBase64)(i);else{this.buffer=this.writeStruct(n,i,void 0);let e=n.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(n.getName())}}flush(){if(void 0!==this.byteBuffer){let e=this.byteBuffer;return delete this.byteBuffer,e}if(void 0!==this.stringBuffer){let e=this.stringBuffer;return delete this.stringBuffer,e}let e=this.buffer;return this.settings.xmlNamespace&&!e?.attributes?.xmlns&&e.addAttribute("xmlns",this.settings.xmlNamespace),delete this.buffer,e.toString()}writeStruct(e,i,n){let t=e.getMergedTraits(),a=e.isMemberSchema()&&!t.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():t.xmlName??e.getName();if(!a||!e.isStructSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(!0)}.`);let r=fI.of(a),[o,u]=this.getXmlnsAttribute(e,n);for(let[n,t]of serializingStructIterator(e,i)){let e=i[n];if(null!=e||t.isIdempotencyToken()){if(t.getMergedTraits().xmlAttribute){r.addAttribute(t.getMergedTraits().xmlName??n,this.writeSimple(t,e));continue}if(t.isListSchema())this.writeList(t,e,r,u);else if(t.isMapSchema())this.writeMap(t,e,r,u);else if(t.isStructSchema())r.addChildNode(this.writeStruct(t,e,u));else{let i=fI.of(t.getMergedTraits().xmlName??t.getMemberName());this.writeSimpleInto(t,e,i,u),r.addChildNode(i)}}}let{$unknown:s}=i;if(s&&e.isUnionSchema()&&Array.isArray(s)&&1===Object.keys(i).length){let[e,n]=s,t=fI.of(e);if("string"!=typeof n)if(i instanceof fI||i instanceof fX)r.addChildNode(i);else throw Error("@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.");this.writeSimpleInto(0,n,t,u),r.addChildNode(t)}return u&&r.addAttribute(o,u),r}writeList(e,i,n,t){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let a=e.getMergedTraits(),r=e.getValueSchema(),o=r.getMergedTraits(),u=!!o.sparse,s=!!a.xmlFlattened,[l,h]=this.getXmlnsAttribute(e,t),writeItem=(i,n)=>{if(r.isListSchema())this.writeList(r,Array.isArray(n)?n:[n],i,h);else if(r.isMapSchema())this.writeMap(r,n,i,h);else if(r.isStructSchema()){let t=this.writeStruct(r,n,h);i.addChildNode(t.withName(s?a.xmlName??e.getMemberName():o.xmlName??"member"))}else{let t=fI.of(s?a.xmlName??e.getMemberName():o.xmlName??"member");this.writeSimpleInto(r,n,t,h),i.addChildNode(t)}};if(s)for(let e of i)(u||null!=e)&&writeItem(n,e);else{let t=fI.of(a.xmlName??e.getMemberName());for(let e of(h&&t.addAttribute(l,h),i))(u||null!=e)&&writeItem(t,e);n.addChildNode(t)}}writeMap(e,i,n,t,a=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let r=e.getMergedTraits(),o=e.getKeySchema(),u=o.getMergedTraits().xmlName??"key",s=e.getValueSchema(),l=s.getMergedTraits(),h=l.xmlName??"value",g=!!l.sparse,c=!!r.xmlFlattened,[d,p]=this.getXmlnsAttribute(e,t),addKeyValue=(e,i,n)=>{let t=fI.of(u,i),[a,r]=this.getXmlnsAttribute(o,p);r&&t.addAttribute(a,r),e.addChildNode(t);let l=fI.of(h);s.isListSchema()?this.writeList(s,n,l,p):s.isMapSchema()?this.writeMap(s,n,l,p,!0):s.isStructSchema()?l=this.writeStruct(s,n,p):this.writeSimpleInto(s,n,l,p),e.addChildNode(l)};if(c){for(let[t,a]of Object.entries(i))if(g||null!=a){let i=fI.of(r.xmlName??e.getMemberName());addKeyValue(i,t,a),n.addChildNode(i)}}else{let t;for(let[o,u]of(a||(t=fI.of(r.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),n.addChildNode(t)),Object.entries(i)))if(g||null!=u){let e=fI.of("entry");addKeyValue(e,o,u),(a?n:t).addChildNode(e)}}}writeSimple(e,i){if(null===i)throw Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let n=uO.of(e),t=null;if(i&&"object"==typeof i)if(n.isBlobSchema())t=(this.serdeContext?.base64Encoder??toBase64)(i);else if(n.isTimestampSchema()&&i instanceof Date)switch(determineTimestampFormat(n,this.settings)){case 5:t=i.toISOString().replace(".000Z","Z");break;case 6:t=dateToUtcString(i);break;case 7:t=String(i.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",i),t=dateToUtcString(i)}else if(n.isBigDecimalSchema()&&i)return i instanceof fC?i.string:String(i);else if(n.isMapSchema()||n.isListSchema())throw Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.");else throw Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${n.getName(!0)}`);if((n.isBooleanSchema()||n.isNumericSchema()||n.isBigIntegerSchema()||n.isBigDecimalSchema())&&(t=String(i)),n.isStringSchema()&&(t=void 0===i&&n.isIdempotencyToken()?v4():String(i)),null===t)throw Error(`Unhandled schema-value pair ${n.getName(!0)}=${i}`);return t}writeSimpleInto(e,i,n,t){let a=this.writeSimple(e,i),r=uO.of(e),o=new fX(a),[u,s]=this.getXmlnsAttribute(r,t);s&&n.addAttribute(u,s),n.addChildNode(o)}getXmlnsAttribute(e,i){let[n,t]=e.getMergedTraits().xmlNamespace??[];return t&&t!==i?[n?`xmlns:${n}`:"xmlns",t]:[void 0,void 0]}}class fQ extends fL{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new fO(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new fF(this.settings);return e.setSerdeContext(this.serdeContext),e}}class fU extends p4{codec;serializer;deserializer;mixin=new fx;constructor(e){super(e);let i={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new fQ(i),this.serializer=new fs(this.codec.createSerializer(),i),this.deserializer=new fT(this.codec.createDeserializer(),i)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,i,n){let t=await super.serializeRequest(e,i,n),a=uO.of(e.input);if(!t.headers["content-type"]){let e=this.mixin.resolveRestContentType(this.getDefaultContentType(),a);e&&(t.headers["content-type"]=e)}return"string"!=typeof t.body||t.headers["content-type"]!==this.getDefaultContentType()||t.body.startsWith("<?xml ")||this.hasUnstructuredPayloadBinding(a)||(t.body='<?xml version="1.0" encoding="UTF-8"?>'+t.body),t}async deserializeResponse(e,i,n){return super.deserializeResponse(e,i,n)}async handleError(e,i,n,t,a){let r=(t?.Error?.Code!==void 0?t.Error.Code:t?.Code!==void 0?t.Code:404==n.statusCode?"NotFound":void 0)??"Unknown",{errorSchema:o,errorMetadata:u}=await this.mixin.getErrorSchemaOrThrowBaseException(r,this.options.defaultNamespace,n,t,a),s=uO.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(u$.for(o[1]).getErrorCtor(o)??Error)(l);await this.deserializeHttpMessage(o,i,n,t);let g={};for(let[e,i]of s.structIterator()){let n=i.getMergedTraits().xmlName??e,a=t.Error?.[n]??t[n];g[e]=this.codec.createDeserializer().readSchema(i,a)}throw this.mixin.decorateServiceException(Object.assign(h,u,{$fault:s.getMergedTraits().error,message:l},g),t)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,i]of e.structIterator())if(i.getMergedTraits().httpPayload)return!(i.isStructSchema()||i.isMapSchema()||i.isListSchema());return!1}}let getAwsChunkedEncodingStream_getAwsChunkedEncodingStream=(e,i)=>{let{base64Encoder:n,bodyLengthChecker:t,checksumAlgorithmFn:a,checksumLocationName:r,streamHasher:o}=i,u=void 0!==n&&void 0!==a&&void 0!==r&&void 0!==o,s=u?o(a,e):void 0,l=new al.Readable({read:()=>{}});return e.on("data",e=>{let i=t(e)||0;l.push(`${i.toString(16)}\r
70
70
  `),l.push(e),l.push("\r\n")}),e.on("end",async()=>{if(l.push(`0\r
71
71
  `),u){let e=n(await s);l.push(`${r}:${e}\r
72
72
  `),l.push(`\r
73
- `)}l.push(null)}),l},getAwsRegionExtensionConfiguration=e=>({setRegion(i){e.region=i},region:()=>e.region}),resolveAwsRegionExtensionConfiguration=e=>({region:e.region()}),getHttpHandlerExtensionConfiguration=e=>({setHttpHandler(i){e.httpHandler=i},httpHandler:()=>e.httpHandler,updateHttpClientConfig(i,n){e.httpHandler?.updateHttpClientConfig(i,n)},httpHandlerConfigs:()=>e.httpHandler.httpHandlerConfigs()}),resolveHttpHandlerRuntimeConfig=e=>({httpHandler:e.httpHandler()});(en=ep||(ep={})).MD5="md5",en.CRC32="crc32",en.CRC32C="crc32c",en.SHA1="sha1",en.SHA256="sha256";let getDefaultExtensionConfiguration=e=>Object.assign((e=>{let i=[];for(let n in ep){let t=ep[n];void 0!==e[t]&&i.push({algorithmId:()=>t,checksumConstructor:()=>e[t]})}return{addChecksumAlgorithm(e){i.push(e)},checksumAlgorithms:()=>i}})(e),{setRetryStrategy(i){e.retryStrategy=i},retryStrategy:()=>e.retryStrategy}),resolveDefaultRuntimeConfig=e=>{let i,n;return Object.assign((i={},e.checksumAlgorithms().forEach(e=>{i[e.algorithmId()]=e.checksumConstructor()}),i),((n={}).retryStrategy=e.retryStrategy(),n))};class fQ extends ag{config;constructor(...[e]){var i,n,t,a,r;let o,u,s,l,h,g,c,d,p,f,m,y,S,b,C=(i=e||{},emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion(process.version),o=resolveDefaultsModeConfig(i),u=()=>o().then(loadConfigsForDefaultMode),s={apiVersion:"2006-03-01",base64Decoder:i?.base64Decoder??fromBase64,base64Encoder:i?.base64Encoder??toBase64,disableHostPrefix:i?.disableHostPrefix??!1,endpointProvider:i?.endpointProvider??endpointResolver_defaultEndpointResolver,extensions:i?.extensions??[],getAwsChunkedEncodingStream:i?.getAwsChunkedEncodingStream??getAwsChunkedEncodingStream_getAwsChunkedEncodingStream,httpAuthSchemeProvider:i?.httpAuthSchemeProvider??uJ,httpAuthSchemes:i?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new p$},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new pK}],logger:i?.logger??new at,protocol:i?.protocol??fO,protocolSettings:i?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:i?.sdkStreamMixin??sdk_stream_mixin_sdkStreamMixin,serviceId:i?.serviceId??"S3",signerConstructor:i?.signerConstructor??aB,signingEscapePath:i?.signingEscapePath??!1,urlParser:i?.urlParser??dist_es_parseUrl,useArnRegion:i?.useArnRegion??void 0,utf8Decoder:i?.utf8Decoder??fromUtf8_fromUtf8,utf8Encoder:i?.utf8Encoder??dist_es_toUtf8_toUtf8},emitWarningIfUnsupportedVersion(process.version),l={profile:i?.profile,logger:s.logger},{...s,...i,runtime:"node",defaultsMode:o,authSchemePreference:i?.authSchemePreference??loadConfig(d7,l),bodyLengthChecker:i?.bodyLengthChecker??calculateBodyLength,credentialDefaultProvider:i?.credentialDefaultProvider??defaultProvider,defaultUserAgentProvider:i?.defaultUserAgentProvider??createDefaultUserAgentProvider({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:i?.disableS3ExpressSessionAuth??loadConfig(tb,l),eventStreamSerdeProvider:i?.eventStreamSerdeProvider??eventStreamSerdeProvider,maxAttempts:i?.maxAttempts??loadConfig(ai,i),md5:i?.md5??pM.bind(null,"md5"),region:i?.region??loadConfig(pu,{...ps,...l}),requestChecksumCalculation:i?.requestChecksumCalculation??loadConfig(pa,l),requestHandler:pF.create(i?.requestHandler??u),responseChecksumValidation:i?.responseChecksumValidation??loadConfig(pr,l),retryMode:i?.retryMode??loadConfig({...an,default:async()=>(await u()).retryMode||t0},i),sha1:i?.sha1??pM.bind(null,"sha1"),sha256:i?.sha256??pM.bind(null,"sha256"),sigv4aSigningRegionSet:i?.sigv4aSigningRegionSet??loadConfig(aJ,l),streamCollector:i?.streamCollector??streamCollector,streamHasher:i?.streamHasher??readableStreamHasher,useArnRegion:i?.useArnRegion??loadConfig(pt,l),useDualstackEndpoint:i?.useDualstackEndpoint??loadConfig(pl,l),useFipsEndpoint:i?.useFipsEndpoint??loadConfig(ph,l),userAgentAppId:i?.userAgentAppId??loadConfig(po,l)});super(C),this.initConfig=C;let w=(a=((e,{session:i})=>{let[n,t]=i,{forcePathStyle:a,useAccelerateEndpoint:r,disableMultiregionAccessPoints:o,followRegionRedirects:u,s3ExpressIdentityProvider:s,bucketEndpoint:l,expectContinueHeader:h}=e;return Object.assign(e,{forcePathStyle:a??!1,useAccelerateEndpoint:r??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:u??!1,s3ExpressIdentityProvider:s??new tc(async e=>n().send(new t({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:h??2097152})})(Object.assign(((t=resolveAwsSdkSigV4Config(n=Object.assign(h=resolveEndpointConfig(resolveHostHeaderConfig(resolveRegionConfig(resolveRetryConfig((e=>{let{requestChecksumCalculation:i,responseChecksumValidation:n,requestStreamBufferSize:t}=e;return Object.assign(e,{requestChecksumCalculation:normalizeProvider(i??n5),responseChecksumValidation:normalizeProvider(n??n9),requestStreamBufferSize:Number(t??0)})})(resolveUserAgentConfig(Object.assign(C,{useFipsEndpoint:C.useFipsEndpoint??!1,useDualstackEndpoint:C.useDualstackEndpoint??!1,forcePathStyle:C.forcePathStyle??!1,useAccelerateEndpoint:C.useAccelerateEndpoint??!1,useGlobalEndpoint:C.useGlobalEndpoint??!1,disableMultiregionAccessPoints:C.disableMultiregionAccessPoints??!1,defaultSigningName:"s3",clientContextParams:C.clientContextParams??{}}))))))),{eventStreamMarshaller:h.eventStreamSerdeProvider(h)}))).sigv4aSigningRegionSet=normalizeProvider_normalizeProvider(t.sigv4aSigningRegionSet),t),{authSchemePreference:normalizeProvider(n.authSchemePreference??[])}),{session:[()=>this,d4]}),r=e?.extensions||[],p=Object.assign(getAwsRegionExtensionConfiguration(a),getDefaultExtensionConfiguration(a),getHttpHandlerExtensionConfiguration(a),(g=a.httpAuthSchemes,c=a.httpAuthSchemeProvider,d=a.credentials,{setHttpAuthScheme(e){let i=g.findIndex(i=>i.schemeId===e.schemeId);-1===i?g.push(e):g.splice(i,1,e)},httpAuthSchemes:()=>g,setHttpAuthSchemeProvider(e){c=e},httpAuthSchemeProvider:()=>c,setCredentials(e){d=e},credentials:()=>d})),r.forEach(e=>e.configure(p)),Object.assign(a,resolveAwsRegionExtensionConfiguration(p),resolveDefaultRuntimeConfig(p),resolveHttpHandlerRuntimeConfig(p),{httpAuthSchemes:p.httpAuthSchemes(),httpAuthSchemeProvider:p.httpAuthSchemeProvider(),credentials:p.credentials()}));this.config=w,this.middlewareStack.use(getSchemaSerdePlugin(this.config)),this.middlewareStack.use(getUserAgentPlugin(this.config)),this.middlewareStack.use(getRetryPlugin(this.config)),this.middlewareStack.use(getContentLengthPlugin(this.config)),this.middlewareStack.use(getHostHeaderPlugin(this.config)),this.middlewareStack.use(getLoggerPlugin(this.config)),this.middlewareStack.use(getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:uM,identityProviderConfigProvider:async e=>new tk({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(getHttpSigningPlugin(this.config)),this.middlewareStack.use((f=this.config,{applyToStack:e=>{e.add(validateBucketNameMiddleware(f),tp),e.addRelativeTo(bucketEndpointMiddleware(f),td)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(addExpectContinueMiddleware(m),n8)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add(regionRedirectMiddleware(y),tm),e.addRelativeTo((e,i)=>async n=>{let t=await y.region(),a=y.region,unlock=()=>{};i.__s3RegionRedirect&&(Object.defineProperty(y,"region",{writable:!1,value:async()=>i.__s3RegionRedirect}),unlock=()=>Object.defineProperty(y,"region",{writable:!0,value:a}));try{let a=await e(n);if(i.__s3RegionRedirect){unlock();let e=await y.region();if(t!==e)throw Error("Region was not restored following S3 region redirect.")}return a}catch(e){throw unlock(),e}},tf)}})),this.middlewareStack.use((S=this.config,{applyToStack:e=>{e.add((e,i)=>async n=>{if(i.endpointV2){let e=i.endpointV2,t=e.properties?.authSchemes?.[0]?.name==="sigv4-s3express";if((e.properties?.backend==="S3Express"||e.properties?.bucketType==="Directory")&&(setFeature(i,"S3_EXPRESS_BUCKET","J"),i.isS3ExpressBucket=!0),t){let e=n.input.Bucket;if(e){let t=await S.s3ExpressIdentityProvider.getS3ExpressIdentity(await S.credentials(),{Bucket:e});i.s3ExpressIdentity=t,n4.isInstance(n.request)&&t.sessionToken&&(n.request.headers[tS]=t.sessionToken)}}}return e(n)},tC)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t;if(!n4.isInstance(n.request))return e(n);let a=getSmithyContext(i).selectedHttpAuthScheme;if(!a)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:r={}},identity:o,signer:u}=a;t=i.s3ExpressIdentity?await signS3Express(i.s3ExpressIdentity,r,n.request,await b.signer()):await u.sign(n.request,o,r);let s=await e({...n,request:t}).catch((u.errorHandler||(e=>e=>{throw e}))(r));return(u.successHandler||((e,i)=>{}))(s.response,r),s},tT)}}))}destroy(){super.destroy()}}let fU={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class fG{allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e),this.byteLength+=e.byteLength}flush(){if(1===this.byteArrays.length){let e=this.byteArrays[0];return this.reset(),e}let e=this.allocByteArray(this.byteLength),i=0;for(let n=0;n<this.byteArrays.length;++n){let t=this.byteArrays[n];e.set(t,i),i+=t.byteLength}return this.reset(),e}reset(){this.byteArrays=[],this.byteLength=0}}function createBufferedReadableStream(e,i,n){let t=e.getReader(),a=!1,r=0,o=["",new fG(e=>new Uint8Array(e))],u=-1,pull=async e=>{let{value:s,done:l}=await t.read();if(l){if(-1!==u){let i=flush(o,u);sizeOf(i)>0&&e.enqueue(i)}e.close()}else{let t=modeOf(s,!1);if(u!==t&&(u>=0&&e.enqueue(flush(o,u)),u=t),-1===u)return void e.enqueue(s);let l=sizeOf(s);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)e.enqueue(s);else{let t=createBufferedReadableStream_merge(o,u,s);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),t>=i?e.enqueue(flush(o,u)):await pull(e)}}};return new ReadableStream({pull})}function createBufferedReadableStream_merge(e,i,n){switch(i){case 0:return e[0]+=n,sizeOf(e[0]);case 1:case 2:return e[i].push(n),sizeOf(e[i])}}function flush(e,i){switch(i){case 0:let n=e[0];return e[0]="",n;case 1:case 2:return e[i].flush()}throw Error(`@smithy/util-stream - invalid index ${i} given to flush()`)}function sizeOf(e){return e?.byteLength??e?.length??0}function modeOf(e,i=!0){return i&&"u">typeof Buffer&&e instanceof Buffer?2:e instanceof Uint8Array?1:"string"==typeof e?0:-1}let fq=E("node:stream");function createBufferedReadable_createBufferedReadable(e,i,n){if(isReadableStream(e))return createBufferedReadableStream(e,i,n);let t=new fq.Readable({read(){}}),a=!1,r=0,o=["",new fG(e=>new Uint8Array(e)),new fG(e=>Buffer.from(new Uint8Array(e)))],u=-1;return e.on("data",e=>{let s=modeOf(e,!0);if(u!==s&&(u>=0&&t.push(flush(o,u)),u=s),-1===u)return void t.push(e);let l=sizeOf(e);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)t.push(e);else{let s=createBufferedReadableStream_merge(o,u,e);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),s>=i&&t.push(flush(o,u))}}),e.on("end",()=>{if(-1!==u){let e=flush(o,u);sizeOf(e)>0&&t.push(e)}t.push(null)}),t}let f$=[ea.CRC32,ea.CRC32C,ea.CRC64NVME,ea.SHA1,ea.SHA256],fK=[ea.SHA256,ea.SHA1,ea.CRC32,ea.CRC32C,ea.CRC64NVME],getChecksumLocationName=e=>e===ea.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,isStreaming_isStreaming=e=>void 0!==e&&"string"!=typeof e&&!ArrayBuffer.isView(e)&&!dist_es_isArrayBuffer(e);var fz=function(){function AwsCrc32c(){this.crc32c=new fW}return AwsCrc32c.prototype.update=function(e){isEmptyData(e)||this.crc32c.update(convertToBuffer(e))},AwsCrc32c.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32c.digest())]})})},AwsCrc32c.prototype.reset=function(){this.crc32c=new fW},AwsCrc32c}(),fW=function(){function Crc32c(){this.checksum=0xffffffff}return Crc32c.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^fj[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32c.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32c}(),fj=uint32ArrayFrom([0,0xf26b8303,0xe13b70f7,0x1350f3f4,0xc79a971f,0x35f1141c,0x26a1e7e8,0xd4ca64eb,0x8ad958cf,0x78b2dbcc,0x6be22838,0x9989ab3b,0x4d43cfd0,0xbf284cd3,0xac78bf27,0x5e133c24,0x105ec76f,0xe235446c,0xf165b798,0x30e349b,0xd7c45070,0x25afd373,0x36ff2087,0xc494a384,0x9a879fa0,0x68ec1ca3,0x7bbcef57,0x89d76c54,0x5d1d08bf,0xaf768bbc,0xbc267848,0x4e4dfb4b,0x20bd8ede,0xd2d60ddd,0xc186fe29,0x33ed7d2a,0xe72719c1,0x154c9ac2,0x61c6936,0xf477ea35,0xaa64d611,0x580f5512,0x4b5fa6e6,0xb93425e5,0x6dfe410e,0x9f95c20d,0x8cc531f9,0x7eaeb2fa,0x30e349b1,0xc288cab2,0xd1d83946,0x23b3ba45,0xf779deae,0x5125dad,0x1642ae59,0xe4292d5a,0xba3a117e,0x4851927d,0x5b016189,0xa96ae28a,0x7da08661,0x8fcb0562,0x9c9bf696,0x6ef07595,0x417b1dbc,0xb3109ebf,0xa0406d4b,0x522bee48,0x86e18aa3,0x748a09a0,0x67dafa54,0x95b17957,0xcba24573,0x39c9c670,0x2a993584,0xd8f2b687,0xc38d26c,0xfe53516f,0xed03a29b,0x1f682198,0x5125dad3,0xa34e59d0,0xb01eaa24,0x42752927,0x96bf4dcc,0x64d4cecf,0x77843d3b,0x85efbe38,0xdbfc821c,0x2997011f,0x3ac7f2eb,0xc8ac71e8,0x1c661503,0xee0d9600,0xfd5d65f4,0xf36e6f7,0x61c69362,0x93ad1061,0x80fde395,0x72966096,0xa65c047d,0x5437877e,0x4767748a,0xb50cf789,0xeb1fcbad,0x197448ae,0xa24bb5a,0xf84f3859,0x2c855cb2,0xdeeedfb1,0xcdbe2c45,0x3fd5af46,0x7198540d,0x83f3d70e,0x90a324fa,0x62c8a7f9,0xb602c312,0x44694011,0x5739b3e5,0xa55230e6,0xfb410cc2,0x92a8fc1,0x1a7a7c35,0xe811ff36,0x3cdb9bdd,0xceb018de,0xdde0eb2a,0x2f8b6829,0x82f63b78,0x709db87b,0x63cd4b8f,0x91a6c88c,0x456cac67,0xb7072f64,0xa457dc90,0x563c5f93,0x82f63b7,0xfa44e0b4,0xe9141340,0x1b7f9043,0xcfb5f4a8,0x3dde77ab,0x2e8e845f,0xdce5075c,0x92a8fc17,0x60c37f14,0x73938ce0,0x81f80fe3,0x55326b08,0xa759e80b,0xb4091bff,0x466298fc,0x1871a4d8,0xea1a27db,0xf94ad42f,0xb21572c,0xdfeb33c7,0x2d80b0c4,0x3ed04330,0xccbbc033,0xa24bb5a6,0x502036a5,0x4370c551,0xb11b4652,0x65d122b9,0x97baa1ba,0x84ea524e,0x7681d14d,0x2892ed69,0xdaf96e6a,0xc9a99d9e,0x3bc21e9d,0xef087a76,0x1d63f975,0xe330a81,0xfc588982,0xb21572c9,0x407ef1ca,0x532e023e,0xa145813d,0x758fe5d6,0x87e466d5,0x94b49521,0x66df1622,0x38cc2a06,0xcaa7a905,0xd9f75af1,0x2b9cd9f2,0xff56bd19,0xd3d3e1a,0x1e6dcdee,0xec064eed,0xc38d26c4,0x31e6a5c7,0x22b65633,0xd0ddd530,0x417b1db,0xf67c32d8,0xe52cc12c,0x1747422f,0x49547e0b,0xbb3ffd08,0xa86f0efc,0x5a048dff,0x8ecee914,0x7ca56a17,0x6ff599e3,0x9d9e1ae0,0xd3d3e1ab,0x21b862a8,0x32e8915c,0xc083125f,0x144976b4,0xe622f5b7,0xf5720643,0x7198540,0x590ab964,0xab613a67,0xb831c993,0x4a5a4a90,0x9e902e7b,0x6cfbad78,0x7fab5e8c,0x8dc0dd8f,0xe330a81a,0x115b2b19,0x20bd8ed,0xf0605bee,0x24aa3f05,0xd6c1bc06,0xc5914ff2,0x37faccf1,0x69e9f0d5,0x9b8273d6,0x88d28022,0x7ab90321,0xae7367ca,0x5c18e4c9,0x4f48173d,0xbd23943e,0xf36e6f75,0x105ec76,0x12551f82,0xe03e9c81,0x34f4f86a,0xc69f7b69,0xd5cf889d,0x27a40b9e,0x79b737ba,0x8bdcb4b9,0x988c474d,0x6ae7c44e,0xbe2da0a5,0x4c4623a6,0x5f16d052,0xad7d5351]);class fV{c1=0;c2=0;constructor(){t||(t=(()=>{let e=Array(8);for(let i=0;i<8;i++){let n=Array(512);for(let e=0;e<256;e++){let t=BigInt(e);for(let e=0;e<8*(i+1);e++)1n&t?t=t>>1n^0x9a6c9329ac4bc9b5n:t>>=1n;n[2*e]=Number(t>>32n&4294967295n),n[2*e+1]=Number(4294967295n&t)}e[i]=new Uint32Array(n)}return e})(),[a,r,o,u,s,l,h,g]=t),this.reset()}update(e){let i=e.length,n=0,t=this.c1,c=this.c2;for(;n+8<=i;){let i=((c^e[n++])&255)<<1,d=((c>>>8^e[n++])&255)<<1,p=((c>>>16^e[n++])&255)<<1,f=((c>>>24^e[n++])&255)<<1,m=((t^e[n++])&255)<<1,y=((t>>>8^e[n++])&255)<<1,S=((t>>>16^e[n++])&255)<<1,b=((t>>>24^e[n++])&255)<<1;t=g[i]^h[d]^l[p]^s[f]^u[m]^o[y]^r[S]^a[b],c=g[i+1]^h[d+1]^l[p+1]^s[f+1]^u[m+1]^o[y+1]^r[S+1]^a[b+1]}for(;n<i;){let i=((c^e[n])&255)<<1;c=(c>>>8|(255&t)<<24)>>>0,t=t>>>8^a[i],c^=a[i+1],n++}this.c1=t,this.c2=c}async digest(){let e=0xffffffff^this.c1,i=0xffffffff^this.c2;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,255&e,i>>>24,i>>>16&255,i>>>8&255,255&i])}reset(){this.c1=0xffffffff,this.c2=0xffffffff}}let f0=E("zlib");class f1{checksum=0;update(e){this.checksum=f0.crc32(e,this.checksum)}async digest(){return numToUint8(this.checksum)}reset(){this.checksum=0}}let selectChecksumAlgorithmFunction=(e,i)=>{switch(e){case ea.MD5:return i.md5;case ea.CRC32:return void 0===f0.crc32?pc:f1;case ea.CRC32C:return fz;case ea.CRC64NVME:!0;return fV;case ea.SHA1:return i.sha1;case ea.SHA256:return i.sha256;default:throw Error(`Unsupported checksum algorithm: ${e}`)}},stringHasher=(e,i)=>{let n=new e;return n.update(toUint8Array(i||"")),n.digest()},f3={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},getChecksumAlgorithmListForResponse=(e=[])=>{let i=[];for(let n of fK)e.includes(n)&&f$.includes(n)&&i.push(n);return i};class f2 extends au.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;constructor({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a}){if(super(),"function"==typeof n.pipe)this.source=n;else throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);this.base64Encoder=a??toBase64,this.expectedChecksum=e,this.checksum=i,this.checksumSourceLocation=t,this.source.pipe(this)}_read(e){}_write(e,i,n){try{this.checksum.update(e),this.push(e)}catch(e){return n(e)}return n()}async _final(e){try{let i=await this.checksum.digest(),n=this.base64Encoder(i);if(this.expectedChecksum!==n)return e(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${n}" in response header "${this.checksumSourceLocation}".`))}catch(i){return e(i)}return this.push(null),e()}}let f4="function"==typeof ReadableStream?ReadableStream:function(){};class f8 extends f4{}function createChecksumStream_createChecksumStream(e){return"function"==typeof ReadableStream&&isReadableStream(e.source)?(({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a})=>{if(!isReadableStream(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let r=a??toBase64;if("function"!=typeof TransformStream)throw Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.");let o=new TransformStream({start(){},async transform(e,n){i.update(e),n.enqueue(e)},async flush(n){let a=r(await i.digest());if(e!==a){let i=Error(`Checksum mismatch: expected "${e}" but received "${a}" in response header "${t}".`);n.error(i)}else n.terminate()}});n.pipeThrough(o);let u=o.readable;return Object.setPrototypeOf(u,f8.prototype),u})(e):new f2(e)}let getChecksum=async(e,{checksumAlgorithmFn:i,base64Encoder:n})=>n(await stringHasher(i,e)),validateChecksumFromResponse=async(e,{config:i,responseAlgorithms:n,logger:t})=>{let a=getChecksumAlgorithmListForResponse(n),{body:r,headers:o}=e;for(let n of a){let a=getChecksumLocationName(n),u=o[a];if(u){let o;try{o=selectChecksumAlgorithmFunction(n,i)}catch(e){if(n===ea.CRC64NVME){t?.warn(`Skipping ${ea.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:s}=i;if(isStreaming_isStreaming(r)){e.body=createChecksumStream_createChecksumStream({expectedChecksum:u,checksumSourceLocation:a,checksum:new o,source:r,base64Encoder:s});return}let l=await getChecksum(r,{checksumAlgorithmFn:o,base64Encoder:s});if(l===u)break;throw Error(`Checksum mismatch: expected "${l}" but received "${u}" in response header "${a}".`)}}},f6={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},getFlexibleChecksumsPlugin=(e,i)=>({applyToStack:n=>{n.add((n,t)=>async a=>{if(!n4.isInstance(a.request)||((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(e.toLowerCase().startsWith(n))return!0;return!1})("x-amz-checksum-",a.request.headers))return n(a);let{request:r,input:o}=a,{body:u,headers:s}=r,{base64Encoder:l,streamHasher:h}=e,{requestChecksumRequired:g,requestAlgorithmMember:c}=i,d=await e.requestChecksumCalculation(),p=c?.name,f=c?.httpHeader;p&&!o[p]&&(d===n6.WHEN_SUPPORTED||g)&&(o[p]=te,f&&(s[f]=te));let m=((e,{requestChecksumRequired:i,requestAlgorithmMember:n,requestChecksumCalculation:t})=>{if(!n)return t===n6.WHEN_SUPPORTED||i?te:void 0;if(!e[n])return;let a=e[n];if(!f$.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${f$}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=u,S=s;if(m){switch(m){case ea.CRC32:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case ea.CRC32C:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case ea.CRC64NVME:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case ea.SHA1:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case ea.SHA256:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y")}let i=getChecksumLocationName(m),n=selectChecksumAlgorithmFunction(m,e);if(isStreaming_isStreaming(u)){let{getAwsChunkedEncodingStream:a,bodyLengthChecker:r}=e;y=a("number"==typeof e.requestStreamBufferSize&&e.requestStreamBufferSize>=8192?createBufferedReadable_createBufferedReadable(u,e.requestStreamBufferSize,t.logger):u,{base64Encoder:l,bodyLengthChecker:r,checksumLocationName:i,checksumAlgorithmFn:n,streamHasher:h}),S={...s,"content-encoding":s["content-encoding"]?`${s["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":s["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":i},delete S["content-length"]}else if(!((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(n===e.toLowerCase())return!0;return!1})(i,s)){let e=await stringHasher(n,u);S={...s,[i]:l(e)}}}try{return await n({...a,request:{...r,headers:S,body:y}})}catch(e){if(e instanceof Error&&"InvalidChunkSizeError"===e.name)try{e.message.endsWith(".")||(e.message+="."),e.message+=" Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream."}catch(e){}throw e}},f3),n.addRelativeTo((n,t)=>async a=>{let r=a.input,{requestValidationModeMember:o}=i,u=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(u){case n6.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case n6.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case n7.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case n7.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!r[o]&&s===n7.WHEN_SUPPORTED&&(r[o]="ENABLED"),n(a)},fU),n.addRelativeTo((n,t)=>async a=>{if(!n4.isInstance(a.request))return n(a);let r=a.input,o=await n(a),u=o.response,{requestValidationModeMember:s,responseAlgorithms:l}=i;if(s&&"ENABLED"===r[s]){let{clientName:i,commandName:n}=t;if("S3Client"===i&&"GetObjectCommand"===n&&getChecksumAlgorithmListForResponse(l).every(e=>{let i=getChecksumLocationName(e),n=u.headers[i];return!n||(e=>{let i=e.lastIndexOf("-");if(-1!==i){let n=e.slice(i+1);if(!n.startsWith("0")){let e=parseInt(n,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1})(n)}))return o;await validateChecksumFromResponse(u,{config:e,responseAlgorithms:l,logger:t.logger})}return o},f6)}});function checkContentLengthHeader(){return(e,i)=>async n=>{let{request:t}=n;if(n4.isInstance(t)&&!("content-length"in t.headers)&&!("x-amz-decoded-content-length"in t.headers)){let e="Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.";"function"!=typeof i?.logger?.warn||i.logger instanceof at?console.warn(e):i.logger.warn(e)}return e({...n})}}let f5={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},getCheckContentLengthHeaderPlugin=e=>({applyToStack:e=>{e.add(checkContentLengthHeader(),f5)}});function ssecMiddleware(e){return i=>async n=>{let t={...n.input};for(let i of[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}]){let n=t[i.target];if(n){let a;"string"==typeof n?isValidBase64EncodedSSECustomerKey(n,e)?a=e.base64Decoder(n):(a=e.utf8Decoder(n),t[i.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(n)?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n),t[i.target]=e.base64Encoder(a));let r=new e.md5;r.update(a),t[i.hash]=e.base64Encoder(await r.digest())}}return i({...n,input:t})}}let f7={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},getSsecPlugin=e=>({applyToStack:i=>{i.add(ssecMiddleware(e),f7)}});function isValidBase64EncodedSSECustomerKey(e,i){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{let n=i.base64Decoder(e);return 32===n.length}catch{return!1}}class f9 extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getCheckContentLengthHeaderPlugin(n),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(d1).build(){}let me={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},getS3ExpiresMiddlewarePlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t=await e(n),{response:a}=t;if(tB.isInstance(a)&&a.headers.expires){a.headers.expiresstring=a.headers.expires;try{parseRfc7231DateTime(a.headers.expires)}catch(e){i.logger?.warn(`AWS SDK Warning for ${i.clientName}::${i.commandName} response parsing (${a.headers.expires}): ${e}`),delete a.headers.expires}}return t},me)}});class mi extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1"]}),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(dj).build(){}class mn extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(dW).build(){}class mt extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(dV).build(){}class ma extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(d0).build(){}class mr extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(dK).build(){}class mo extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(dq).build(){}class mu extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(d2).build(){}class ms extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(d$).build(){}class ml extends uO.classBuilder().ep({...uU,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(d3).build(){}class mh{onabort=null;_aborted=!1;constructor(){Object.defineProperty(this,"_aborted",{value:!1,writable:!0})}get aborted(){return this._aborted}abort(){this._aborted=!0,this.onabort&&(this.onabort(this),this.onabort=null)}}class mg{signal=new mh;abort(){this.signal.abort()}}let mc={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:n0.lstatSync,isFileReadStream:e=>e instanceof n0.ReadStream},byteLength_byteLength=e=>{if(null==e)return 0;if("string"==typeof e)return ap.Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(mc.isFileReadStream(e))try{return mc.lstatSync(e.path).size}catch(e){}};async function*getChunkStream(e,i,n){let t=1,a={chunks:[],length:0};for await(let r of n(e))for(a.chunks.push(r),a.length+=r.byteLength;a.length>i;){let e=a.chunks.length>1?ap.Buffer.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,i)},a.chunks=[e.subarray(i)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?ap.Buffer.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*getChunkUint8Array(e,i){let n=1,t=0,a=i;for(;a<e.byteLength;)yield{partNumber:n,data:e.subarray(t,a)},n+=1,a=(t=a)+i;yield{partNumber:n,data:e.subarray(t),lastPart:!0}}async function*getDataReadable(e){for await(let i of e)ap.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield ap.Buffer.from(i)}async function*getDataReadableStream(e){let i=e.getReader();try{for(;;){let{done:e,value:n}=await i.read();if(e)return;ap.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield ap.Buffer.from(n)}}catch(e){throw e}finally{i.releaseLock()}}(et=ef||(ef={})).EMPTY_INPUT="a null or undefined Body",et.CONTENT_LENGTH="the ContentLength property of the params set by the caller",et.STRING_LENGTH="the encoded byte length of the Body string",et.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",et.LENGTH="the value of Body.length",et.SIZE="the value of Body.size",et.START_END_DIFF="the numeric difference between Body.start and Body.end",et.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";let md=E("events");class mp extends md.EventEmitter{static MIN_PART_SIZE=5242880;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(e){if(super(),this.queueSize=e.queueSize||this.queueSize,this.leavePartsOnError=e.leavePartsOnError||this.leavePartsOnError,this.tags=e.tags||this.tags,this.client=e.client,this.params=e.params,!this.params)throw Error("InputError: Upload requires params to be passed to upload.");this.totalBytes=this.params.ContentLength??byteLength_byteLength(this.params.Body),this.totalBytesSource=((e,i)=>{if(null!=i)return ef.CONTENT_LENGTH;if(null==e)return ef.EMPTY_INPUT;if("string"==typeof e)return ef.STRING_LENGTH;if("number"==typeof e.byteLength)return ef.TYPED_ARRAY;if("number"==typeof e.length)return ef.LENGTH;if("number"==typeof e.size)return ef.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return ef.START_END_DIFF;if(mc.isFileReadStream(e))try{return mc.lstatSync(e.path).size,ef.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new mg,this.partSize=e.partSize||Math.max(mp.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),void 0!==this.totalBytes&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error("@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.");return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,i){return this.uploadEvent=e,super.on(e,i)}async __uploadUsingPut(e){let i,n,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},r=this.client.config,o=r.requestHandler,u=o instanceof md.EventEmitter?o:null,uploadEventListener=i=>{this.bytesUploadedSoFar=i.loaded,this.totalBytes=i.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==u&&u.on("xhr.upload.progress",uploadEventListener);let s=await Promise.all([this.client.send(new f9(a)),r?.endpoint?.()]),l=s[0],h=s[1];if(h||(h=toEndpointV1_toEndpointV1(await getEndpointFromInstructions(a,f9,{...r}))),!h)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==u&&u.off("xhr.upload.progress",uploadEventListener);let g=this.params.Key.split("/").map(e=>extendedEncodeURIComponent(e)).join("/"),c=extendedEncodeURIComponent(this.params.Bucket),d=(i=h.hostname.startsWith(`${c}.`),n=this.client.config.forcePathStyle,t=h.port?`:${h.port}`:"",n?`${h.protocol}//${h.hostname}${t}/${c}/${g}`:i?`${h.protocol}//${h.hostname}${t}/${g}`:`${h.protocol}//${c}.${h.hostname}${t}/${g}`);this.singleUploadResult={...l,Bucket:this.params.Bucket,Key:this.params.Key,Location:d};let p=byteLength_byteLength(e.data);this.__notifyProgress({loaded:p,total:p,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let i={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(i.ChecksumAlgorithm=this.params.ChecksumAlgorithm||"CRC32"),this.createMultiPartPromise=this.client.send(new mr(i)).then(e=>(this.abortMultipartUploadCommand=new mo({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let i of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(1===i.partNumber&&i.lastPart)return await this.__uploadUsingPut(i);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=byteLength_byteLength(i.data)||0,n=this.client.config.requestHandler,t=n instanceof md.EventEmitter?n:null,a=0,uploadEventListener=(n,t)=>{(Number(t.query.partNumber)||-1)===i.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-a,a=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",uploadEventListener),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(i);let r=await this.client.send(new mu({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:i.data,PartNumber:i.partNumber}));if(null!==t&&t.off("xhr.upload.progress",uploadEventListener),this.abortController.signal.aborted)return;if(!r.ETag)throw Error(`Part ${i.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:i.partNumber,ETag:r.ETag,...r.ChecksumCRC32&&{ChecksumCRC32:r.ChecksumCRC32},...r.ChecksumCRC32C&&{ChecksumCRC32C:r.ChecksumCRC32C},...r.ChecksumSHA1&&{ChecksumSHA1:r.ChecksumSHA1},...r.ChecksumSHA256&&{ChecksumSHA256:r.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,i=((e,i)=>{if(e instanceof Uint8Array)return getChunkUint8Array(e,i);if(e instanceof au.Readable)return getChunkStream(e,i,getDataReadable);if(e instanceof String||"string"==typeof e)return getChunkUint8Array(ap.Buffer.from(e),i);if("function"==typeof e.stream)return getChunkStream(e.stream(),i,getDataReadableStream);if(e instanceof ReadableStream)return getChunkStream(e,i,getDataReadableStream);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),n=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(i).catch(e=>{n.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),n.length>=1)throw await this.markUploadAsAborted(),n[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:i,uploadedParts:n,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==i&&n.length!==i)throw Error(`Expected ${i} part(s) but uploaded ${n.length} part(s).
73
+ `)}l.push(null)}),l},getAwsRegionExtensionConfiguration=e=>({setRegion(i){e.region=i},region:()=>e.region}),resolveAwsRegionExtensionConfiguration=e=>({region:e.region()}),getHttpHandlerExtensionConfiguration=e=>({setHttpHandler(i){e.httpHandler=i},httpHandler:()=>e.httpHandler,updateHttpClientConfig(i,n){e.httpHandler?.updateHttpClientConfig(i,n)},httpHandlerConfigs:()=>e.httpHandler.httpHandlerConfigs()}),resolveHttpHandlerRuntimeConfig=e=>({httpHandler:e.httpHandler()});(en=ep||(ep={})).MD5="md5",en.CRC32="crc32",en.CRC32C="crc32c",en.SHA1="sha1",en.SHA256="sha256";let getDefaultExtensionConfiguration=e=>Object.assign((e=>{let i=[];for(let n in ep){let t=ep[n];void 0!==e[t]&&i.push({algorithmId:()=>t,checksumConstructor:()=>e[t]})}return{addChecksumAlgorithm(e){i.push(e)},checksumAlgorithms:()=>i}})(e),{setRetryStrategy(i){e.retryStrategy=i},retryStrategy:()=>e.retryStrategy}),resolveDefaultRuntimeConfig=e=>{let i,n;return Object.assign((i={},e.checksumAlgorithms().forEach(e=>{i[e.algorithmId()]=e.checksumConstructor()}),i),((n={}).retryStrategy=e.retryStrategy(),n))};class fG extends ad{config;constructor(...[e]){var i,n,t,a,r;let o,u,s,l,h,g,c,d,p,f,m,y,S,b,C=(i=e||{},emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion(process.version),o=resolveDefaultsModeConfig(i),u=()=>o().then(loadConfigsForDefaultMode),s={apiVersion:"2006-03-01",base64Decoder:i?.base64Decoder??fromBase64,base64Encoder:i?.base64Encoder??toBase64,disableHostPrefix:i?.disableHostPrefix??!1,endpointProvider:i?.endpointProvider??endpointResolver_defaultEndpointResolver,extensions:i?.extensions??[],getAwsChunkedEncodingStream:i?.getAwsChunkedEncodingStream??getAwsChunkedEncodingStream_getAwsChunkedEncodingStream,httpAuthSchemeProvider:i?.httpAuthSchemeProvider??uB,httpAuthSchemes:i?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new pz},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new pW}],logger:i?.logger??new ar,protocol:i?.protocol??fU,protocolSettings:i?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:i?.sdkStreamMixin??sdk_stream_mixin_sdkStreamMixin,serviceId:i?.serviceId??"S3",signerConstructor:i?.signerConstructor??aF,signingEscapePath:i?.signingEscapePath??!1,urlParser:i?.urlParser??dist_es_parseUrl,useArnRegion:i?.useArnRegion??void 0,utf8Decoder:i?.utf8Decoder??fromUtf8_fromUtf8,utf8Encoder:i?.utf8Encoder??dist_es_toUtf8_toUtf8},emitWarningIfUnsupportedVersion(process.version),l={profile:i?.profile,logger:s.logger},{...s,...i,runtime:"node",defaultsMode:o,authSchemePreference:i?.authSchemePreference??loadConfig(pe,l),bodyLengthChecker:i?.bodyLengthChecker??calculateBodyLength,credentialDefaultProvider:i?.credentialDefaultProvider??defaultProvider,defaultUserAgentProvider:i?.defaultUserAgentProvider??createDefaultUserAgentProvider({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:i?.disableS3ExpressSessionAuth??loadConfig(tw,l),eventStreamSerdeProvider:i?.eventStreamSerdeProvider??eventStreamSerdeProvider,maxAttempts:i?.maxAttempts??loadConfig(at,i),md5:i?.md5??pk.bind(null,"md5"),region:i?.region??loadConfig(pl,{...ph,...l}),requestChecksumCalculation:i?.requestChecksumCalculation??loadConfig(po,l),requestHandler:pI.create(i?.requestHandler??u),responseChecksumValidation:i?.responseChecksumValidation??loadConfig(pu,l),retryMode:i?.retryMode??loadConfig({...aa,default:async()=>(await u()).retryMode||t3},i),sha1:i?.sha1??pk.bind(null,"sha1"),sha256:i?.sha256??pk.bind(null,"sha256"),sigv4aSigningRegionSet:i?.sigv4aSigningRegionSet??loadConfig(aB,l),streamCollector:i?.streamCollector??streamCollector,streamHasher:i?.streamHasher??readableStreamHasher,useArnRegion:i?.useArnRegion??loadConfig(pr,l),useDualstackEndpoint:i?.useDualstackEndpoint??loadConfig(pg,l),useFipsEndpoint:i?.useFipsEndpoint??loadConfig(pc,l),userAgentAppId:i?.userAgentAppId??loadConfig(ps,l)});super(C),this.initConfig=C;let w=(a=((e,{session:i})=>{let[n,t]=i,{forcePathStyle:a,useAccelerateEndpoint:r,disableMultiregionAccessPoints:o,followRegionRedirects:u,s3ExpressIdentityProvider:s,bucketEndpoint:l,expectContinueHeader:h}=e;return Object.assign(e,{forcePathStyle:a??!1,useAccelerateEndpoint:r??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:u??!1,s3ExpressIdentityProvider:s??new tp(async e=>n().send(new t({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:h??2097152})})(Object.assign(((t=resolveAwsSdkSigV4Config(n=Object.assign(h=resolveEndpointConfig(resolveHostHeaderConfig(resolveRegionConfig(resolveRetryConfig((e=>{let{requestChecksumCalculation:i,responseChecksumValidation:n,requestStreamBufferSize:t}=e;return Object.assign(e,{requestChecksumCalculation:normalizeProvider(i??n9),responseChecksumValidation:normalizeProvider(n??ti),requestStreamBufferSize:Number(t??0)})})(resolveUserAgentConfig(Object.assign(C,{useFipsEndpoint:C.useFipsEndpoint??!1,useDualstackEndpoint:C.useDualstackEndpoint??!1,forcePathStyle:C.forcePathStyle??!1,useAccelerateEndpoint:C.useAccelerateEndpoint??!1,useGlobalEndpoint:C.useGlobalEndpoint??!1,disableMultiregionAccessPoints:C.disableMultiregionAccessPoints??!1,defaultSigningName:"s3",clientContextParams:C.clientContextParams??{}}))))))),{eventStreamMarshaller:h.eventStreamSerdeProvider(h)}))).sigv4aSigningRegionSet=normalizeProvider_normalizeProvider(t.sigv4aSigningRegionSet),t),{authSchemePreference:normalizeProvider(n.authSchemePreference??[])}),{session:[()=>this,d6]}),r=e?.extensions||[],p=Object.assign(getAwsRegionExtensionConfiguration(a),getDefaultExtensionConfiguration(a),getHttpHandlerExtensionConfiguration(a),(g=a.httpAuthSchemes,c=a.httpAuthSchemeProvider,d=a.credentials,{setHttpAuthScheme(e){let i=g.findIndex(i=>i.schemeId===e.schemeId);-1===i?g.push(e):g.splice(i,1,e)},httpAuthSchemes:()=>g,setHttpAuthSchemeProvider(e){c=e},httpAuthSchemeProvider:()=>c,setCredentials(e){d=e},credentials:()=>d})),r.forEach(e=>e.configure(p)),Object.assign(a,resolveAwsRegionExtensionConfiguration(p),resolveDefaultRuntimeConfig(p),resolveHttpHandlerRuntimeConfig(p),{httpAuthSchemes:p.httpAuthSchemes(),httpAuthSchemeProvider:p.httpAuthSchemeProvider(),credentials:p.credentials()}));this.config=w,this.middlewareStack.use(getSchemaSerdePlugin(this.config)),this.middlewareStack.use(getUserAgentPlugin(this.config)),this.middlewareStack.use(getRetryPlugin(this.config)),this.middlewareStack.use(getContentLengthPlugin(this.config)),this.middlewareStack.use(getHostHeaderPlugin(this.config)),this.middlewareStack.use(getLoggerPlugin(this.config)),this.middlewareStack.use(getRecursionDetectionPlugin(this.config)),this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:uk,identityProviderConfigProvider:async e=>new tH({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(getHttpSigningPlugin(this.config)),this.middlewareStack.use((f=this.config,{applyToStack:e=>{e.add(validateBucketNameMiddleware(f),tm),e.addRelativeTo(bucketEndpointMiddleware(f),tf)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(addExpectContinueMiddleware(m),n5)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add(regionRedirectMiddleware(y),tS),e.addRelativeTo((e,i)=>async n=>{let t=await y.region(),a=y.region,unlock=()=>{};i.__s3RegionRedirect&&(Object.defineProperty(y,"region",{writable:!1,value:async()=>i.__s3RegionRedirect}),unlock=()=>Object.defineProperty(y,"region",{writable:!0,value:a}));try{let a=await e(n);if(i.__s3RegionRedirect){unlock();let e=await y.region();if(t!==e)throw Error("Region was not restored following S3 region redirect.")}return a}catch(e){throw unlock(),e}},ty)}})),this.middlewareStack.use((S=this.config,{applyToStack:e=>{e.add((e,i)=>async n=>{if(i.endpointV2){let e=i.endpointV2,t=e.properties?.authSchemes?.[0]?.name==="sigv4-s3express";if((e.properties?.backend==="S3Express"||e.properties?.bucketType==="Directory")&&(setFeature(i,"S3_EXPRESS_BUCKET","J"),i.isS3ExpressBucket=!0),t){let e=n.input.Bucket;if(e){let t=await S.s3ExpressIdentityProvider.getS3ExpressIdentity(await S.credentials(),{Bucket:e});i.s3ExpressIdentity=t,n6.isInstance(n.request)&&t.sessionToken&&(n.request.headers[tC]=t.sessionToken)}}}return e(n)},tT)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t;if(!n6.isInstance(n.request))return e(n);let a=getSmithyContext(i).selectedHttpAuthScheme;if(!a)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:r={}},identity:o,signer:u}=a;t=i.s3ExpressIdentity?await signS3Express(i.s3ExpressIdentity,r,n.request,await b.signer()):await u.sign(n.request,o,r);let s=await e({...n,request:t}).catch((u.errorHandler||(e=>e=>{throw e}))(r));return(u.successHandler||((e,i)=>{}))(s.response,r),s},tL)}}))}destroy(){super.destroy()}}let fq={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class f${allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e),this.byteLength+=e.byteLength}flush(){if(1===this.byteArrays.length){let e=this.byteArrays[0];return this.reset(),e}let e=this.allocByteArray(this.byteLength),i=0;for(let n=0;n<this.byteArrays.length;++n){let t=this.byteArrays[n];e.set(t,i),i+=t.byteLength}return this.reset(),e}reset(){this.byteArrays=[],this.byteLength=0}}function createBufferedReadableStream(e,i,n){let t=e.getReader(),a=!1,r=0,o=["",new f$(e=>new Uint8Array(e))],u=-1,pull=async e=>{let{value:s,done:l}=await t.read();if(l){if(-1!==u){let i=flush(o,u);sizeOf(i)>0&&e.enqueue(i)}e.close()}else{let t=modeOf(s,!1);if(u!==t&&(u>=0&&e.enqueue(flush(o,u)),u=t),-1===u)return void e.enqueue(s);let l=sizeOf(s);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)e.enqueue(s);else{let t=createBufferedReadableStream_merge(o,u,s);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),t>=i?e.enqueue(flush(o,u)):await pull(e)}}};return new ReadableStream({pull})}function createBufferedReadableStream_merge(e,i,n){switch(i){case 0:return e[0]+=n,sizeOf(e[0]);case 1:case 2:return e[i].push(n),sizeOf(e[i])}}function flush(e,i){switch(i){case 0:let n=e[0];return e[0]="",n;case 1:case 2:return e[i].flush()}throw Error(`@smithy/util-stream - invalid index ${i} given to flush()`)}function sizeOf(e){return e?.byteLength??e?.length??0}function modeOf(e,i=!0){return i&&"u">typeof Buffer&&e instanceof Buffer?2:e instanceof Uint8Array?1:"string"==typeof e?0:-1}let fK=E("node:stream");function createBufferedReadable_createBufferedReadable(e,i,n){if(isReadableStream(e))return createBufferedReadableStream(e,i,n);let t=new fK.Readable({read(){}}),a=!1,r=0,o=["",new f$(e=>new Uint8Array(e)),new f$(e=>Buffer.from(new Uint8Array(e)))],u=-1;return e.on("data",e=>{let s=modeOf(e,!0);if(u!==s&&(u>=0&&t.push(flush(o,u)),u=s),-1===u)return void t.push(e);let l=sizeOf(e);r+=l;let h=sizeOf(o[u]);if(l>=i&&0===h)t.push(e);else{let s=createBufferedReadableStream_merge(o,u,e);!a&&r>2*i&&(a=!0,n?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${i}, automatically buffering.`)),s>=i&&t.push(flush(o,u))}}),e.on("end",()=>{if(-1!==u){let e=flush(o,u);sizeOf(e)>0&&t.push(e)}t.push(null)}),t}let fz=[ea.CRC32,ea.CRC32C,ea.CRC64NVME,ea.SHA1,ea.SHA256],fW=[ea.SHA256,ea.SHA1,ea.CRC32,ea.CRC32C,ea.CRC64NVME],getChecksumLocationName=e=>e===ea.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,isStreaming_isStreaming=e=>void 0!==e&&"string"!=typeof e&&!ArrayBuffer.isView(e)&&!dist_es_isArrayBuffer(e);var fj=function(){function AwsCrc32c(){this.crc32c=new fV}return AwsCrc32c.prototype.update=function(e){isEmptyData(e)||this.crc32c.update(convertToBuffer(e))},AwsCrc32c.prototype.digest=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return[2,numToUint8(this.crc32c.digest())]})})},AwsCrc32c.prototype.reset=function(){this.crc32c=new fV},AwsCrc32c}(),fV=function(){function Crc32c(){this.checksum=0xffffffff}return Crc32c.prototype.update=function(e){var i,n;try{for(var t=__values(e),a=t.next();!a.done;a=t.next()){var r=a.value;this.checksum=this.checksum>>>8^f0[(this.checksum^r)&255]}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=t.return)&&n.call(t)}finally{if(i)throw i.error}}return this},Crc32c.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},Crc32c}(),f0=uint32ArrayFrom([0,0xf26b8303,0xe13b70f7,0x1350f3f4,0xc79a971f,0x35f1141c,0x26a1e7e8,0xd4ca64eb,0x8ad958cf,0x78b2dbcc,0x6be22838,0x9989ab3b,0x4d43cfd0,0xbf284cd3,0xac78bf27,0x5e133c24,0x105ec76f,0xe235446c,0xf165b798,0x30e349b,0xd7c45070,0x25afd373,0x36ff2087,0xc494a384,0x9a879fa0,0x68ec1ca3,0x7bbcef57,0x89d76c54,0x5d1d08bf,0xaf768bbc,0xbc267848,0x4e4dfb4b,0x20bd8ede,0xd2d60ddd,0xc186fe29,0x33ed7d2a,0xe72719c1,0x154c9ac2,0x61c6936,0xf477ea35,0xaa64d611,0x580f5512,0x4b5fa6e6,0xb93425e5,0x6dfe410e,0x9f95c20d,0x8cc531f9,0x7eaeb2fa,0x30e349b1,0xc288cab2,0xd1d83946,0x23b3ba45,0xf779deae,0x5125dad,0x1642ae59,0xe4292d5a,0xba3a117e,0x4851927d,0x5b016189,0xa96ae28a,0x7da08661,0x8fcb0562,0x9c9bf696,0x6ef07595,0x417b1dbc,0xb3109ebf,0xa0406d4b,0x522bee48,0x86e18aa3,0x748a09a0,0x67dafa54,0x95b17957,0xcba24573,0x39c9c670,0x2a993584,0xd8f2b687,0xc38d26c,0xfe53516f,0xed03a29b,0x1f682198,0x5125dad3,0xa34e59d0,0xb01eaa24,0x42752927,0x96bf4dcc,0x64d4cecf,0x77843d3b,0x85efbe38,0xdbfc821c,0x2997011f,0x3ac7f2eb,0xc8ac71e8,0x1c661503,0xee0d9600,0xfd5d65f4,0xf36e6f7,0x61c69362,0x93ad1061,0x80fde395,0x72966096,0xa65c047d,0x5437877e,0x4767748a,0xb50cf789,0xeb1fcbad,0x197448ae,0xa24bb5a,0xf84f3859,0x2c855cb2,0xdeeedfb1,0xcdbe2c45,0x3fd5af46,0x7198540d,0x83f3d70e,0x90a324fa,0x62c8a7f9,0xb602c312,0x44694011,0x5739b3e5,0xa55230e6,0xfb410cc2,0x92a8fc1,0x1a7a7c35,0xe811ff36,0x3cdb9bdd,0xceb018de,0xdde0eb2a,0x2f8b6829,0x82f63b78,0x709db87b,0x63cd4b8f,0x91a6c88c,0x456cac67,0xb7072f64,0xa457dc90,0x563c5f93,0x82f63b7,0xfa44e0b4,0xe9141340,0x1b7f9043,0xcfb5f4a8,0x3dde77ab,0x2e8e845f,0xdce5075c,0x92a8fc17,0x60c37f14,0x73938ce0,0x81f80fe3,0x55326b08,0xa759e80b,0xb4091bff,0x466298fc,0x1871a4d8,0xea1a27db,0xf94ad42f,0xb21572c,0xdfeb33c7,0x2d80b0c4,0x3ed04330,0xccbbc033,0xa24bb5a6,0x502036a5,0x4370c551,0xb11b4652,0x65d122b9,0x97baa1ba,0x84ea524e,0x7681d14d,0x2892ed69,0xdaf96e6a,0xc9a99d9e,0x3bc21e9d,0xef087a76,0x1d63f975,0xe330a81,0xfc588982,0xb21572c9,0x407ef1ca,0x532e023e,0xa145813d,0x758fe5d6,0x87e466d5,0x94b49521,0x66df1622,0x38cc2a06,0xcaa7a905,0xd9f75af1,0x2b9cd9f2,0xff56bd19,0xd3d3e1a,0x1e6dcdee,0xec064eed,0xc38d26c4,0x31e6a5c7,0x22b65633,0xd0ddd530,0x417b1db,0xf67c32d8,0xe52cc12c,0x1747422f,0x49547e0b,0xbb3ffd08,0xa86f0efc,0x5a048dff,0x8ecee914,0x7ca56a17,0x6ff599e3,0x9d9e1ae0,0xd3d3e1ab,0x21b862a8,0x32e8915c,0xc083125f,0x144976b4,0xe622f5b7,0xf5720643,0x7198540,0x590ab964,0xab613a67,0xb831c993,0x4a5a4a90,0x9e902e7b,0x6cfbad78,0x7fab5e8c,0x8dc0dd8f,0xe330a81a,0x115b2b19,0x20bd8ed,0xf0605bee,0x24aa3f05,0xd6c1bc06,0xc5914ff2,0x37faccf1,0x69e9f0d5,0x9b8273d6,0x88d28022,0x7ab90321,0xae7367ca,0x5c18e4c9,0x4f48173d,0xbd23943e,0xf36e6f75,0x105ec76,0x12551f82,0xe03e9c81,0x34f4f86a,0xc69f7b69,0xd5cf889d,0x27a40b9e,0x79b737ba,0x8bdcb4b9,0x988c474d,0x6ae7c44e,0xbe2da0a5,0x4c4623a6,0x5f16d052,0xad7d5351]);class f1{c1=0;c2=0;constructor(){t||(t=(()=>{let e=Array(8);for(let i=0;i<8;i++){let n=Array(512);for(let e=0;e<256;e++){let t=BigInt(e);for(let e=0;e<8*(i+1);e++)1n&t?t=t>>1n^0x9a6c9329ac4bc9b5n:t>>=1n;n[2*e]=Number(t>>32n&4294967295n),n[2*e+1]=Number(4294967295n&t)}e[i]=new Uint32Array(n)}return e})(),[a,r,o,u,s,l,h,g]=t),this.reset()}update(e){let i=e.length,n=0,t=this.c1,c=this.c2;for(;n+8<=i;){let i=((c^e[n++])&255)<<1,d=((c>>>8^e[n++])&255)<<1,p=((c>>>16^e[n++])&255)<<1,f=((c>>>24^e[n++])&255)<<1,m=((t^e[n++])&255)<<1,y=((t>>>8^e[n++])&255)<<1,S=((t>>>16^e[n++])&255)<<1,b=((t>>>24^e[n++])&255)<<1;t=g[i]^h[d]^l[p]^s[f]^u[m]^o[y]^r[S]^a[b],c=g[i+1]^h[d+1]^l[p+1]^s[f+1]^u[m+1]^o[y+1]^r[S+1]^a[b+1]}for(;n<i;){let i=((c^e[n])&255)<<1;c=(c>>>8|(255&t)<<24)>>>0,t=t>>>8^a[i],c^=a[i+1],n++}this.c1=t,this.c2=c}async digest(){let e=0xffffffff^this.c1,i=0xffffffff^this.c2;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,255&e,i>>>24,i>>>16&255,i>>>8&255,255&i])}reset(){this.c1=0xffffffff,this.c2=0xffffffff}}let f3=E("zlib");class f2{checksum=0;update(e){this.checksum=f3.crc32(e,this.checksum)}async digest(){return numToUint8(this.checksum)}reset(){this.checksum=0}}let selectChecksumAlgorithmFunction=(e,i)=>{switch(e){case ea.MD5:return i.md5;case ea.CRC32:return void 0===f3.crc32?pp:f2;case ea.CRC32C:return fj;case ea.CRC64NVME:!0;return f1;case ea.SHA1:return i.sha1;case ea.SHA256:return i.sha256;default:throw Error(`Unsupported checksum algorithm: ${e}`)}},stringHasher=(e,i)=>{let n=new e;return n.update(toUint8Array(i||"")),n.digest()},f4={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},getChecksumAlgorithmListForResponse=(e=[])=>{let i=[];for(let n of fW)e.includes(n)&&fz.includes(n)&&i.push(n);return i};class f8 extends al.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;constructor({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a}){if(super(),"function"==typeof n.pipe)this.source=n;else throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);this.base64Encoder=a??toBase64,this.expectedChecksum=e,this.checksum=i,this.checksumSourceLocation=t,this.source.pipe(this)}_read(e){}_write(e,i,n){try{this.checksum.update(e),this.push(e)}catch(e){return n(e)}return n()}async _final(e){try{let i=await this.checksum.digest(),n=this.base64Encoder(i);if(this.expectedChecksum!==n)return e(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${n}" in response header "${this.checksumSourceLocation}".`))}catch(i){return e(i)}return this.push(null),e()}}let f6="function"==typeof ReadableStream?ReadableStream:function(){};class f5 extends f6{}function createChecksumStream_createChecksumStream(e){return"function"==typeof ReadableStream&&isReadableStream(e.source)?(({expectedChecksum:e,checksum:i,source:n,checksumSourceLocation:t,base64Encoder:a})=>{if(!isReadableStream(n))throw Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`);let r=a??toBase64;if("function"!=typeof TransformStream)throw Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.");let o=new TransformStream({start(){},async transform(e,n){i.update(e),n.enqueue(e)},async flush(n){let a=r(await i.digest());if(e!==a){let i=Error(`Checksum mismatch: expected "${e}" but received "${a}" in response header "${t}".`);n.error(i)}else n.terminate()}});n.pipeThrough(o);let u=o.readable;return Object.setPrototypeOf(u,f5.prototype),u})(e):new f8(e)}let getChecksum=async(e,{checksumAlgorithmFn:i,base64Encoder:n})=>n(await stringHasher(i,e)),validateChecksumFromResponse=async(e,{config:i,responseAlgorithms:n,logger:t})=>{let a=getChecksumAlgorithmListForResponse(n),{body:r,headers:o}=e;for(let n of a){let a=getChecksumLocationName(n),u=o[a];if(u){let o;try{o=selectChecksumAlgorithmFunction(n,i)}catch(e){if(n===ea.CRC64NVME){t?.warn(`Skipping ${ea.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:s}=i;if(isStreaming_isStreaming(r)){e.body=createChecksumStream_createChecksumStream({expectedChecksum:u,checksumSourceLocation:a,checksum:new o,source:r,base64Encoder:s});return}let l=await getChecksum(r,{checksumAlgorithmFn:o,base64Encoder:s});if(l===u)break;throw Error(`Checksum mismatch: expected "${l}" but received "${u}" in response header "${a}".`)}}},f7={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},getFlexibleChecksumsPlugin=(e,i)=>({applyToStack:n=>{n.add((n,t)=>async a=>{if(!n6.isInstance(a.request)||((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(e.toLowerCase().startsWith(n))return!0;return!1})("x-amz-checksum-",a.request.headers))return n(a);let{request:r,input:o}=a,{body:u,headers:s}=r,{base64Encoder:l,streamHasher:h}=e,{requestChecksumRequired:g,requestAlgorithmMember:c}=i,d=await e.requestChecksumCalculation(),p=c?.name,f=c?.httpHeader;p&&!o[p]&&(d===n7.WHEN_SUPPORTED||g)&&(o[p]=tn,f&&(s[f]=tn));let m=((e,{requestChecksumRequired:i,requestAlgorithmMember:n,requestChecksumCalculation:t})=>{if(!n)return t===n7.WHEN_SUPPORTED||i?tn:void 0;if(!e[n])return;let a=e[n];if(!fz.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${fz}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=u,S=s;if(m){switch(m){case ea.CRC32:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case ea.CRC32C:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case ea.CRC64NVME:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case ea.SHA1:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case ea.SHA256:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y")}let i=getChecksumLocationName(m),n=selectChecksumAlgorithmFunction(m,e);if(isStreaming_isStreaming(u)){let{getAwsChunkedEncodingStream:a,bodyLengthChecker:r}=e;y=a("number"==typeof e.requestStreamBufferSize&&e.requestStreamBufferSize>=8192?createBufferedReadable_createBufferedReadable(u,e.requestStreamBufferSize,t.logger):u,{base64Encoder:l,bodyLengthChecker:r,checksumLocationName:i,checksumAlgorithmFn:n,streamHasher:h}),S={...s,"content-encoding":s["content-encoding"]?`${s["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":s["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":i},delete S["content-length"]}else if(!((e,i)=>{let n=e.toLowerCase();for(let e of Object.keys(i))if(n===e.toLowerCase())return!0;return!1})(i,s)){let e=await stringHasher(n,u);S={...s,[i]:l(e)}}}try{return await n({...a,request:{...r,headers:S,body:y}})}catch(e){if(e instanceof Error&&"InvalidChunkSizeError"===e.name)try{e.message.endsWith(".")||(e.message+="."),e.message+=" Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream."}catch(e){}throw e}},f4),n.addRelativeTo((n,t)=>async a=>{let r=a.input,{requestValidationModeMember:o}=i,u=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(u){case n7.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case n7.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case te.WHEN_REQUIRED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case te.WHEN_SUPPORTED:setFeature(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!r[o]&&s===te.WHEN_SUPPORTED&&(r[o]="ENABLED"),n(a)},fq),n.addRelativeTo((n,t)=>async a=>{if(!n6.isInstance(a.request))return n(a);let r=a.input,o=await n(a),u=o.response,{requestValidationModeMember:s,responseAlgorithms:l}=i;if(s&&"ENABLED"===r[s]){let{clientName:i,commandName:n}=t;if("S3Client"===i&&"GetObjectCommand"===n&&getChecksumAlgorithmListForResponse(l).every(e=>{let i=getChecksumLocationName(e),n=u.headers[i];return!n||(e=>{let i=e.lastIndexOf("-");if(-1!==i){let n=e.slice(i+1);if(!n.startsWith("0")){let e=parseInt(n,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1})(n)}))return o;await validateChecksumFromResponse(u,{config:e,responseAlgorithms:l,logger:t.logger})}return o},f7)}});function checkContentLengthHeader(){return(e,i)=>async n=>{let{request:t}=n;if(n6.isInstance(t)&&!("content-length"in t.headers)&&!("x-amz-decoded-content-length"in t.headers)){let e="Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.";"function"!=typeof i?.logger?.warn||i.logger instanceof ar?console.warn(e):i.logger.warn(e)}return e({...n})}}let f9={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},getCheckContentLengthHeaderPlugin=e=>({applyToStack:e=>{e.add(checkContentLengthHeader(),f9)}});function ssecMiddleware(e){return i=>async n=>{let t={...n.input};for(let i of[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}]){let n=t[i.target];if(n){let a;"string"==typeof n?isValidBase64EncodedSSECustomerKey(n,e)?a=e.base64Decoder(n):(a=e.utf8Decoder(n),t[i.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(n)?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n),t[i.target]=e.base64Encoder(a));let r=new e.md5;r.update(a),t[i.hash]=e.base64Encoder(await r.digest())}}return i({...n,input:t})}}let me={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},getSsecPlugin=e=>({applyToStack:i=>{i.add(ssecMiddleware(e),me)}});function isValidBase64EncodedSSECustomerKey(e,i){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{let n=i.base64Decoder(e);return 32===n.length}catch{return!1}}class mi extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getCheckContentLengthHeaderPlugin(n),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(d2).build(){}let mn={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},getS3ExpiresMiddlewarePlugin=e=>({applyToStack:e=>{e.addRelativeTo((e,i)=>async n=>{let t=await e(n),{response:a}=t;if(tF.isInstance(a)&&a.headers.expires){a.headers.expiresstring=a.headers.expires;try{parseRfc7231DateTime(a.headers.expires)}catch(e){i.logger?.warn(`AWS SDK Warning for ${i.clientName}::${i.commandName} response parsing (${a.headers.expires}): ${e}`),delete a.headers.expires}}return t},mn)}});class mt extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1"]}),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(d0).build(){}class ma extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(dV).build(){}class mr extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n),getS3ExpiresMiddlewarePlugin(n)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(d1).build(){}class mo extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(d3).build(){}class mu extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(dW).build(){}class ms extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(dK).build(){}class ml extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(d8).build(){}class mh extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getThrow200ExceptionsPlugin(n),getSsecPlugin(n)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(dz).build(){}class mg extends uU.classBuilder().ep({...uq,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,i,n,t){return[getEndpointPlugin(n,e.getEndpointParameterInstructions()),getFlexibleChecksumsPlugin(n,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),getThrow200ExceptionsPlugin(n)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(d4).build(){}class mc{onabort=null;_aborted=!1;constructor(){Object.defineProperty(this,"_aborted",{value:!1,writable:!0})}get aborted(){return this._aborted}abort(){this._aborted=!0,this.onabort&&(this.onabort(this),this.onabort=null)}}class md{signal=new mc;abort(){this.signal.abort()}}let mp={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:n3.lstatSync,isFileReadStream:e=>e instanceof n3.ReadStream},byteLength_byteLength=e=>{if(null==e)return 0;if("string"==typeof e)return am.Buffer.byteLength(e);if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.length)return e.length;if("number"==typeof e.size)return e.size;if("number"==typeof e.start&&"number"==typeof e.end)return e.end+1-e.start;if(mp.isFileReadStream(e))try{return mp.lstatSync(e.path).size}catch(e){}};async function*getChunkStream(e,i,n){let t=1,a={chunks:[],length:0};for await(let r of n(e))for(a.chunks.push(r),a.length+=r.byteLength;a.length>i;){let e=a.chunks.length>1?am.Buffer.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,i)},a.chunks=[e.subarray(i)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?am.Buffer.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*getChunkUint8Array(e,i){let n=1,t=0,a=i;for(;a<e.byteLength;)yield{partNumber:n,data:e.subarray(t,a)},n+=1,a=(t=a)+i;yield{partNumber:n,data:e.subarray(t),lastPart:!0}}async function*getDataReadable(e){for await(let i of e)am.Buffer.isBuffer(i)||i instanceof Uint8Array?yield i:yield am.Buffer.from(i)}async function*getDataReadableStream(e){let i=e.getReader();try{for(;;){let{done:e,value:n}=await i.read();if(e)return;am.Buffer.isBuffer(n)||n instanceof Uint8Array?yield n:yield am.Buffer.from(n)}}catch(e){throw e}finally{i.releaseLock()}}(et=ef||(ef={})).EMPTY_INPUT="a null or undefined Body",et.CONTENT_LENGTH="the ContentLength property of the params set by the caller",et.STRING_LENGTH="the encoded byte length of the Body string",et.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",et.LENGTH="the value of Body.length",et.SIZE="the value of Body.size",et.START_END_DIFF="the numeric difference between Body.start and Body.end",et.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";let mf=E("events");class mm extends mf.EventEmitter{static MIN_PART_SIZE=5242880;MAX_PARTS=1e4;queueSize=4;partSize;leavePartsOnError=!1;tags=[];client;params;totalBytes;totalBytesSource;bytesUploadedSoFar;abortController;concurrentUploaders=[];createMultiPartPromise;abortMultipartUploadCommand=null;uploadedParts=[];uploadEnqueuedPartsCount=0;expectedPartsCount;uploadId;uploadEvent;isMultiPart=!0;singleUploadResult;sent=!1;constructor(e){if(super(),this.queueSize=e.queueSize||this.queueSize,this.leavePartsOnError=e.leavePartsOnError||this.leavePartsOnError,this.tags=e.tags||this.tags,this.client=e.client,this.params=e.params,!this.params)throw Error("InputError: Upload requires params to be passed to upload.");this.totalBytes=this.params.ContentLength??byteLength_byteLength(this.params.Body),this.totalBytesSource=((e,i)=>{if(null!=i)return ef.CONTENT_LENGTH;if(null==e)return ef.EMPTY_INPUT;if("string"==typeof e)return ef.STRING_LENGTH;if("number"==typeof e.byteLength)return ef.TYPED_ARRAY;if("number"==typeof e.length)return ef.LENGTH;if("number"==typeof e.size)return ef.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return ef.START_END_DIFF;if(mp.isFileReadStream(e))try{return mp.lstatSync(e.path).size,ef.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new md,this.partSize=e.partSize||Math.max(mm.MIN_PART_SIZE,Math.floor((this.totalBytes||0)/this.MAX_PARTS)),void 0!==this.totalBytes&&(this.expectedPartsCount=Math.ceil(this.totalBytes/this.partSize)),this.__validateInput()}async abort(){this.abortController.abort()}async done(){if(this.sent)throw Error("@aws-sdk/lib-storage: this instance of Upload has already executed .done(). Create a new instance.");return this.sent=!0,await Promise.race([this.__doMultipartUpload(),this.__abortTimeout(this.abortController.signal)])}on(e,i){return this.uploadEvent=e,super.on(e,i)}async __uploadUsingPut(e){let i,n,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},r=this.client.config,o=r.requestHandler,u=o instanceof mf.EventEmitter?o:null,uploadEventListener=i=>{this.bytesUploadedSoFar=i.loaded,this.totalBytes=i.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==u&&u.on("xhr.upload.progress",uploadEventListener);let s=await Promise.all([this.client.send(new mi(a)),r?.endpoint?.()]),l=s[0],h=s[1];if(h||(h=toEndpointV1_toEndpointV1(await getEndpointFromInstructions(a,mi,{...r}))),!h)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==u&&u.off("xhr.upload.progress",uploadEventListener);let g=this.params.Key.split("/").map(e=>extendedEncodeURIComponent(e)).join("/"),c=extendedEncodeURIComponent(this.params.Bucket),d=(i=h.hostname.startsWith(`${c}.`),n=this.client.config.forcePathStyle,t=h.port?`:${h.port}`:"",n?`${h.protocol}//${h.hostname}${t}/${c}/${g}`:i?`${h.protocol}//${h.hostname}${t}/${g}`:`${h.protocol}//${c}.${h.hostname}${t}/${g}`);this.singleUploadResult={...l,Bucket:this.params.Bucket,Key:this.params.Key,Location:d};let p=byteLength_byteLength(e.data);this.__notifyProgress({loaded:p,total:p,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let i={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(i.ChecksumAlgorithm=this.params.ChecksumAlgorithm||"CRC32"),this.createMultiPartPromise=this.client.send(new mu(i)).then(e=>(this.abortMultipartUploadCommand=new ms({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let i of e){if(this.uploadEnqueuedPartsCount>this.MAX_PARTS)throw Error(`Exceeded ${this.MAX_PARTS} parts in multipart upload to Bucket: ${this.params.Bucket} Key: ${this.params.Key}.`);if(this.abortController.signal.aborted)return;if(1===i.partNumber&&i.lastPart)return await this.__uploadUsingPut(i);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=byteLength_byteLength(i.data)||0,n=this.client.config.requestHandler,t=n instanceof mf.EventEmitter?n:null,a=0,uploadEventListener=(n,t)=>{(Number(t.query.partNumber)||-1)===i.partNumber&&(n.total&&e&&(this.bytesUploadedSoFar+=n.loaded-a,a=n.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",uploadEventListener),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(i);let r=await this.client.send(new ml({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:i.data,PartNumber:i.partNumber}));if(null!==t&&t.off("xhr.upload.progress",uploadEventListener),this.abortController.signal.aborted)return;if(!r.ETag)throw Error(`Part ${i.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:i.partNumber,ETag:r.ETag,...r.ChecksumCRC32&&{ChecksumCRC32:r.ChecksumCRC32},...r.ChecksumCRC32C&&{ChecksumCRC32C:r.ChecksumCRC32C},...r.ChecksumSHA1&&{ChecksumSHA1:r.ChecksumSHA1},...r.ChecksumSHA256&&{ChecksumSHA256:r.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:i.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,i=((e,i)=>{if(e instanceof Uint8Array)return getChunkUint8Array(e,i);if(e instanceof al.Readable)return getChunkStream(e,i,getDataReadable);if(e instanceof String||"string"==typeof e)return getChunkUint8Array(am.Buffer.from(e),i);if("function"==typeof e.stream)return getChunkStream(e.stream(),i,getDataReadableStream);if(e instanceof ReadableStream)return getChunkStream(e,i,getDataReadableStream);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),n=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(i).catch(e=>{n.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),n.length>=1)throw await this.markUploadAsAborted(),n[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:i,uploadedParts:n,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==i&&n.length!==i)throw Error(`Expected ${i} part(s) but uploaded ${n.length} part(s).
74
74
  The expected part count is based on the byte-count of the input.params.Body,
75
75
  which was read from ${a} and is ${t}.
76
76
  If this is not correct, provide an override value by setting a number
77
77
  to input.params.ContentLength in bytes.
78
- `);this.uploadedParts.sort((e,i)=>e.PartNumber-i.PartNumber);let r={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};e=await this.client.send(new ms(r)),"string"==typeof e?.Location&&e.Location.includes("%2F")&&(e.Location=e.Location.replace(/%2F/g,"/"))}else e=this.singleUploadResult;return this.abortMultipartUploadCommand=null,this.tags.length&&await this.client.send(new ml({...this.params,Tagging:{TagSet:this.tags}})),e}async markUploadAsAborted(){this.uploadId&&!this.leavePartsOnError&&null!==this.abortMultipartUploadCommand&&(await this.client.send(this.abortMultipartUploadCommand),this.abortMultipartUploadCommand=null)}__notifyProgress(e){this.uploadEvent&&this.emit(this.uploadEvent,e)}async __abortTimeout(e){return new Promise((i,n)=>{e.onabort=()=>{let e=Error("Upload aborted.");e.name="AbortError",n(e)}})}__validateUploadPart(e){let i=byteLength_byteLength(e.data);if(void 0===i)throw Error(`A dataPart was generated without a measurable data chunk size for part number ${e.partNumber}`);if((1!==e.partNumber||!e.lastPart)&&!e.lastPart&&i!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${i} does not match expected size ${this.partSize}`)}__validateInput(){if(!this.client)throw Error("InputError: Upload requires a AWS client to do uploads with.");if(this.partSize<mp.MIN_PART_SIZE)throw Error(`EntityTooSmall: Your proposed upload part size [${this.partSize}] is smaller than the minimum allowed size [${mp.MIN_PART_SIZE}] (5MB)`);if(this.queueSize<1)throw Error("Queue size: Must have at least one uploading queue.")}}var mf=["\0","\x01","\x02","\x03","\x04","\x05","\x06","\x07","\b"," ",`
79
- `,"\v","\f","\r","\x0e","\x0f","\x10","\x11","\x12","\x13","\x14","\x15","\x16","\x17","\x18","\x19","\x1a","\x1b","\x1c","\x1d","\x1e","\x1f"," ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," ","!","C/","PS","$?","Y=","|","SS",'"',"(c)","a","<<","!",null,"(r)","-","deg","+-","2","3","'","u","P","*",",","1","o",">>","1/4","1/2","3/4","?","A","A","A","A","A","A","AE","C","E","E","E","E","I","I","I","I","D","N","O","O","O","O","O","x","O","U","U","U","U","U","Th","ss","a","a","a","a","a","a","ae","c","e","e","e","e","i","i","i","i","d","n","o","o","o","o","o","/","o","u","u","u","u","y","th","y"],mm=[" "," "," "," "," "," "," "," "," "," "," "," ",null,null,null,null,"-","-","-","-","--","--","||","_","'","'",",","'",'"','"',",,",'"',"+","++","*","*>",".","..","...",".",`
78
+ `);this.uploadedParts.sort((e,i)=>e.PartNumber-i.PartNumber);let r={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};e=await this.client.send(new mh(r)),"string"==typeof e?.Location&&e.Location.includes("%2F")&&(e.Location=e.Location.replace(/%2F/g,"/"))}else e=this.singleUploadResult;return this.abortMultipartUploadCommand=null,this.tags.length&&await this.client.send(new mg({...this.params,Tagging:{TagSet:this.tags}})),e}async markUploadAsAborted(){this.uploadId&&!this.leavePartsOnError&&null!==this.abortMultipartUploadCommand&&(await this.client.send(this.abortMultipartUploadCommand),this.abortMultipartUploadCommand=null)}__notifyProgress(e){this.uploadEvent&&this.emit(this.uploadEvent,e)}async __abortTimeout(e){return new Promise((i,n)=>{e.onabort=()=>{let e=Error("Upload aborted.");e.name="AbortError",n(e)}})}__validateUploadPart(e){let i=byteLength_byteLength(e.data);if(void 0===i)throw Error(`A dataPart was generated without a measurable data chunk size for part number ${e.partNumber}`);if((1!==e.partNumber||!e.lastPart)&&!e.lastPart&&i!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${i} does not match expected size ${this.partSize}`)}__validateInput(){if(!this.client)throw Error("InputError: Upload requires a AWS client to do uploads with.");if(this.partSize<mm.MIN_PART_SIZE)throw Error(`EntityTooSmall: Your proposed upload part size [${this.partSize}] is smaller than the minimum allowed size [${mm.MIN_PART_SIZE}] (5MB)`);if(this.queueSize<1)throw Error("Queue size: Must have at least one uploading queue.")}}var my=["\0","\x01","\x02","\x03","\x04","\x05","\x06","\x07","\b"," ",`
79
+ `,"\v","\f","\r","\x0e","\x0f","\x10","\x11","\x12","\x13","\x14","\x15","\x16","\x17","\x18","\x19","\x1a","\x1b","\x1c","\x1d","\x1e","\x1f"," ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null," ","!","C/","PS","$?","Y=","|","SS",'"',"(c)","a","<<","!",null,"(r)","-","deg","+-","2","3","'","u","P","*",",","1","o",">>","1/4","1/2","3/4","?","A","A","A","A","A","A","AE","C","E","E","E","E","I","I","I","I","D","N","O","O","O","O","O","x","O","U","U","U","U","U","Th","ss","a","a","a","a","a","a","ae","c","e","e","e","e","i","i","i","i","d","n","o","o","o","o","o","/","o","u","u","u","u","y","th","y"],mS=[" "," "," "," "," "," "," "," "," "," "," "," ",null,null,null,null,"-","-","-","-","--","--","||","_","'","'",",","'",'"','"',",,",'"',"+","++","*","*>",".","..","...",".",`
80
80
  `,`
81
81
 
82
- `,null,null,null,null,null," ","%0","%00","'","''","'''","`","``","```","^","<",">","*","!!","!?","-","_","-","^","***","--","/","-[","]-",null,"?!","!?","7","PP","(]","[)",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0",null,null,null,"4","5","6","7","8","9","+","-","=","(",")","n","0","1","2","3","4","5","6","7","8","9","+","-","=","(",")",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"ECU","CL","Cr","FF","L","mil","N","Pts","Rs","W","NS","D","EU","K","T","Dr"],my=["g","gg","n","d","dd","r","m","b","bb","s","ss","","j","jj","c","k","t","p","h"],mS=["a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i"],mb=["","g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h"],mC=[];mC[0]=mf,mC[1]=["A","a","A","a","A","a","C","c","C","c","C","c","C","c","D","d","D","d","E","e","E","e","E","e","E","e","E","e","G","g","G","g","G","g","G","g","H","h","H","h","I","i","I","i","I","i","I","i","I","i","IJ","ij","J","j","K","k","k","L","l","L","l","L","l","L","l","L","l","N","n","N","n","N","n","'n","NG","ng","O","o","O","o","O","o","OE","oe","R","r","R","r","R","r","S","s","S","s","S","s","S","s","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","U","u","W","w","Y","y","Y","Z","z","Z","z","Z","z","s","b","B","B","b","6","6","O","C","c","D","D","D","d","d","3","@","E","F","f","G","G","hv","I","I","K","k","l","l","W","N","n","O","O","o","OI","oi","P","p","YR","2","2","SH","sh","t","T","t","T","U","u","Y","V","Y","y","Z","z","ZH","ZH","zh","zh","2","5","5","ts","w","|","||","|=","!","DZ","Dz","dz","LJ","Lj","lj","NJ","Nj","nj","A","a","I","i","O","o","U","u","U","u","U","u","U","u","U","u","@","A","a","A","a","AE","ae","G","g","G","g","K","k","O","o","O","o","ZH","zh","j","DZ","D","dz","G","g","HV","W","N","n","A","a","AE","ae","O","o"],mC[2]=["A","a","A","a","E","e","E","e","I","i","I","i","O","o","O","o","R","r","R","r","U","u","U","u","S","s","T","t","Y","y","H","h","N","d","OU","ou","Z","z","A","a","E","e","O","o","O","o","O","o","O","o","Y","y","l","n","t","j","db","qp","A","C","c","L","T","s","z","?","?","B","U","V","E","e","J","j","Q","q","R","r","Y","y","a","a","a","b","o","c","d","d","e","@","@","e","e","e","e","j","g","g","g","g","u","Y","h","h","i","i","I","l","l","l","lZ","W","W","m","n","n","n","o","OE","O","F","R","R","R","R","r","r","R","R","R","s","S","j","S","S","t","t","U","U","v","^","W","Y","Y","z","z","Z","Z","?","?","?","C","@","B","E","G","H","j","k","L","q","?","?","dz","dZ","dz","ts","tS","tC","fN","ls","lz","WW","]]","h","h","k","h","j","r","r","r","r","w","y","'",'"',"`","'","`","`","'","?","?","<",">","^","V","^","V","'","-","/","\\",",","_","\\","/",":",".","`","'","^","V","+","-","V",".","@",",","~",'"',"R","X","G","l","s","x","?",null,null,null,null,null,null,null,"V","=",'"'],mC[3]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'",",",null,null,null,null,null,null,null,null,"?",null,null,null,null,null,null,null,"A",";","E","I","I",null,"O",null,"U","O","I","A","V","G","D","E","Z","I","Th","I","K","L","M","N","X","O","P","R",null,"S","T","Y","F","H","Ps","O","I","Y","a","e","i","i","y","a","v","g","d","e","z","i","th","i","k","l","m","n","x","o","p","r","s","s","t","y","f","h","ps","o","i","y","o","y","o",null,"b","th","U","U","U","ph","p","&",null,null,"St","st","W","w","Q","q","Sp","sp","Sh","sh","F","f","Kh","kh","H","h","G","g","CH","ch","Ti","ti","k","r","c","j"],mC[4]=["Jo","Yo","Dj","Gj","Ie","Dz","I","Yi","J","Lj","Nj","Tsh","Kj","I","U","Dzh","A","B","V","G","D","E","Zh","Z","I","Y","K","L","M","N","O","P","R","S","T","U","F","H","C","Ch","Sh","Shch",null,"Y",null,"E","Yu","Ya","a","b","v","g","d","e","zh","z","i","y","k","l","m","n","o","p","r","s","t","u","f","h","c","ch","sh","shch",null,"y",null,"e","yu","ya","je","yo","dj","gj","ie","dz","i","yi","j","lj","nj","tsh","kj","i","u","dzh","O","o","E","e","Ie","ie","E","e","Ie","ie","O","o","Io","io","Ks","ks","Ps","ps","F","f","Y","y","Y","y","u","u","O","o","O","o","Ot","ot","Q","q","*1000*",null,null,null,null,null,"*100.000*","*1.000.000*",null,null,'"','"',"R'","r'","G'","g'","G'","g'","G'","g'","Zh'","zh'","Z'","z'","K'","k'","K'","k'","K'","k'","K'","k'","N'","n'","Ng","ng","P'","p'","Kh","kh","S'","s'","T'","t'","U","u","U'","u'","Kh'","kh'","Tts","tts","Ch'","ch'","Ch'","ch'","H","h","Ch","ch","Ch'","ch'","`","Zh","zh","K'","k'",null,null,"N'","n'",null,null,"Ch","ch",null,null,null,"a","a","A","a","Ae","ae","Ie","ie","@","@","@","@","Zh","zh","Z","z","Dz","dz","I","i","I","i","O","o","O","o","O","o","E","e","U","u","U","u","U","u","Ch","ch",null,null,"Y","y"],mC[5]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","Z","E","E","T`","Zh","I","L","Kh","Ts","K","H","Dz","Gh","Ch","M","Y","N","Sh","O","Ch`","P","J","Rh","S","V","T","R","Ts`","W","P`","K`","O","F",null,null,"<","'","/","!",",","?",".",null,"a","b","g","d","e","z","e","e","t`","zh","i","l","kh","ts","k","h","dz","gh","ch","m","y","n","sh","o","ch`","p","j","rh","s","v","t","r","ts`","w","p`","k`","o","f","ew",null,".","-",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"@","e","a","o","i","e","e","a","a","o",null,"u","'",null,null,null,null,null,null,":",null,null,null,null,null,null,null,null,null,null,null,null,null,"b","g","d","h","v","z","kh","t","y","k","k","l","m","m","n","n","s","`","p","p","ts","ts","q","r","sh","t",null,null,null,null,null,"V","oy","i","'",'"'],mC[6]=[null,null,null,null,null,null,null,null,null,null,null,null,",",null,null,null,null,null,null,null,null,null,null,null,null,null,null,";",null,null,null,"?",null,null,"a","'","w'",null,"y'",null,"b","@","t","th","j","H","kh","d","dh","r","z","s","sh","S","D","T","Z","aa","G",null,null,null,null,null,null,"f","q","k","l","m","n","h","w","~","y","an","un","in","a","u","i","W",null,null,"'","'",null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","%",".",",","*",null,null,null,"'","'","'",null,"'","'w","'u","'y","tt","tth","b","t","T","p","th","bh","'h","H","ny","dy","H","ch","cch","dd","D","D","Dt","dh","ddh","d","D","D","rr","R","R","R","R","R","R","j","R","S","S","S","S","S","T","GH","F","F","F","v","f","ph","Q","Q","kh","k","K","K","ng","K","g","G","N","G","G","G","L","L","L","L","N","N","N","N","N","h","Ch","hy","h","H","@","W","oe","oe","u","yu","yu","W","v","y","Y","Y","W",null,null,"y","y'",".","ae",null,null,null,null,null,null,null,"@","#",null,null,null,null,null,null,null,null,null,null,"^",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","Sh","D","Gh","&","+m"],mC[7]=["//","/",",","!","!","-",",",",",";","?","~","{","}","*",null,null,"'",null,"b","g","g","d","d","h","w","z","H","t","t","y","yh","k","l","m","n","s","s","`","p","p","S","q","r","sh","t",null,null,null,"a","a","a","A","A","A","e","e","e","E","i","i","u","u","u","o",null,"`","'",null,null,"X","Q","@","@","|","+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"h","sh","n","r","b","L","k","'","v","m","f","dh","th","l","g","ny","s","d","z","t","y","p","j","ch","tt","hh","kh","th","z","sh","s","d","t","z","`","gh","q","w","a","aa","i","ee","u","oo","e","ey","o","oa"],mC[9]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L","eN","e","e","ai","oN","o","o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","nnn","p","ph","b","bh","m","y","r","rr","l","l","lll","v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN","e","e","ai","oN","o","o","au",null,null,null,"AUM","'","'","`","'",null,null,null,"q","khh","ghh","z","dddh","rh","f","yy","RR","LL","L","LL"," / "," // ","0","1","2","3","4","5","6","7","8","9",".",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l",null,null,null,"sh","ss","s","h",null,null,"'",null,"aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,"rr","rh",null,"yy","RR","LL","L","LL",null,null,"0","1","2","3","4","5","6","7","8","9","r'","r`","Rs","Rs","1/","2/","3/","4/"," 1 - 1/","/16"],mC[10]=[null,null,"N",null,null,"a","aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bb","m","y","r",null,"l","ll",null,"v","sh",null,"s","h",null,null,"'",null,"aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au",null,null,null,null,null,null,null,null,null,null,null,null,"khh","ghh","z","rr",null,"f",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","N","H",null,null,"G.E.O.",null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R",null,"eN",null,"e","ai","oN",null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","ya","r",null,"l","ll",null,"v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN",null,"e","ai","oN",null,"o","au",null,null,null,"AUM",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR",null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mC[11]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l","ll",null,null,"sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R",null,null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,"+","+",null,null,null,null,"rr","rh",null,"yy","RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au","k",null,null,null,"ng","c",null,"j",null,"ny","tt",null,null,null,"nn","t",null,null,null,"n","nnn","p",null,null,null,"m","y","r","rr","l","ll","lll","v",null,"ss","s","h",null,null,null,null,"aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","+10+","+100+","+1000+"],mC[12]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,"lll",null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mC[13]=[null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll","lll","v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R",null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","ae","aae","i","ii","u","uu","R","RR","L","LL","e","ee","ai","o","oo","au",null,null,null,"k","kh","g","gh","ng","nng","c","ch","j","jh","ny","jny","nyj","tt","tth","dd","ddh","nn","nndd","t","th","d","dh","n",null,"nd","p","ph","b","bh","m","mb","y","r",null,"l",null,null,"v","sh","ss","s","h","ll","f",null,null,null,null,null,null,null,null,"aa","ae","aae","i","ii","u",null,"uu",null,"R","e","ee","ai","o","oo","au","L",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR","LL"," . "],mC[14]=[null,"k","kh","kh","kh","kh","kh","ng","cch","ch","ch","ch","ch","y","d","t","th","th","th","n","d","t","th","th","th","n","b","p","ph","f","ph","f","ph","m","y","r","R","l","L","w","s","s","s","h","l","`","h","~","a","a","aa","am","i","ii","ue","uue","u","uu","'",null,null,null,null,"Bh.","e","ae","o","ai","ai","ao","+",null,null,null,null,null,null,"M",null," * ","0","1","2","3","4","5","6","7","8","9"," // "," /// ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh",null,"kh",null,null,"ng","ch",null,"s",null,null,"ny",null,null,null,null,null,null,"d","h","th","th",null,"n","b","p","ph","f","ph","f",null,"m","y","r",null,"l",null,"w",null,null,"s","h",null,"`",null,"~","a",null,"aa","am","i","ii","y","yy","u","uu",null,"o","l","ny",null,null,"e","ei","o","ay","ai",null,"+",null,null,null,null,null,null,"M",null,null,"0","1","2","3","4","5","6","7","8","9",null,null,"hn","hm"],mC[15]=["AUM",null,null,null,null,null,null,null," // "," * ",null,"-"," / "," / "," // "," -/ "," +/ "," X/ "," /XX/ "," /X/ ",",",null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",".5","1.5","2.5","3.5","4.5","5.5","6.5","7.5","8.5","-.5","+","*","^","_",null,"~",null,"]","[[","]]",null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ssh","s","h","a","kss","r",null,null,null,null,null,null,"aa","i","ii","u","uu","R","RR","L","LL","e","ee","o","oo","M","H","i","ii",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ss","s","h","a","kss","w","y","r",null,"X"," :X: "," /O/ "," /o/ "," \\o\\ "," (O) "],mC[16]=["k","kh","g","gh","ng","c","ch","j","jh","ny","nny","tt","tth","dd","ddh","nn","tt","th","d","dh","n","p","ph","b","bh","m","y","r","l","w","s","h","ll","a",null,"i","ii","u","uu","e",null,"o","au",null,"aa","i","ii","u","uu","e","ai",null,null,null,"N","'",":",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"," / "," // ","n*","r*","l*","e*","sh","ss","R","RR","L","LL","R","RR","L","LL",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","V","Z","T`","I","K","L","M","N","O","P","Zh","R","S","T","U","P`","K`","G'","Q","Sh","Ch`","C`","Z'","C","Ch","X","J","H","E","Y","W","Xh","OE",null,null,null,null,null,null,null,null,null,null,"a","b","g","d","e","v","z","t`","i","k","l","m","n","o","p","zh","r","s","t","u","p`","k`","g'","q","sh","ch`","c`","z'","c","ch","x","j","h","e","y","w","xh","oe","f",null,null,null,null," // "],mC[17]=["g","gg","n","d","dd","r","m","b","bb","s","ss",null,"j","jj","c","k","t","p","h","ng","nn","nd","nb","dg","rn","rr","rh","rN","mb","mN","bg","bn",null,"bs","bsg","bst","bsb","bss","bsj","bj","bc","bt","bp","bN","bbN","sg","sn","sd","sr","sm","sb","sbg","sss","s","sj","sc","sk","st","sp","sh",null,null,null,null,"Z","g","d","m","b","s","Z",null,"j","c","t","p","N","j",null,null,null,null,"ck","ch",null,null,"pb","pN","hh","Q",null,null,null,null,null,null,null,"a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i","a-o","a-u","ya-o","ya-yo","eo-o","eo-u","eo-eu","yeo-o","yeo-u","o-eo","o-e","o-ye","o-o","o-u","yo-ya","yo-yae","yo-yeo","yo-o","yo-i","u-a","u-ae","u-eo-eu","u-ye","u-u","yu-a","yu-eo","yu-e","yu-yeo","yu-ye","yu-u","yu-i","eu-u","eu-eu","yi-u","i-a","i-ya","i-o","i-u","i-eu","i-U","U","U-eo","U-u","U-i","UU",null,null,null,null,null,"g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h","gl","gsg","ng","nd","ns","nZ","nt","dg","tl","lgs","ln","ld","lth","ll","lmg","lms","lbs","lbh","rNp","lss","lZ","lk","lQ","mg","ml","mb","ms","mss","mZ","mc","mh","mN","bl","bp","ph","pN","sg","sd","sl","sb","Z","g","ss",null,"kh","N","Ns","NZ","pb","pN","hn","hl","hm","hb","Q"],mC[18]=["ha","hu","hi","haa","hee","he","ho",null,"la","lu","li","laa","lee","le","lo","lwa","hha","hhu","hhi","hhaa","hhee","hhe","hho","hhwa","ma","mu","mi","maa","mee","me","mo","mwa","sza","szu","szi","szaa","szee","sze","szo","szwa","ra","ru","ri","raa","ree","re","ro","rwa","sa","su","si","saa","see","se","so","swa","sha","shu","shi","shaa","shee","she","sho","shwa","qa","qu","qi","qaa","qee","qe","qo",null,"qwa",null,"qwi","qwaa","qwee","qwe",null,null,"qha","qhu","qhi","qhaa","qhee","qhe","qho",null,"qhwa",null,"qhwi","qhwaa","qhwee","qhwe",null,null,"ba","bu","bi","baa","bee","be","bo","bwa","va","vu","vi","vaa","vee","ve","vo","vwa","ta","tu","ti","taa","tee","te","to","twa","ca","cu","ci","caa","cee","ce","co","cwa","xa","xu","xi","xaa","xee","xe","xo",null,"xwa",null,"xwi","xwaa","xwee","xwe",null,null,"na","nu","ni","naa","nee","ne","no","nwa","nya","nyu","nyi","nyaa","nyee","nye","nyo","nywa","'a","'u",null,"'aa","'ee","'e","'o","'wa","ka","ku","ki","kaa","kee","ke","ko",null,"kwa",null,"kwi","kwaa","kwee","kwe",null,null,"kxa","kxu","kxi","kxaa","kxee","kxe","kxo",null,"kxwa",null,"kxwi","kxwaa","kxwee","kxwe",null,null,"wa","wu","wi","waa","wee","we","wo",null,"`a","`u","`i","`aa","`ee","`e","`o",null,"za","zu","zi","zaa","zee","ze","zo","zwa","zha","zhu","zhi","zhaa","zhee","zhe","zho","zhwa","ya","yu","yi","yaa","yee","ye","yo",null,"da","du","di","daa","dee","de","do","dwa","dda","ddu","ddi","ddaa","ddee","dde","ddo","ddwa"],mC[19]=["ja","ju","ji","jaa","jee","je","jo","jwa","ga","gu","gi","gaa","gee","ge","go",null,"gwa",null,"gwi","gwaa","gwee","gwe",null,null,"gga","ggu","ggi","ggaa","ggee","gge","ggo",null,"tha","thu","thi","thaa","thee","the","tho","thwa","cha","chu","chi","chaa","chee","che","cho","chwa","pha","phu","phi","phaa","phee","phe","pho","phwa","tsa","tsu","tsi","tsaa","tsee","tse","tso","tswa","tza","tzu","tzi","tzaa","tzee","tze","tzo",null,"fa","fu","fi","faa","fee","fe","fo","fwa","pa","pu","pi","paa","pee","pe","po","pwa","rya","mya","fya",null,null,null,null,null,null," ",".",",",";",":",":: ","?","//","1","2","3","4","5","6","7","8","9","10+","20+","30+","40+","50+","60+","70+","80+","90+","100+","10,000+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"a","e","i","o","u","v","ga","ka","ge","gi","go","gu","gv","ha","he","hi","ho","hu","hv","la","le","li","lo","lu","lv","ma","me","mi","mo","mu","na","hna","nah","ne","ni","no","nu","nv","qua","que","qui","quo","quu","quv","sa","s","se","si","so","su","sv","da","ta","de","te","di","ti","do","du","dv","dla","tla","tle","tli","tlo","tlu","tlv","tsa","tse","tsi","tso","tsu","tsv","wa","we","wi","wo","wu","wv","ya","ye","yi","yo","yu","yv"],mC[20]=[null,"ai","aai","i","ii","u","uu","oo","ee","i","a","aa","we","we","wi","wi","wii","wii","wo","wo","woo","woo","woo","wa","wa","waa","waa","waa","ai","w","'","t","k","sh","s","n","w","n",null,"w","c","?","l","en","in","on","an","pai","paai","pi","pii","pu","puu","poo","hee","hi","pa","paa","pwe","pwe","pwi","pwi","pwii","pwii","pwo","pwo","pwoo","pwoo","pwa","pwa","pwaa","pwaa","pwaa","p","p","h","tai","taai","ti","tii","tu","tuu","too","dee","di","ta","taa","twe","twe","twi","twi","twii","twii","two","two","twoo","twoo","twa","twa","twaa","twaa","twaa","t","tte","tti","tto","tta","kai","kaai","ki","kii","ku","kuu","koo","ka","kaa","kwe","kwe","kwi","kwi","kwii","kwii","kwo","kwo","kwoo","kwoo","kwa","kwa","kwaa","kwaa","kwaa","k","kw","keh","kih","koh","kah","gai","caai","gi","gii","gu","guu","coo","ga","gaa","cwe","cwe","cwi","cwi","cwii","cwii","cwo","cwo","cwoo","cwoo","cwa","cwa","cwaa","cwaa","cwaa","g","th","mai","maai","mi","mii","mu","muu","moo","ma","maa","mwe","mwe","mwi","mwi","mwii","mwii","mwo","mwo","mwoo","mwoo","mwa","mwa","mwaa","mwaa","mwaa","m","m","mh","m","m","nai","naai","ni","nii","nu","nuu","noo","na","naa","nwe","nwe","nwa","nwa","nwaa","nwaa","nwaa","n","ng","nh","lai","laai","li","lii","lu","luu","loo","la","laa","lwe","lwe","lwi","lwi","lwii","lwii","lwo","lwo","lwoo","lwoo","lwa","lwa","lwaa","lwaa","l","l","l","sai","saai","si","sii","su","suu","soo","sa","saa","swe","swe","swi","swi","swii","swii","swo","swo","swoo","swoo"],mC[21]=["swa","swa","swaa","swaa","swaa","s","s","sw","s","sk","skw","sW","spwa","stwa","skwa","scwa","she","shi","shii","sho","shoo","sha","shaa","shwe","shwe","shwi","shwi","shwii","shwii","shwo","shwo","shwoo","shwoo","shwa","shwa","shwaa","shwaa","sh","jai","yaai","ji","jii","ju","juu","yoo","ja","jaa","ywe","ywe","ywi","ywi","ywii","ywii","ywo","ywo","ywoo","ywoo","ywa","ywa","ywaa","ywaa","ywaa","j","y","y","yi","re","rai","le","raai","ri","rii","ru","ruu","lo","ra","raa","la","rwaa","rwaa","r","r","r","vai","faai","vi","vii","vu","vuu","va","vaa","fwaa","fwaa","v","the","the","thi","thi","thii","thii","tho","thoo","tha","thaa","thwaa","thwaa","th","tthe","tthi","ttho","ttha","tth","tye","tyi","tyo","tya","he","hi","hii","ho","hoo","ha","haa","h","h","hk","qaai","qi","qii","qu","quu","qa","qaa","q","tlhe","tlhi","tlho","tlha","re","ri","ro","ra","ngaai","ngi","ngii","ngu","nguu","nga","ngaa","ng","nng","she","shi","sho","sha","the","thi","tho","tha","th","lhi","lhii","lho","lhoo","lha","lhaa","lh","the","thi","thii","tho","thoo","tha","thaa","th","b","e","i","o","a","we","wi","wo","wa","ne","ni","no","na","ke","ki","ko","ka","he","hi","ho","ha","ghu","gho","ghe","ghee","ghi","gha","ru","ro","re","ree","ri","ra","wu","wo","we","wee","wi","wa","hwu","hwo","hwe","hwee","hwi","hwa","thu","tho","the","thee","thi","tha","ttu","tto","tte","ttee","tti","tta","pu","po","pe","pee","pi","pa","p","gu","go","ge","gee","gi","ga","khu","kho","khe","khee","khi","kha","kku","kko","kke","kkee","kki"],mC[22]=["kka","kk","nu","no","ne","nee","ni","na","mu","mo","me","mee","mi","ma","yu","yo","ye","yee","yi","ya","ju","ju","jo","je","jee","ji","ji","ja","jju","jjo","jje","jjee","jji","jja","lu","lo","le","lee","li","la","dlu","dlo","dle","dlee","dli","dla","lhu","lho","lhe","lhee","lhi","lha","tlhu","tlho","tlhe","tlhee","tlhi","tlha","tlu","tlo","tle","tlee","tli","tla","zu","zo","ze","zee","zi","za","z","z","dzu","dzo","dze","dzee","dzi","dza","su","so","se","see","si","sa","shu","sho","she","shee","shi","sha","sh","tsu","tso","tse","tsee","tsi","tsa","chu","cho","che","chee","chi","cha","ttsu","ttso","ttse","ttsee","ttsi","ttsa","X",".","qai","ngai","nngi","nngii","nngo","nngoo","nnga","nngaa",null,null,null,null,null,null,null,null,null," ","b","l","f","s","n","h","d","t","c","q","m","g","ng","z","r","a","o","u","e","i","ch","th","ph","p","x","p","<",">",null,null,null,"f","v","u","yr","y","w","th","th","a","o","ac","ae","o","o","o","oe","on","r","k","c","k","g","ng","g","g","w","h","h","h","h","n","n","n","i","e","j","g","ae","a","eo","p","z","s","s","s","c","z","t","t","d","b","b","p","p","e","m","m","m","l","l","ng","ng","d","o","ear","ior","qu","qu","qu","s","yr","yr","yr","q","x",".",":","+","17","18","19"],mC[23]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j","jh","ny","t","tth","d","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","y","r","l","v","sh","ss","s","h","l","q","a","aa","i","ii","u","uk","uu","uuv","ry","ryy","ly","lyy","e","ai","oo","oo","au","a","aa","aa","i","ii","y","yy","u","uu","ua","oe","ya","ie","e","ae","ai","oo","au","M","H","a`",null,null,null,"r",null,"!",null,null,null,null,null,"."," // ",":","+","++"," * "," /// ","KR","'",null,null,null,"0","1","2","3","4","5","6","7","8","9"],mC[24]=[" @ "," ... ",",",". ",": "," // ",null,"-",",",". ",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"a","e","i","o","u","O","U","ee","n","ng","b","p","q","g","m","l","s","sh","t","d","ch","j","y","r","w","f","k","kha","ts","z","h","zr","lh","zh","ch","-","e","i","o","u","O","U","ng","b","p","q","g","m","t","d","ch","j","ts","y","w","k","g","h","jy","ny","dz","e","i","iy","U","u","ng","k","g","h","p","sh","t","d","j","f","g","h","ts","z","r","ch","zh","i","k","r","f","zh",null,null,null,null,null,null,null,null,null,"H","X","W","M"," 3 "," 333 ","a","i","k","ng","c","tt","tth","dd","nn","t","d","p","ph","ss","zh","z","a","t","zh","gh","ng","c","jh","tta","ddh","t","dh","ss","cy","zh","z","u","y","bh","'"],mC[30]=["A","a","B","b","B","b","B","b","C","c","D","d","D","d","D","d","D","d","D","d","E","e","E","e","E","e","E","e","E","e","F","f","G","g","H","h","H","h","H","h","H","h","H","h","I","i","I","i","K","k","K","k","K","k","L","l","L","l","L","l","L","l","M","m","M","m","M","m","N","n","N","n","N","n","N","n","O","o","O","o","O","o","O","o","P","p","P","p","R","r","R","r","R","r","R","r","S","s","S","s","S","s","S","s","S","s","T","t","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","V","v","V","v","W","w","W","w","W","w","W","w","W","w","X","x","X","x","Y","y","Z","z","Z","z","Z","z","h","t","w","y","a","S",null,null,null,null,"A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","E","e","E","e","E","e","E","e","E","e","E","e","E","e","E","e","I","i","I","i","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","U","u","U","u","U","u","U","u","U","u","U","u","U","u","Y","y","Y","y","Y","y","Y","y"],mC[31]=["a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e",null,null,"E","E","E","E","E","E",null,null,"e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","i","i","i","i","i","i","i","i","I","I","I","I","I","I","I","I","o","o","o","o","o","o",null,null,"O","O","O","O","O","O",null,null,"u","u","u","u","u","u","u","u",null,"U",null,"U",null,"U",null,"U","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","e","e","e","e","i","i","o","o","u","u","o","o",null,null,"a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","a","a","a",null,"a","a","A","A","A","A","A","'","i","'","~",'"~',"e","e","e",null,"e","e","E","E","E","E","E","'`","''","'~","i","i","i","i",null,null,"i","i","I","I","I","I",null,"`'","`'","`~","u","u","u","u","R","R","u","u","U","U","U","U","R",'"`',"\"'","`",null,null,"o","o","o",null,"o","o","O","O","O","O","O","'","`"],mC[32]=mm,mC[33]=[null,null,"C",null,null,null,null,null,null,null,"g","H","H","H","h",null,"I","I","L","l","lb","N","no","(p)","P","P","Q","R","R","R",null,null,"(sm)","(tel)","(tm)",null,"Z",null,null,"mho","Z",null,null,null,"B","C","e","e",null,"F",null,"M","o",null,null,null,null,"i","Q","(fax)","pi",null,null,"Pi",null,"G","L","L","Y","D","d","e","i","j",null,null,"per",null,null,null,null,null,null," 1/3 "," 2/3 "," 1/5 "," 2/5 "," 3/5 "," 4/5 "," 1/6 "," 5/6 "," 1/8 "," 3/8 "," 5/8 "," 7/8 "," 1/","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","L","C","D","M","i","ii","iii","iv","v","vi","vii","viii","ix","x","xi","xii","l","c","d","m","(D","D)","((|))",")",null,null,null,null,null,null,null,null,null,null,null,null,"-","|","-","|","-","|","\\","/","\\","/","-","-","~","~","-","|","-","|","-","-","-","|","-","|","|","-","-","-","-","-","-","|","|","|","|","|","|","|","^","V","\\","=","V","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],mC[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],mC[40]=[" ","a","1","b","'","k","2","l","@","c","i","f","/","m","s","p",'"',"e","3","h","9","o","6","r","^","d","j","g",">","n","t","q",",","*","5","<","-","u","8","v",".","%","[","$","+","x","!","&",";",":","4","\\","0","z","7","(","_","?","w","]","#","y",")","=","[d7]","[d17]","[d27]","[d127]","[d37]","[d137]","[d237]","[d1237]","[d47]","[d147]","[d247]","[d1247]","[d347]","[d1347]","[d2347]","[d12347]","[d57]","[d157]","[d257]","[d1257]","[d357]","[d1357]","[d2357]","[d12357]","[d457]","[d1457]","[d2457]","[d12457]","[d3457]","[d13457]","[d23457]","[d123457]","[d67]","[d167]","[d267]","[d1267]","[d367]","[d1367]","[d2367]","[d12367]","[d467]","[d1467]","[d2467]","[d12467]","[d3467]","[d13467]","[d23467]","[d123467]","[d567]","[d1567]","[d2567]","[d12567]","[d3567]","[d13567]","[d23567]","[d123567]","[d4567]","[d14567]","[d24567]","[d124567]","[d34567]","[d134567]","[d234567]","[d1234567]","[d8]","[d18]","[d28]","[d128]","[d38]","[d138]","[d238]","[d1238]","[d48]","[d148]","[d248]","[d1248]","[d348]","[d1348]","[d2348]","[d12348]","[d58]","[d158]","[d258]","[d1258]","[d358]","[d1358]","[d2358]","[d12358]","[d458]","[d1458]","[d2458]","[d12458]","[d3458]","[d13458]","[d23458]","[d123458]","[d68]","[d168]","[d268]","[d1268]","[d368]","[d1368]","[d2368]","[d12368]","[d468]","[d1468]","[d2468]","[d12468]","[d3468]","[d13468]","[d23468]","[d123468]","[d568]","[d1568]","[d2568]","[d12568]","[d3568]","[d13568]","[d23568]","[d123568]","[d4568]","[d14568]","[d24568]","[d124568]","[d34568]","[d134568]","[d234568]","[d1234568]","[d78]","[d178]","[d278]","[d1278]","[d378]","[d1378]","[d2378]","[d12378]","[d478]","[d1478]","[d2478]","[d12478]","[d3478]","[d13478]","[d23478]","[d123478]","[d578]","[d1578]","[d2578]","[d12578]","[d3578]","[d13578]","[d23578]","[d123578]","[d4578]","[d14578]","[d24578]","[d124578]","[d34578]","[d134578]","[d234578]","[d1234578]","[d678]","[d1678]","[d2678]","[d12678]","[d3678]","[d13678]","[d23678]","[d123678]","[d4678]","[d14678]","[d24678]","[d124678]","[d34678]","[d134678]","[d234678]","[d1234678]","[d5678]","[d15678]","[d25678]","[d125678]","[d35678]","[d135678]","[d235678]","[d1235678]","[d45678]","[d145678]","[d245678]","[d1245678]","[d345678]","[d1345678]","[d2345678]","[d12345678]"],mC[48]=[" ",",",". ",'"',"[JIS]",'"',"/","0","<","> ","<<",">> ","[","] ","{","} ","[(",")] ","@","X ","[","] ","[[","]] ","((",")) ","[[","]] ","~ ","``","''",",,","@","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"~","+","+","+","+",null,"@"," // ","+10+","+20+","+30+",null,null,null,null,null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu",null,null,null,null,null,null,null,null,'"','"',null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu","ka","ke","va","vi","ve","vo",null,null,'"','"'],mC[49]=[null,null,null,null,null,"B","P","M","F","D","T","N","L","G","K","H","J","Q","X","ZH","CH","SH","R","Z","C","S","A","O","E","EH","AI","EI","AU","OU","AN","EN","ANG","ENG","ER","I","U","IU","V","NG","GN",null,null,null,null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h","a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i",null,"nn","nd","ns","nZ","lgs","ld","lbs","lZ","lQ","mb","ms","mZ","mN","bg",null,"bsg","bst","bj","bt","bN","bbN","sg","sn","sd","sb","sj","Z",null,"N","Ns","NZ","pN","hh","Q","yo-ya","yo-yae","yo-i","yu-yeo","yu-ye","yu-i","U","U-i",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"BU","ZI","JI","GU","EE","ENN","OO","ONN","IR","ANN","INN","UNN","IM","NGG","AINN","AUNN","AM","OM","ONG","INNN","P","T","K","H"],mC[50]=["(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)","(ju)",null,null,null,"(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Dai) ","(Hu) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ji) ","(Xiu) ","<<",">>",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)",null,null,null,"KIS ","(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Mi) ","(Nan) ","(Nu) ","(Shi) ","(You) ","(Yin) ","(Zhu) ","(Xiang) ","(Xiu) ","(Xie) ","(Zheng) ","(Shang) ","(Zhong) ","(Xia) ","(Zuo) ","(You) ","(Yi) ","(Zong) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ye) ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1M","2M","3M","4M","5M","6M","7M","8M","9M","10M","11M","12M",null,null,null,null,"a","i","u","u","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","wi","we","wo"],mC[51]=["apartment","alpha","ampere","are","inning","inch","won","escudo","acre","ounce","ohm","kai-ri","carat","calorie","gallon","gamma","giga","guinea","curie","guilder","kilo","kilogram","kilometer","kilowatt","gram","gram ton","cruzeiro","krone","case","koruna","co-op","cycle","centime","shilling","centi","cent","dozen","desi","dollar","ton","nano","knot","heights","percent","parts","barrel","piaster","picul","pico","building","farad","feet","bushel","franc","hectare","peso","pfennig","hertz","pence","page","beta","point","volt","hon","pound","hall","horn","micro","mile","mach","mark","mansion","micron","milli","millibar","mega","megaton","meter","yard","yard","yuan","liter","lira","rupee","ruble","rem","roentgen","watt","0h","1h","2h","3h","4h","5h","6h","7h","8h","9h","10h","11h","12h","13h","14h","15h","16h","17h","18h","19h","20h","21h","22h","23h","24h","HPA","da","AU","bar","oV","pc",null,null,null,null,"Heisei","Syouwa","Taisyou","Meiji","Inc.","pA","nA","microamp","mA","kA","kB","MB","GB","cal","kcal","pF","nF","microFarad","microgram","mg","kg","Hz","kHz","MHz","GHz","THz","microliter","ml","dl","kl","fm","nm","micrometer","mm","cm","km","mm^2","cm^2","m^2","km^2","mm^4","cm^3","m^3","km^3","m/s","m/s^2","Pa","kPa","MPa","GPa","rad","rad/s","rad/s^2","ps","ns","microsecond","ms","pV","nV","microvolt","mV","kV","MV","pW","nW","microwatt","mW","kW","MW","kOhm","MOhm","a.m.","Bq","cc","cd","C/kg","Co.","dB","Gy","ha","HP","in","K.K.","KM","kt","lm","ln","log","lx","mb","mil","mol","pH","p.m.","PPM","PR","sr","Sv","Wb",null,null,"1d","2d","3d","4d","5d","6d","7d","8d","9d","10d","11d","12d","13d","14d","15d","16d","17d","18d","19d","20d","21d","22d","23d","24d","25d","26d","27d","28d","29d","30d","31d"],mC[78]=["Yi","Ding","Kao","Qi","Shang","Xia",null,"Wan","Zhang","San","Shang","Xia","Ji","Bu","Yu","Mian","Gai","Chou","Chou","Zhuan","Qie","Pi","Shi","Shi","Qiu","Bing","Ye","Cong","Dong","Si","Cheng","Diu","Qiu","Liang","Diu","You","Liang","Yan","Bing","Sang","Gun","Jiu","Ge","Ya","Qiang","Zhong","Ji","Jie","Feng","Guan","Chuan","Chan","Lin","Zhuo","Zhu","Ha","Wan","Dan","Wei","Zhu","Jing","Li","Ju","Pie","Fu","Yi","Yi","Nai","Shime","Jiu","Jiu","Zhe","Me","Yi",null,"Zhi","Wu","Zha","Hu","Fa","Le","Zhong","Ping","Pang","Qiao","Hu","Guai","Cheng","Cheng","Yi","Yin",null,"Mie","Jiu","Qi","Ye","Xi","Xiang","Gai","Diu","Hal",null,"Shu","Twul","Shi","Ji","Nang","Jia","Kel","Shi",null,"Ol","Mai","Luan","Cal","Ru","Xue","Yan","Fu","Sha","Na","Gan","Sol","El","Cwul",null,"Gan","Chi","Gui","Gan","Luan","Lin","Yi","Jue","Liao","Ma","Yu","Zheng","Shi","Shi","Er","Chu","Yu","Yu","Yu","Yun","Hu","Qi","Wu","Jing","Si","Sui","Gen","Gen","Ya","Xie","Ya","Qi","Ya","Ji","Tou","Wang","Kang","Ta","Jiao","Hai","Yi","Chan","Heng","Mu",null,"Xiang","Jing","Ting","Liang","Xiang","Jing","Ye","Qin","Bo","You","Xie","Dan","Lian","Duo","Wei","Ren","Ren","Ji","La","Wang","Yi","Shi","Ren","Le","Ding","Ze","Jin","Pu","Chou","Ba","Zhang","Jin","Jie","Bing","Reng","Cong","Fo","San","Lun","Sya","Cang","Zi","Shi","Ta","Zhang","Fu","Xian","Xian","Tuo","Hong","Tong","Ren","Qian","Gan","Yi","Di","Dai","Ling","Yi","Chao","Chang","Sa",null,"Yi","Mu","Men","Ren","Jia","Chao","Yang","Qian","Zhong","Pi","Wan","Wu","Jian","Jie","Yao","Feng","Cang","Ren","Wang","Fen","Di","Fang"],mC[79]=["Zhong","Qi","Pei","Yu","Diao","Dun","Wen","Yi","Xin","Kang","Yi","Ji","Ai","Wu","Ji","Fu","Fa","Xiu","Jin","Bei","Dan","Fu","Tang","Zhong","You","Huo","Hui","Yu","Cui","Chuan","San","Wei","Chuan","Che","Ya","Xian","Shang","Chang","Lun","Cang","Xun","Xin","Wei","Zhu",null,"Xuan","Nu","Bo","Gu","Ni","Ni","Xie","Ban","Xu","Ling","Zhou","Shen","Qu","Si","Beng","Si","Jia","Pi","Yi","Si","Ai","Zheng","Dian","Han","Mai","Dan","Zhu","Bu","Qu","Bi","Shao","Ci","Wei","Di","Zhu","Zuo","You","Yang","Ti","Zhan","He","Bi","Tuo","She","Yu","Yi","Fo","Zuo","Kou","Ning","Tong","Ni","Xuan","Qu","Yong","Wa","Qian",null,"Ka",null,"Pei","Huai","He","Lao","Xiang","Ge","Yang","Bai","Fa","Ming","Jia","Er","Bing","Ji","Hen","Huo","Gui","Quan","Tiao","Jiao","Ci","Yi","Shi","Xing","Shen","Tuo","Kan","Zhi","Gai","Lai","Yi","Chi","Kua","Guang","Li","Yin","Shi","Mi","Zhu","Xu","You","An","Lu","Mou","Er","Lun","Tong","Cha","Chi","Xun","Gong","Zhou","Yi","Ru","Jian","Xia","Jia","Zai","Lu","Ko","Jiao","Zhen","Ce","Qiao","Kuai","Chai","Ning","Nong","Jin","Wu","Hou","Jiong","Cheng","Zhen","Zuo","Chou","Qin","Lu","Ju","Shu","Ting","Shen","Tuo","Bo","Nan","Hao","Bian","Tui","Yu","Xi","Cu","E","Qiu","Xu","Kuang","Ku","Wu","Jun","Yi","Fu","Lang","Zu","Qiao","Li","Yong","Hun","Jing","Xian","San","Pai","Su","Fu","Xi","Li","Fu","Ping","Bao","Yu","Si","Xia","Xin","Xiu","Yu","Ti","Che","Chou",null,"Yan","Lia","Li","Lai",null,"Jian","Xiu","Fu","He","Ju","Xiao","Pai","Jian","Biao","Chu","Fei","Feng","Ya","An","Bei","Yu","Xin","Bi","Jian"],mC[80]=["Chang","Chi","Bing","Zan","Yao","Cui","Lia","Wan","Lai","Cang","Zong","Ge","Guan","Bei","Tian","Shu","Shu","Men","Dao","Tan","Jue","Chui","Xing","Peng","Tang","Hou","Yi","Qi","Ti","Gan","Jing","Jie","Sui","Chang","Jie","Fang","Zhi","Kong","Juan","Zong","Ju","Qian","Ni","Lun","Zhuo","Wei","Luo","Song","Leng","Hun","Dong","Zi","Ben","Wu","Ju","Nai","Cai","Jian","Zhai","Ye","Zhi","Sha","Qing",null,"Ying","Cheng","Jian","Yan","Nuan","Zhong","Chun","Jia","Jie","Wei","Yu","Bing","Ruo","Ti","Wei","Pian","Yan","Feng","Tang","Wo","E","Xie","Che","Sheng","Kan","Di","Zuo","Cha","Ting","Bei","Ye","Huang","Yao","Zhan","Chou","Yan","You","Jian","Xu","Zha","Ci","Fu","Bi","Zhi","Zong","Mian","Ji","Yi","Xie","Xun","Si","Duan","Ce","Zhen","Ou","Tou","Tou","Bei","Za","Lu","Jie","Wei","Fen","Chang","Gui","Sou","Zhi","Su","Xia","Fu","Yuan","Rong","Li","Ru","Yun","Gou","Ma","Bang","Dian","Tang","Hao","Jie","Xi","Shan","Qian","Jue","Cang","Chu","San","Bei","Xiao","Yong","Yao","Tan","Suo","Yang","Fa","Bing","Jia","Dai","Zai","Tang",null,"Bin","Chu","Nuo","Can","Lei","Cui","Yong","Zao","Zong","Peng","Song","Ao","Chuan","Yu","Zhai","Cou","Shang","Qiang","Jing","Chi","Sha","Han","Zhang","Qing","Yan","Di","Xi","Lu","Bei","Piao","Jin","Lian","Lu","Man","Qian","Xian","Tan","Ying","Dong","Zhuan","Xiang","Shan","Qiao","Jiong","Tui","Zun","Pu","Xi","Lao","Chang","Guang","Liao","Qi","Deng","Chan","Wei","Ji","Fan","Hui","Chuan","Jian","Dan","Jiao","Jiu","Seng","Fen","Xian","Jue","E","Jiao","Jian","Tong","Lin","Bo","Gu",null,"Su","Xian","Jiang","Min","Ye","Jin","Jia","Qiao","Pi","Feng","Zhou","Ai","Sai"],mC[81]=["Yi","Jun","Nong","Chan","Yi","Dang","Jing","Xuan","Kuai","Jian","Chu","Dan","Jiao","Sha","Zai",null,"Bin","An","Ru","Tai","Chou","Chai","Lan","Ni","Jin","Qian","Meng","Wu","Ning","Qiong","Ni","Chang","Lie","Lei","Lu","Kuang","Bao","Du","Biao","Zan","Zhi","Si","You","Hao","Chen","Chen","Li","Teng","Wei","Long","Chu","Chan","Rang","Shu","Hui","Li","Luo","Zan","Nuo","Tang","Yan","Lei","Nang","Er","Wu","Yun","Zan","Yuan","Xiong","Chong","Zhao","Xiong","Xian","Guang","Dui","Ke","Dui","Mian","Tu","Chang","Er","Dui","Er","Xin","Tu","Si","Yan","Yan","Shi","Shi","Dang","Qian","Dou","Fen","Mao","Shen","Dou","Bai","Jing","Li","Huang","Ru","Wang","Nei","Quan","Liang","Yu","Ba","Gong","Liu","Xi",null,"Lan","Gong","Tian","Guan","Xing","Bing","Qi","Ju","Dian","Zi","Ppwun","Yang","Jian","Shou","Ji","Yi","Ji","Chan","Jiong","Mao","Ran","Nei","Yuan","Mao","Gang","Ran","Ce","Jiong","Ce","Zai","Gua","Jiong","Mao","Zhou","Mou","Gou","Xu","Mian","Mi","Rong","Yin","Xie","Kan","Jun","Nong","Yi","Mi","Shi","Guan","Meng","Zhong","Ju","Yuan","Ming","Kou","Lam","Fu","Xie","Mi","Bing","Dong","Tai","Gang","Feng","Bing","Hu","Chong","Jue","Hu","Kuang","Ye","Leng","Pan","Fu","Min","Dong","Xian","Lie","Xia","Jian","Jing","Shu","Mei","Tu","Qi","Gu","Zhun","Song","Jing","Liang","Qing","Diao","Ling","Dong","Gan","Jian","Yin","Cou","Yi","Li","Cang","Ming","Zhuen","Cui","Si","Duo","Jin","Lin","Lin","Ning","Xi","Du","Ji","Fan","Fan","Fan","Feng","Ju","Chu","Tako","Feng","Mok","Ci","Fu","Feng","Ping","Feng","Kai","Huang","Kai","Gan","Deng","Ping","Qu","Xiong","Kuai","Tu","Ao","Chu","Ji","Dang","Han","Han","Zao"],mC[82]=["Dao","Diao","Dao","Ren","Ren","Chuang","Fen","Qie","Yi","Ji","Kan","Qian","Cun","Chu","Wen","Ji","Dan","Xing","Hua","Wan","Jue","Li","Yue","Lie","Liu","Ze","Gang","Chuang","Fu","Chu","Qu","Ju","Shan","Min","Ling","Zhong","Pan","Bie","Jie","Jie","Bao","Li","Shan","Bie","Chan","Jing","Gua","Gen","Dao","Chuang","Kui","Ku","Duo","Er","Zhi","Shua","Quan","Cha","Ci","Ke","Jie","Gui","Ci","Gui","Kai","Duo","Ji","Ti","Jing","Lou","Gen","Ze","Yuan","Cuo","Xue","Ke","La","Qian","Cha","Chuang","Gua","Jian","Cuo","Li","Ti","Fei","Pou","Chan","Qi","Chuang","Zi","Gang","Wan","Bo","Ji","Duo","Qing","Yan","Zhuo","Jian","Ji","Bo","Yan","Ju","Huo","Sheng","Jian","Duo","Duan","Wu","Gua","Fu","Sheng","Jian","Ge","Zha","Kai","Chuang","Juan","Chan","Tuan","Lu","Li","Fou","Shan","Piao","Kou","Jiao","Gua","Qiao","Jue","Hua","Zha","Zhuo","Lian","Ju","Pi","Liu","Gui","Jiao","Gui","Jian","Jian","Tang","Huo","Ji","Jian","Yi","Jian","Zhi","Chan","Cuan","Mo","Li","Zhu","Li","Ya","Quan","Ban","Gong","Jia","Wu","Mai","Lie","Jin","Keng","Xie","Zhi","Dong","Zhu","Nu","Jie","Qu","Shao","Yi","Zhu","Miao","Li","Jing","Lao","Lao","Juan","Kou","Yang","Wa","Xiao","Mou","Kuang","Jie","Lie","He","Shi","Ke","Jing","Hao","Bo","Min","Chi","Lang","Yong","Yong","Mian","Ke","Xun","Juan","Qing","Lu","Pou","Meng","Lai","Le","Kai","Mian","Dong","Xu","Xu","Kan","Wu","Yi","Xun","Weng","Sheng","Lao","Mu","Lu","Piao","Shi","Ji","Qin","Qiang","Jiao","Quan","Yang","Yi","Jue","Fan","Juan","Tong","Ju","Dan","Xie","Mai","Xun","Xun","Lu","Li","Che","Rang","Quan","Bao","Shao","Yun","Jiu","Bao","Gou","Wu"],mC[83]=["Yun","Mwun","Nay","Gai","Gai","Bao","Cong",null,"Xiong","Peng","Ju","Tao","Ge","Pu","An","Pao","Fu","Gong","Da","Jiu","Qiong","Bi","Hua","Bei","Nao","Chi","Fang","Jiu","Yi","Za","Jiang","Kang","Jiang","Kuang","Hu","Xia","Qu","Bian","Gui","Qie","Zang","Kuang","Fei","Hu","Tou","Gui","Gui","Hui","Dan","Gui","Lian","Lian","Suan","Du","Jiu","Qu","Xi","Pi","Qu","Yi","Qia","Yan","Bian","Ni","Qu","Shi","Xin","Qian","Nian","Sa","Zu","Sheng","Wu","Hui","Ban","Shi","Xi","Wan","Hua","Xie","Wan","Bei","Zu","Zhuo","Xie","Dan","Mai","Nan","Dan","Ji","Bo","Shuai","Bu","Kuang","Bian","Bu","Zhan","Qia","Lu","You","Lu","Xi","Gua","Wo","Xie","Jie","Jie","Wei","Ang","Qiong","Zhi","Mao","Yin","Wei","Shao","Ji","Que","Luan","Shi","Juan","Xie","Xu","Jin","Que","Wu","Ji","E","Qing","Xi",null,"Han","Zhan","E","Ting","Li","Zhe","Han","Li","Ya","Ya","Yan","She","Zhi","Zha","Pang",null,"He","Ya","Zhi","Ce","Pang","Ti","Li","She","Hou","Ting","Zui","Cuo","Fei","Yuan","Ce","Yuan","Xiang","Yan","Li","Jue","Sha","Dian","Chu","Jiu","Qin","Ao","Gui","Yan","Si","Li","Chang","Lan","Li","Yan","Yan","Yuan","Si","Gong","Lin","Qiu","Qu","Qu","Uk","Lei","Du","Xian","Zhuan","San","Can","Can","Can","Can","Ai","Dai","You","Cha","Ji","You","Shuang","Fan","Shou","Guai","Ba","Fa","Ruo","Shi","Shu","Zhuo","Qu","Shou","Bian","Xu","Jia","Pan","Sou","Gao","Wei","Sou","Die","Rui","Cong","Kou","Gu","Ju","Ling","Gua","Tao","Kou","Zhi","Jiao","Zhao","Ba","Ding","Ke","Tai","Chi","Shi","You","Qiu","Po","Ye","Hao","Si","Tan","Chi","Le","Diao","Ji",null,"Hong"],mC[84]=["Mie","Xu","Mang","Chi","Ge","Xuan","Yao","Zi","He","Ji","Diao","Cun","Tong","Ming","Hou","Li","Tu","Xiang","Zha","Xia","Ye","Lu","A","Ma","Ou","Xue","Yi","Jun","Chou","Lin","Tun","Yin","Fei","Bi","Qin","Qin","Jie","Bu","Fou","Ba","Dun","Fen","E","Han","Ting","Hang","Shun","Qi","Hong","Zhi","Shen","Wu","Wu","Chao","Ne","Xue","Xi","Chui","Dou","Wen","Hou","Ou","Wu","Gao","Ya","Jun","Lu","E","Ge","Mei","Ai","Qi","Cheng","Wu","Gao","Fu","Jiao","Hong","Chi","Sheng","Ne","Tun","Fu","Yi","Dai","Ou","Li","Bai","Yuan","Kuai",null,"Qiang","Wu","E","Shi","Quan","Pen","Wen","Ni","M","Ling","Ran","You","Di","Zhou","Shi","Zhou","Tie","Xi","Yi","Qi","Ping","Zi","Gu","Zi","Wei","Xu","He","Nao","Xia","Pei","Yi","Xiao","Shen","Hu","Ming","Da","Qu","Ju","Gem","Za","Tuo","Duo","Pou","Pao","Bi","Fu","Yang","He","Zha","He","Hai","Jiu","Yong","Fu","Que","Zhou","Wa","Ka","Gu","Ka","Zuo","Bu","Long","Dong","Ning","Tha","Si","Xian","Huo","Qi","Er","E","Guang","Zha","Xi","Yi","Lie","Zi","Mie","Mi","Zhi","Yao","Ji","Zhou","Ge","Shuai","Zan","Xiao","Ke","Hui","Kua","Huai","Tao","Xian","E","Xuan","Xiu","Wai","Yan","Lao","Yi","Ai","Pin","Shen","Tong","Hong","Xiong","Chi","Wa","Ha","Zai","Yu","Di","Pai","Xiang","Ai","Hen","Kuang","Ya","Da","Xiao","Bi","Yue",null,"Hua","Sasou","Kuai","Duo",null,"Ji","Nong","Mou","Yo","Hao","Yuan","Long","Pou","Mang","Ge","E","Chi","Shao","Li","Na","Zu","He","Ku","Xiao","Xian","Lao","Bo","Zhe","Zha","Liang","Ba","Mie","Le","Sui","Fou","Bu","Han","Heng","Geng","Shuo","Ge"],mC[85]=["You","Yan","Gu","Gu","Bai","Han","Suo","Chun","Yi","Ai","Jia","Tu","Xian","Huan","Li","Xi","Tang","Zuo","Qiu","Che","Wu","Zao","Ya","Dou","Qi","Di","Qin","Ma","Mal","Hong","Dou","Kes","Lao","Liang","Suo","Zao","Huan","Lang","Sha","Ji","Zuo","Wo","Feng","Yin","Hu","Qi","Shou","Wei","Shua","Chang","Er","Li","Qiang","An","Jie","Yo","Nian","Yu","Tian","Lai","Sha","Xi","Tuo","Hu","Ai","Zhou","Nou","Ken","Zhuo","Zhuo","Shang","Di","Heng","Lan","A","Xiao","Xiang","Tun","Wu","Wen","Cui","Sha","Hu","Qi","Qi","Tao","Dan","Dan","Ye","Zi","Bi","Cui","Chuo","He","Ya","Qi","Zhe","Pei","Liang","Xian","Pi","Sha","La","Ze","Qing","Gua","Pa","Zhe","Se","Zhuan","Nie","Guo","Luo","Yan","Di","Quan","Tan","Bo","Ding","Lang","Xiao",null,"Tang","Chi","Ti","An","Jiu","Dan","Ke","Yong","Wei","Nan","Shan","Yu","Zhe","La","Jie","Hou","Han","Die","Zhou","Chai","Wai","Re","Yu","Yin","Zan","Yao","Wo","Mian","Hu","Yun","Chuan","Hui","Huan","Huan","Xi","He","Ji","Kui","Zhong","Wei","Sha","Xu","Huang","Du","Nie","Xuan","Liang","Yu","Sang","Chi","Qiao","Yan","Dan","Pen","Can","Li","Yo","Zha","Wei","Miao","Ying","Pen","Phos","Kui","Xi","Yu","Jie","Lou","Ku","Sao","Huo","Ti","Yao","He","A","Xiu","Qiang","Se","Yong","Su","Hong","Xie","Yi","Suo","Ma","Cha","Hai","Ke","Ta","Sang","Tian","Ru","Sou","Wa","Ji","Pang","Wu","Xian","Shi","Ge","Zi","Jie","Luo","Weng","Wa","Si","Chi","Hao","Suo","Jia","Hai","Suo","Qin","Nie","He","Cis","Sai","Ng","Ge","Na","Dia","Ai",null,"Tong","Bi","Ao","Ao","Lian","Cui","Zhe","Mo","Sou","Sou","Tan"],mC[86]=["Di","Qi","Jiao","Chong","Jiao","Kai","Tan","San","Cao","Jia","Ai","Xiao","Piao","Lou","Ga","Gu","Xiao","Hu","Hui","Guo","Ou","Xian","Ze","Chang","Xu","Po","De","Ma","Ma","Hu","Lei","Du","Ga","Tang","Ye","Beng","Ying","Saai","Jiao","Mi","Xiao","Hua","Mai","Ran","Zuo","Peng","Lao","Xiao","Ji","Zhu","Chao","Kui","Zui","Xiao","Si","Hao","Fu","Liao","Qiao","Xi","Xiu","Tan","Tan","Mo","Xun","E","Zun","Fan","Chi","Hui","Zan","Chuang","Cu","Dan","Yu","Tun","Cheng","Jiao","Ye","Xi","Qi","Hao","Lian","Xu","Deng","Hui","Yin","Pu","Jue","Qin","Xun","Nie","Lu","Si","Yan","Ying","Da","Dan","Yu","Zhou","Jin","Nong","Yue","Hui","Qi","E","Zao","Yi","Shi","Jiao","Yuan","Ai","Yong","Jue","Kuai","Yu","Pen","Dao","Ge","Xin","Dun","Dang","Sin","Sai","Pi","Pi","Yin","Zui","Ning","Di","Lan","Ta","Huo","Ru","Hao","Xia","Ya","Duo","Xi","Chou","Ji","Jin","Hao","Ti","Chang",null,null,"Ca","Ti","Lu","Hui","Bo","You","Nie","Yin","Hu","Mo","Huang","Zhe","Li","Liu","Haai","Nang","Xiao","Mo","Yan","Li","Lu","Long","Fu","Dan","Chen","Pin","Pi","Xiang","Huo","Mo","Xi","Duo","Ku","Yan","Chan","Ying","Rang","Dian","La","Ta","Xiao","Jiao","Chuo","Huan","Huo","Zhuan","Nie","Xiao","Ca","Li","Chan","Chai","Li","Yi","Luo","Nang","Zan","Su","Xi","So","Jian","Za","Zhu","Lan","Nie","Nang",null,null,"Wei","Hui","Yin","Qiu","Si","Nin","Jian","Hui","Xin","Yin","Nan","Tuan","Tuan","Dun","Kang","Yuan","Jiong","Pian","Yun","Cong","Hu","Hui","Yuan","You","Guo","Kun","Cong","Wei","Tu","Wei","Lun","Guo","Qun","Ri","Ling","Gu","Guo","Tai","Guo","Tu","You"],mC[87]=["Guo","Yin","Hun","Pu","Yu","Han","Yuan","Lun","Quan","Yu","Qing","Guo","Chuan","Wei","Yuan","Quan","Ku","Fu","Yuan","Yuan","E","Tu","Tu","Tu","Tuan","Lue","Hui","Yi","Yuan","Luan","Luan","Tu","Ya","Tu","Ting","Sheng","Pu","Lu","Iri","Ya","Zai","Wei","Ge","Yu","Wu","Gui","Pi","Yi","Di","Qian","Qian","Zhen","Zhuo","Dang","Qia","Akutsu","Yama","Kuang","Chang","Qi","Nie","Mo","Ji","Jia","Zhi","Zhi","Ban","Xun","Tou","Qin","Fen","Jun","Keng","Tun","Fang","Fen","Ben","Tan","Kan","Pi","Zuo","Keng","Bi","Xing","Di","Jing","Ji","Kuai","Di","Jing","Jian","Tan","Li","Ba","Wu","Fen","Zhui","Po","Pan","Tang","Kun","Qu","Tan","Zhi","Tuo","Gan","Ping","Dian","Gua","Ni","Tai","Pi","Jiong","Yang","Fo","Ao","Liu","Qiu","Mu","Ke","Gou","Xue","Ba","Chi","Che","Ling","Zhu","Fu","Hu","Zhi","Chui","La","Long","Long","Lu","Ao","Tay","Pao",null,"Xing","Dong","Ji","Ke","Lu","Ci","Chi","Lei","Gai","Yin","Hou","Dui","Zhao","Fu","Guang","Yao","Duo","Duo","Gui","Cha","Yang","Yin","Fa","Gou","Yuan","Die","Xie","Ken","Jiong","Shou","E","Ha","Dian","Hong","Wu","Kua",null,"Tao","Dang","Kai","Gake","Nao","An","Xing","Xian","Huan","Bang","Pei","Ba","Yi","Yin","Han","Xu","Chui","Cen","Geng","Ai","Peng","Fang","Que","Yong","Xun","Jia","Di","Mai","Lang","Xuan","Cheng","Yan","Jin","Zhe","Lei","Lie","Bu","Cheng","Gomi","Bu","Shi","Xun","Guo","Jiong","Ye","Nian","Di","Yu","Bu","Ya","Juan","Sui","Pi","Cheng","Wan","Ju","Lun","Zheng","Kong","Chong","Dong","Dai","Tan","An","Cai","Shu","Beng","Kan","Zhi","Duo","Yi","Zhi","Yi","Pei","Ji","Zhun","Qi","Sao","Ju","Ni"],mC[88]=["Ku","Ke","Tang","Kun","Ni","Jian","Dui","Jin","Gang","Yu","E","Peng","Gu","Tu","Leng",null,"Ya","Qian",null,"An",null,"Duo","Nao","Tu","Cheng","Yin","Hun","Bi","Lian","Guo","Die","Zhuan","Hou","Bao","Bao","Yu","Di","Mao","Jie","Ruan","E","Geng","Kan","Zong","Yu","Huang","E","Yao","Yan","Bao","Ji","Mei","Chang","Du","Tuo","Yin","Feng","Zhong","Jie","Zhen","Feng","Gang","Chuan","Jian","Pyeng","Toride","Xiang","Huang","Leng","Duan",null,"Xuan","Ji","Ji","Kuai","Ying","Ta","Cheng","Yong","Kai","Su","Su","Shi","Mi","Ta","Weng","Cheng","Tu","Tang","Que","Zhong","Li","Peng","Bang","Sai","Zang","Dui","Tian","Wu","Cheng","Xun","Ge","Zhen","Ai","Gong","Yan","Kan","Tian","Yuan","Wen","Xie","Liu","Ama","Lang","Chang","Peng","Beng","Chen","Cu","Lu","Ou","Qian","Mei","Mo","Zhuan","Shuang","Shu","Lou","Chi","Man","Biao","Jing","Qi","Shu","Di","Zhang","Kan","Yong","Dian","Chen","Zhi","Xi","Guo","Qiang","Jin","Di","Shang","Mu","Cui","Yan","Ta","Zeng","Qi","Qiang","Liang",null,"Zhui","Qiao","Zeng","Xu","Shan","Shan","Ba","Pu","Kuai","Dong","Fan","Que","Mo","Dun","Dun","Dun","Di","Sheng","Duo","Duo","Tan","Deng","Wu","Fen","Huang","Tan","Da","Ye","Sho","Mama","Yu","Qiang","Ji","Qiao","Ken","Yi","Pi","Bi","Dian","Jiang","Ye","Yong","Bo","Tan","Lan","Ju","Huai","Dang","Rang","Qian","Xun","Lan","Xi","He","Ai","Ya","Dao","Hao","Ruan","Mama","Lei","Kuang","Lu","Yan","Tan","Wei","Huai","Long","Long","Rui","Li","Lin","Rang","Ten","Xun","Yan","Lei","Ba",null,"Shi","Ren",null,"Zhuang","Zhuang","Sheng","Yi","Mai","Ke","Zhu","Zhuang","Hu","Hu","Kun","Yi","Hu","Xu","Kun","Shou","Mang","Zun"],mC[89]=["Shou","Yi","Zhi","Gu","Chu","Jiang","Feng","Bei","Cay","Bian","Sui","Qun","Ling","Fu","Zuo","Xia","Xiong",null,"Nao","Xia","Kui","Xi","Wai","Yuan","Mao","Su","Duo","Duo","Ye","Qing","Uys","Gou","Gou","Qi","Meng","Meng","Yin","Huo","Chen","Da","Ze","Tian","Tai","Fu","Guai","Yao","Yang","Hang","Gao","Shi","Ben","Tai","Tou","Yan","Bi","Yi","Kua","Jia","Duo","Kwu","Kuang","Yun","Jia","Pa","En","Lian","Huan","Di","Yan","Pao","Quan","Qi","Nai","Feng","Xie","Fen","Dian",null,"Kui","Zou","Huan","Qi","Kai","Zha","Ben","Yi","Jiang","Tao","Zang","Ben","Xi","Xiang","Fei","Diao","Xun","Keng","Dian","Ao","She","Weng","Pan","Ao","Wu","Ao","Jiang","Lian","Duo","Yun","Jiang","Shi","Fen","Huo","Bi","Lian","Duo","Nu","Nu","Ding","Nai","Qian","Jian","Ta","Jiu","Nan","Cha","Hao","Xian","Fan","Ji","Shuo","Ru","Fei","Wang","Hong","Zhuang","Fu","Ma","Dan","Ren","Fu","Jing","Yan","Xie","Wen","Zhong","Pa","Du","Ji","Keng","Zhong","Yao","Jin","Yun","Miao","Pei","Shi","Yue","Zhuang","Niu","Yan","Na","Xin","Fen","Bi","Yu","Tuo","Feng","Yuan","Fang","Wu","Yu","Gui","Du","Ba","Ni","Zhou","Zhuo","Zhao","Da","Nai","Yuan","Tou","Xuan","Zhi","E","Mei","Mo","Qi","Bi","Shen","Qie","E","He","Xu","Fa","Zheng","Min","Ban","Mu","Fu","Ling","Zi","Zi","Shi","Ran","Shan","Yang","Man","Jie","Gu","Si","Xing","Wei","Zi","Ju","Shan","Pin","Ren","Yao","Tong","Jiang","Shu","Ji","Gai","Shang","Kuo","Juan","Jiao","Gou","Mu","Jian","Jian","Yi","Nian","Zhi","Ji","Ji","Xian","Heng","Guang","Jun","Kua","Yan","Ming","Lie","Pei","Yan","You","Yan","Cha","Shen","Yin","Chi","Gui","Quan","Zi"],mC[90]=["Song","Wei","Hong","Wa","Lou","Ya","Rao","Jiao","Luan","Ping","Xian","Shao","Li","Cheng","Xiao","Mang","Fu","Suo","Wu","Wei","Ke","Lai","Chuo","Ding","Niang","Xing","Nan","Yu","Nuo","Pei","Nei","Juan","Shen","Zhi","Han","Di","Zhuang","E","Pin","Tui","Han","Mian","Wu","Yan","Wu","Xi","Yan","Yu","Si","Yu","Wa",null,"Xian","Ju","Qu","Shui","Qi","Xian","Zhui","Dong","Chang","Lu","Ai","E","E","Lou","Mian","Cong","Pou","Ju","Po","Cai","Ding","Wan","Biao","Xiao","Shu","Qi","Hui","Fu","E","Wo","Tan","Fei","Wei","Jie","Tian","Ni","Quan","Jing","Hun","Jing","Qian","Dian","Xing","Hu","Wa","Lai","Bi","Yin","Chou","Chuo","Fu","Jing","Lun","Yan","Lan","Kun","Yin","Ya","Ju","Li","Dian","Xian","Hwa","Hua","Ying","Chan","Shen","Ting","Dang","Yao","Wu","Nan","Ruo","Jia","Tou","Xu","Yu","Wei","Ti","Rou","Mei","Dan","Ruan","Qin","Hui","Wu","Qian","Chun","Mao","Fu","Jie","Duan","Xi","Zhong","Mei","Huang","Mian","An","Ying","Xuan","Jie","Wei","Mei","Yuan","Zhen","Qiu","Ti","Xie","Tuo","Lian","Mao","Ran","Si","Pian","Wei","Wa","Jiu","Hu","Ao",null,"Bou","Xu","Tou","Gui","Zou","Yao","Pi","Xi","Yuan","Ying","Rong","Ru","Chi","Liu","Mei","Pan","Ao","Ma","Gou","Kui","Qin","Jia","Sao","Zhen","Yuan","Cha","Yong","Ming","Ying","Ji","Su","Niao","Xian","Tao","Pang","Lang","Nao","Bao","Ai","Pi","Pin","Yi","Piao","Yu","Lei","Xuan","Man","Yi","Zhang","Kang","Yong","Ni","Li","Di","Gui","Yan","Jin","Zhuan","Chang","Ce","Han","Nen","Lao","Mo","Zhe","Hu","Hu","Ao","Nen","Qiang","Ma","Pie","Gu","Wu","Jiao","Tuo","Zhan","Mao","Xian","Xian","Mo","Liao","Lian","Hua"],mC[91]=["Gui","Deng","Zhi","Xu","Yi","Hua","Xi","Hui","Rao","Xi","Yan","Chan","Jiao","Mei","Fan","Fan","Xian","Yi","Wei","Jiao","Fu","Shi","Bi","Shan","Sui","Qiang","Lian","Huan","Xin","Niao","Dong","Yi","Can","Ai","Niang","Neng","Ma","Tiao","Chou","Jin","Ci","Yu","Pin","Yong","Xu","Nai","Yan","Tai","Ying","Can","Niao","Wo","Ying","Mian","Kaka","Ma","Shen","Xing","Ni","Du","Liu","Yuan","Lan","Yan","Shuang","Ling","Jiao","Niang","Lan","Xian","Ying","Shuang","Shuai","Quan","Mi","Li","Luan","Yan","Zhu","Lan","Zi","Jie","Jue","Jue","Kong","Yun","Zi","Zi","Cun","Sun","Fu","Bei","Zi","Xiao","Xin","Meng","Si","Tai","Bao","Ji","Gu","Nu","Xue",null,"Zhuan","Hai","Luan","Sun","Huai","Mie","Cong","Qian","Shu","Chan","Ya","Zi","Ni","Fu","Zi","Li","Xue","Bo","Ru","Lai","Nie","Nie","Ying","Luan","Mian","Ning","Rong","Ta","Gui","Zhai","Qiong","Yu","Shou","An","Tu","Song","Wan","Rou","Yao","Hong","Yi","Jing","Zhun","Mi","Zhu","Dang","Hong","Zong","Guan","Zhou","Ding","Wan","Yi","Bao","Shi","Shi","Chong","Shen","Ke","Xuan","Shi","You","Huan","Yi","Tiao","Shi","Xian","Gong","Cheng","Qun","Gong","Xiao","Zai","Zha","Bao","Hai","Yan","Xiao","Jia","Shen","Chen","Rong","Huang","Mi","Kou","Kuan","Bin","Su","Cai","Zan","Ji","Yuan","Ji","Yin","Mi","Kou","Qing","Que","Zhen","Jian","Fu","Ning","Bing","Huan","Mei","Qin","Han","Yu","Shi","Ning","Qin","Ning","Zhi","Yu","Bao","Kuan","Ning","Qin","Mo","Cha","Ju","Gua","Qin","Hu","Wu","Liao","Shi","Zhu","Zhai","Shen","Wei","Xie","Kuan","Hui","Liao","Jun","Huan","Yi","Yi","Bao","Qin","Chong","Bao","Feng","Cun","Dui","Si","Xun","Dao","Lu","Dui","Shou"],mC[92]=["Po","Feng","Zhuan","Fu","She","Ke","Jiang","Jiang","Zhuan","Wei","Zun","Xun","Shu","Dui","Dao","Xiao","Ji","Shao","Er","Er","Er","Ga","Jian","Shu","Chen","Shang","Shang","Mo","Ga","Chang","Liao","Xian","Xian",null,"Wang","Wang","You","Liao","Liao","Yao","Mang","Wang","Wang","Wang","Ga","Yao","Duo","Kui","Zhong","Jiu","Gan","Gu","Gan","Tui","Gan","Gan","Shi","Yin","Chi","Kao","Ni","Jin","Wei","Niao","Ju","Pi","Ceng","Xi","Bi","Ju","Jie","Tian","Qu","Ti","Jie","Wu","Diao","Shi","Shi","Ping","Ji","Xie","Chen","Xi","Ni","Zhan","Xi",null,"Man","E","Lou","Ping","Ti","Fei","Shu","Xie","Tu","Lu","Lu","Xi","Ceng","Lu","Ju","Xie","Ju","Jue","Liao","Jue","Shu","Xi","Che","Tun","Ni","Shan",null,"Xian","Li","Xue","Nata",null,"Long","Yi","Qi","Ren","Wu","Han","Shen","Yu","Chu","Sui","Qi",null,"Yue","Ban","Yao","Ang","Ya","Wu","Jie","E","Ji","Qian","Fen","Yuan","Qi","Cen","Qian","Qi","Cha","Jie","Qu","Gang","Xian","Ao","Lan","Dao","Ba","Zuo","Zuo","Yang","Ju","Gang","Ke","Gou","Xue","Bei","Li","Tiao","Ju","Yan","Fu","Xiu","Jia","Ling","Tuo","Pei","You","Dai","Kuang","Yue","Qu","Hu","Po","Min","An","Tiao","Ling","Chi","Yuri","Dong","Cem","Kui","Xiu","Mao","Tong","Xue","Yi","Kura","He","Ke","Luo","E","Fu","Xun","Die","Lu","An","Er","Gai","Quan","Tong","Yi","Mu","Shi","An","Wei","Hu","Zhi","Mi","Li","Ji","Tong","Wei","You","Sang","Xia","Li","Yao","Jiao","Zheng","Luan","Jiao","E","E","Yu","Ye","Bu","Qiao","Qun","Feng","Feng","Nao","Li","You","Xian","Hong","Dao","Shen","Cheng","Tu","Geng","Jun","Hao","Xia","Yin","Yu"],mC[93]=["Lang","Kan","Lao","Lai","Xian","Que","Kong","Chong","Chong","Ta","Lin","Hua","Ju","Lai","Qi","Min","Kun","Kun","Zu","Gu","Cui","Ya","Ya","Gang","Lun","Lun","Leng","Jue","Duo","Zheng","Guo","Yin","Dong","Han","Zheng","Wei","Yao","Pi","Yan","Song","Jie","Beng","Zu","Jue","Dong","Zhan","Gu","Yin",null,"Ze","Huang","Yu","Wei","Yang","Feng","Qiu","Dun","Ti","Yi","Zhi","Shi","Zai","Yao","E","Zhu","Kan","Lu","Yan","Mei","Gan","Ji","Ji","Huan","Ting","Sheng","Mei","Qian","Wu","Yu","Zong","Lan","Jue","Yan","Yan","Wei","Zong","Cha","Sui","Rong","Yamashina","Qin","Yu","Kewashii","Lou","Tu","Dui","Xi","Weng","Cang","Dang","Hong","Jie","Ai","Liu","Wu","Song","Qiao","Zi","Wei","Beng","Dian","Cuo","Qian","Yong","Nie","Cuo","Ji",null,"Tao","Song","Zong","Jiang","Liao","Kang","Chan","Die","Cen","Ding","Tu","Lou","Zhang","Zhan","Zhan","Ao","Cao","Qu","Qiang","Zui","Zui","Dao","Dao","Xi","Yu","Bo","Long","Xiang","Ceng","Bo","Qin","Jiao","Yan","Lao","Zhan","Lin","Liao","Liao","Jin","Deng","Duo","Zun","Jiao","Gui","Yao","Qiao","Yao","Jue","Zhan","Yi","Xue","Nao","Ye","Ye","Yi","E","Xian","Ji","Xie","Ke","Xi","Di","Ao","Zui",null,"Ni","Rong","Dao","Ling","Za","Yu","Yue","Yin",null,"Jie","Li","Sui","Long","Long","Dian","Ying","Xi","Ju","Chan","Ying","Kui","Yan","Wei","Nao","Quan","Chao","Cuan","Luan","Dian","Dian",null,"Yan","Yan","Yan","Nao","Yan","Chuan","Gui","Chuan","Zhou","Huang","Jing","Xun","Chao","Chao","Lie","Gong","Zuo","Qiao","Ju","Gong","Kek","Wu","Pwu","Pwu","Chai","Qiu","Qiu","Ji","Yi","Si","Ba","Zhi","Zhao","Xiang","Yi","Jin","Xun","Juan","Phas","Xun","Jin","Fu"],mC[94]=["Za","Bi","Shi","Bu","Ding","Shuai","Fan","Nie","Shi","Fen","Pa","Zhi","Xi","Hu","Dan","Wei","Zhang","Tang","Dai","Ma","Pei","Pa","Tie","Fu","Lian","Zhi","Zhou","Bo","Zhi","Di","Mo","Yi","Yi","Ping","Qia","Juan","Ru","Shuai","Dai","Zheng","Shui","Qiao","Zhen","Shi","Qun","Xi","Bang","Dai","Gui","Chou","Ping","Zhang","Sha","Wan","Dai","Wei","Chang","Sha","Qi","Ze","Guo","Mao","Du","Hou","Zheng","Xu","Mi","Wei","Wo","Fu","Yi","Bang","Ping","Tazuna","Gong","Pan","Huang","Dao","Mi","Jia","Teng","Hui","Zhong","Shan","Man","Mu","Biao","Guo","Ze","Mu","Bang","Zhang","Jiong","Chan","Fu","Zhi","Hu","Fan","Chuang","Bi","Hei",null,"Mi","Qiao","Chan","Fen","Meng","Bang","Chou","Mie","Chu","Jie","Xian","Lan","Gan","Ping","Nian","Qian","Bing","Bing","Xing","Gan","Yao","Huan","You","You","Ji","Guang","Pi","Ting","Ze","Guang","Zhuang","Mo","Qing","Bi","Qin","Dun","Chuang","Gui","Ya","Bai","Jie","Xu","Lu","Wu",null,"Ku","Ying","Di","Pao","Dian","Ya","Miao","Geng","Ci","Fu","Tong","Pang","Fei","Xiang","Yi","Zhi","Tiao","Zhi","Xiu","Du","Zuo","Xiao","Tu","Gui","Ku","Pang","Ting","You","Bu","Ding","Cheng","Lai","Bei","Ji","An","Shu","Kang","Yong","Tuo","Song","Shu","Qing","Yu","Yu","Miao","Sou","Ce","Xiang","Fei","Jiu","He","Hui","Liu","Sha","Lian","Lang","Sou","Jian","Pou","Qing","Jiu","Jiu","Qin","Ao","Kuo","Lou","Yin","Liao","Dai","Lu","Yi","Chu","Chan","Tu","Si","Xin","Miao","Chang","Wu","Fei","Guang","Koc","Kuai","Bi","Qiang","Xie","Lin","Lin","Liao","Lu",null,"Ying","Xian","Ting","Yong","Li","Ting","Yin","Xun","Yan","Ting","Di","Po","Jian","Hui","Nai","Hui","Gong","Nian"],mC[95]=["Kai","Bian","Yi","Qi","Nong","Fen","Ju","Yan","Yi","Zang","Bi","Yi","Yi","Er","San","Shi","Er","Shi","Shi","Gong","Diao","Yin","Hu","Fu","Hong","Wu","Tui","Chi","Jiang","Ba","Shen","Di","Zhang","Jue","Tao","Fu","Di","Mi","Xian","Hu","Chao","Nu","Jing","Zhen","Yi","Mi","Quan","Wan","Shao","Ruo","Xuan","Jing","Dun","Zhang","Jiang","Qiang","Peng","Dan","Qiang","Bi","Bi","She","Dan","Jian","Gou","Sei","Fa","Bi","Kou","Nagi","Bie","Xiao","Dan","Kuo","Qiang","Hong","Mi","Kuo","Wan","Jue","Ji","Ji","Gui","Dang","Lu","Lu","Tuan","Hui","Zhi","Hui","Hui","Yi","Yi","Yi","Yi","Huo","Huo","Shan","Xing","Wen","Tong","Yan","Yan","Yu","Chi","Cai","Biao","Diao","Bin","Peng","Yong","Piao","Zhang","Ying","Chi","Chi","Zhuo","Tuo","Ji","Pang","Zhong","Yi","Wang","Che","Bi","Chi","Ling","Fu","Wang","Zheng","Cu","Wang","Jing","Dai","Xi","Xun","Hen","Yang","Huai","Lu","Hou","Wa","Cheng","Zhi","Xu","Jing","Tu","Cong",null,"Lai","Cong","De","Pai","Xi",null,"Qi","Chang","Zhi","Cong","Zhou","Lai","Yu","Xie","Jie","Jian","Chi","Jia","Bian","Huang","Fu","Xun","Wei","Pang","Yao","Wei","Xi","Zheng","Piao","Chi","De","Zheng","Zheng","Bie","De","Chong","Che","Jiao","Wei","Jiao","Hui","Mei","Long","Xiang","Bao","Qu","Xin","Shu","Bi","Yi","Le","Ren","Dao","Ding","Gai","Ji","Ren","Ren","Chan","Tan","Te","Te","Gan","Qi","Shi","Cun","Zhi","Wang","Mang","Xi","Fan","Ying","Tian","Min","Min","Zhong","Chong","Wu","Ji","Wu","Xi","Ye","You","Wan","Cong","Zhong","Kuai","Yu","Bian","Zhi","Qi","Cui","Chen","Tai","Tun","Qian","Nian","Hun","Xiong","Niu","Wang","Xian","Xin","Kang","Hu","Kai","Fen"],mC[96]=["Huai","Tai","Song","Wu","Ou","Chang","Chuang","Ju","Yi","Bao","Chao","Min","Pei","Zuo","Zen","Yang","Kou","Ban","Nu","Nao","Zheng","Pa","Bu","Tie","Gu","Hu","Ju","Da","Lian","Si","Chou","Di","Dai","Yi","Tu","You","Fu","Ji","Peng","Xing","Yuan","Ni","Guai","Fu","Xi","Bi","You","Qie","Xuan","Cong","Bing","Huang","Xu","Chu","Pi","Xi","Xi","Tan","Koraeru","Zong","Dui",null,"Ki","Yi","Chi","Ren","Xun","Shi","Xi","Lao","Heng","Kuang","Mu","Zhi","Xie","Lian","Tiao","Huang","Die","Hao","Kong","Gui","Heng","Xi","Xiao","Shu","S","Kua","Qiu","Yang","Hui","Hui","Chi","Jia","Yi","Xiong","Guai","Lin","Hui","Zi","Xu","Chi","Xiang","Nu","Hen","En","Ke","Tong","Tian","Gong","Quan","Xi","Qia","Yue","Peng","Ken","De","Hui","E","Kyuu","Tong","Yan","Kai","Ce","Nao","Yun","Mang","Yong","Yong","Yuan","Pi","Kun","Qiao","Yue","Yu","Yu","Jie","Xi","Zhe","Lin","Ti","Han","Hao","Qie","Ti","Bu","Yi","Qian","Hui","Xi","Bei","Man","Yi","Heng","Song","Quan","Cheng","Hui","Wu","Wu","You","Li","Liang","Huan","Cong","Yi","Yue","Li","Nin","Nao","E","Que","Xuan","Qian","Wu","Min","Cong","Fei","Bei","Duo","Cui","Chang","Men","Li","Ji","Guan","Guan","Xing","Dao","Qi","Kong","Tian","Lun","Xi","Kan","Kun","Ni","Qing","Chou","Dun","Guo","Chan","Liang","Wan","Yuan","Jin","Ji","Lin","Yu","Huo","He","Quan","Tan","Ti","Ti","Nie","Wang","Chuo","Bu","Hun","Xi","Tang","Xin","Wei","Hui","E","Rui","Zong","Jian","Yong","Dian","Ju","Can","Cheng","De","Bei","Qie","Can","Dan","Guan","Duo","Nao","Yun","Xiang","Zhui","Die","Huang","Chun","Qiong","Re","Xing","Ce","Bian","Hun","Zong","Ti"],mC[97]=["Qiao","Chou","Bei","Xuan","Wei","Ge","Qian","Wei","Yu","Yu","Bi","Xuan","Huan","Min","Bi","Yi","Mian","Yong","Kai","Dang","Yin","E","Chen","Mou","Ke","Ke","Yu","Ai","Qie","Yan","Nuo","Gan","Yun","Zong","Sai","Leng","Fen",null,"Kui","Kui","Que","Gong","Yun","Su","Su","Qi","Yao","Song","Huang","Ji","Gu","Ju","Chuang","Ni","Xie","Kai","Zheng","Yong","Cao","Sun","Shen","Bo","Kai","Yuan","Xie","Hun","Yong","Yang","Li","Sao","Tao","Yin","Ci","Xu","Qian","Tai","Huang","Yun","Shen","Ming",null,"She","Cong","Piao","Mo","Mu","Guo","Chi","Can","Can","Can","Cui","Min","Te","Zhang","Tong","Ao","Shuang","Man","Guan","Que","Zao","Jiu","Hui","Kai","Lian","Ou","Song","Jin","Yin","Lu","Shang","Wei","Tuan","Man","Qian","She","Yong","Qing","Kang","Di","Zhi","Lou","Juan","Qi","Qi","Yu","Ping","Liao","Cong","You","Chong","Zhi","Tong","Cheng","Qi","Qu","Peng","Bei","Bie","Chun","Jiao","Zeng","Chi","Lian","Ping","Kui","Hui","Qiao","Cheng","Yin","Yin","Xi","Xi","Dan","Tan","Duo","Dui","Dui","Su","Jue","Ce","Xiao","Fan","Fen","Lao","Lao","Chong","Han","Qi","Xian","Min","Jing","Liao","Wu","Can","Jue","Cu","Xian","Tan","Sheng","Pi","Yi","Chu","Xian","Nao","Dan","Tan","Jing","Song","Han","Jiao","Wai","Huan","Dong","Qin","Qin","Qu","Cao","Ken","Xie","Ying","Ao","Mao","Yi","Lin","Se","Jun","Huai","Men","Lan","Ai","Lin","Yan","Gua","Xia","Chi","Yu","Yin","Dai","Meng","Ai","Meng","Dui","Qi","Mo","Lan","Men","Chou","Zhi","Nuo","Nuo","Yan","Yang","Bo","Zhi","Kuang","Kuang","You","Fu","Liu","Mie","Cheng",null,"Chan","Meng","Lan","Huai","Xuan","Rang","Chan","Ji","Ju","Huan","She","Yi"],mC[98]=["Lian","Nan","Mi","Tang","Jue","Gang","Gang","Gang","Ge","Yue","Wu","Jian","Xu","Shu","Rong","Xi","Cheng","Wo","Jie","Ge","Jian","Qiang","Huo","Qiang","Zhan","Dong","Qi","Jia","Die","Zei","Jia","Ji","Shi","Kan","Ji","Kui","Gai","Deng","Zhan","Chuang","Ge","Jian","Jie","Yu","Jian","Yan","Lu","Xi","Zhan","Xi","Xi","Chuo","Dai","Qu","Hu","Hu","Hu","E","Shi","Li","Mao","Hu","Li","Fang","Suo","Bian","Dian","Jiong","Shang","Yi","Yi","Shan","Hu","Fei","Yan","Shou","T","Cai","Zha","Qiu","Le","Bu","Ba","Da","Reng","Fu","Hameru","Zai","Tuo","Zhang","Diao","Kang","Yu","Ku","Han","Shen","Cha","Yi","Gu","Kou","Wu","Tuo","Qian","Zhi","Ren","Kuo","Men","Sao","Yang","Niu","Ban","Che","Rao","Xi","Qian","Ban","Jia","Yu","Fu","Ao","Xi","Pi","Zhi","Zi","E","Dun","Zhao","Cheng","Ji","Yan","Kuang","Bian","Chao","Ju","Wen","Hu","Yue","Jue","Ba","Qin","Zhen","Zheng","Yun","Wan","Nu","Yi","Shu","Zhua","Pou","Tou","Dou","Kang","Zhe","Pou","Fu","Pao","Ba","Ao","Ze","Tuan","Kou","Lun","Qiang",null,"Hu","Bao","Bing","Zhi","Peng","Tan","Pu","Pi","Tai","Yao","Zhen","Zha","Yang","Bao","He","Ni","Yi","Di","Chi","Pi","Za","Mo","Mo","Shen","Ya","Chou","Qu","Min","Chu","Jia","Fu","Zhan","Zhu","Dan","Chai","Mu","Nian","La","Fu","Pao","Ban","Pai","Ling","Na","Guai","Qian","Ju","Tuo","Ba","Tuo","Tuo","Ao","Ju","Zhuo","Pan","Zhao","Bai","Bai","Di","Ni","Ju","Kuo","Long","Jian",null,"Yong","Lan","Ning","Bo","Ze","Qian","Hen","Gua","Shi","Jie","Zheng","Nin","Gong","Gong","Quan","Shuan","Cun","Zan","Kao","Chi","Xie","Ce","Hui","Pin","Zhuai","Shi","Na"],mC[99]=["Bo","Chi","Gua","Zhi","Kuo","Duo","Duo","Zhi","Qie","An","Nong","Zhen","Ge","Jiao","Ku","Dong","Ru","Tiao","Lie","Zha","Lu","Die","Wa","Jue","Mushiru","Ju","Zhi","Luan","Ya","Zhua","Ta","Xie","Nao","Dang","Jiao","Zheng","Ji","Hui","Xun","Ku","Ai","Tuo","Nuo","Cuo","Bo","Geng","Ti","Zhen","Cheng","Suo","Suo","Keng","Mei","Long","Ju","Peng","Jian","Yi","Ting","Shan","Nuo","Wan","Xie","Cha","Feng","Jiao","Wu","Jun","Jiu","Tong","Kun","Huo","Tu","Zhuo","Pou","Le","Ba","Han","Shao","Nie","Juan","Ze","Song","Ye","Jue","Bu","Huan","Bu","Zun","Yi","Zhai","Lu","Sou","Tuo","Lao","Sun","Bang","Jian","Huan","Dao",null,"Wan","Qin","Peng","She","Lie","Min","Men","Fu","Bai","Ju","Dao","Wo","Ai","Juan","Yue","Zong","Chen","Chui","Jie","Tu","Ben","Na","Nian","Nuo","Zu","Wo","Xi","Xian","Cheng","Dian","Sao","Lun","Qing","Gang","Duo","Shou","Diao","Pou","Di","Zhang","Gun","Ji","Tao","Qia","Qi","Pai","Shu","Qian","Ling","Yi","Ya","Jue","Zheng","Liang","Gua","Yi","Huo","Shan","Zheng","Lue","Cai","Tan","Che","Bing","Jie","Ti","Kong","Tui","Yan","Cuo","Zou","Ju","Tian","Qian","Ken","Bai","Shou","Jie","Lu","Guo","Haba",null,"Zhi","Dan","Mang","Xian","Sao","Guan","Peng","Yuan","Nuo","Jian","Zhen","Jiu","Jian","Yu","Yan","Kui","Nan","Hong","Rou","Pi","Wei","Sai","Zou","Xuan","Miao","Ti","Nie","Cha","Shi","Zong","Zhen","Yi","Shun","Heng","Bian","Yang","Huan","Yan","Zuan","An","Xu","Ya","Wo","Ke","Chuai","Ji","Ti","La","La","Cheng","Kai","Jiu","Jiu","Tu","Jie","Hui","Geng","Chong","Shuo","She","Xie","Yuan","Qian","Ye","Cha","Zha","Bei","Yao",null,null,"Lan","Wen","Qin"],mC[100]=["Chan","Ge","Lou","Zong","Geng","Jiao","Gou","Qin","Yong","Que","Chou","Chi","Zhan","Sun","Sun","Bo","Chu","Rong","Beng","Cuo","Sao","Ke","Yao","Dao","Zhi","Nu","Xie","Jian","Sou","Qiu","Gao","Xian","Shuo","Sang","Jin","Mie","E","Chui","Nuo","Shan","Ta","Jie","Tang","Pan","Ban","Da","Li","Tao","Hu","Zhi","Wa","Xia","Qian","Wen","Qiang","Tian","Zhen","E","Xi","Nuo","Quan","Cha","Zha","Ge","Wu","En","She","Kang","She","Shu","Bai","Yao","Bin","Sou","Tan","Sa","Chan","Suo","Liao","Chong","Chuang","Guo","Bing","Feng","Shuai","Di","Qi","Sou","Zhai","Lian","Tang","Chi","Guan","Lu","Luo","Lou","Zong","Gai","Hu","Zha","Chuang","Tang","Hua","Cui","Nai","Mo","Jiang","Gui","Ying","Zhi","Ao","Zhi","Nie","Man","Shan","Kou","Shu","Suo","Tuan","Jiao","Mo","Mo","Zhe","Xian","Keng","Piao","Jiang","Yin","Gou","Qian","Lue","Ji","Ying","Jue","Pie","Pie","Lao","Dun","Xian","Ruan","Kui","Zan","Yi","Xun","Cheng","Cheng","Sa","Nao","Heng","Si","Qian","Huang","Da","Zun","Nian","Lin","Zheng","Hui","Zhuang","Jiao","Ji","Cao","Dan","Dan","Che","Bo","Che","Jue","Xiao","Liao","Ben","Fu","Qiao","Bo","Cuo","Zhuo","Zhuan","Tuo","Pu","Qin","Dun","Nian",null,"Xie","Lu","Jiao","Cuan","Ta","Han","Qiao","Zhua","Jian","Gan","Yong","Lei","Kuo","Lu","Shan","Zhuo","Ze","Pu","Chuo","Ji","Dang","Suo","Cao","Qing","Jing","Huan","Jie","Qin","Kuai","Dan","Xi","Ge","Pi","Bo","Ao","Ju","Ye",null,"Mang","Sou","Mi","Ji","Tai","Zhuo","Dao","Xing","Lan","Ca","Ju","Ye","Ru","Ye","Ye","Ni","Hu","Ji","Bin","Ning","Ge","Zhi","Jie","Kuo","Mo","Jian","Xie","Lie","Tan","Bai","Sou","Lu","Lue","Rao","Zhi"],mC[101]=["Pan","Yang","Lei","Sa","Shu","Zan","Nian","Xian","Jun","Huo","Li","La","Han","Ying","Lu","Long","Qian","Qian","Zan","Qian","Lan","San","Ying","Mei","Rang","Chan",null,"Cuan","Xi","She","Luo","Jun","Mi","Li","Zan","Luan","Tan","Zuan","Li","Dian","Wa","Dang","Jiao","Jue","Lan","Li","Nang","Zhi","Gui","Gui","Qi","Xin","Pu","Sui","Shou","Kao","You","Gai","Yi","Gong","Gan","Ban","Fang","Zheng","Bo","Dian","Kou","Min","Wu","Gu","He","Ce","Xiao","Mi","Chu","Ge","Di","Xu","Jiao","Min","Chen","Jiu","Zhen","Duo","Yu","Chi","Ao","Bai","Xu","Jiao","Duo","Lian","Nie","Bi","Chang","Dian","Duo","Yi","Gan","San","Ke","Yan","Dun","Qi","Dou","Xiao","Duo","Jiao","Jing","Yang","Xia","Min","Shu","Ai","Qiao","Ai","Zheng","Di","Zhen","Fu","Shu","Liao","Qu","Xiong","Xi","Jiao","Sen","Jiao","Zhuo","Yi","Lian","Bi","Li","Xiao","Xiao","Wen","Xue","Qi","Qi","Zhai","Bin","Jue","Zhai",null,"Fei","Ban","Ban","Lan","Yu","Lan","Wei","Dou","Sheng","Liao","Jia","Hu","Xie","Jia","Yu","Zhen","Jiao","Wo","Tou","Chu","Jin","Chi","Yin","Fu","Qiang","Zhan","Qu","Zhuo","Zhan","Duan","Zhuo","Si","Xin","Zhuo","Zhuo","Qin","Lin","Zhuo","Chu","Duan","Zhu","Fang","Xie","Hang","Yu","Shi","Pei","You","Mye","Pang","Qi","Zhan","Mao","Lu","Pei","Pi","Liu","Fu","Fang","Xuan","Jing","Jing","Ni","Zu","Zhao","Yi","Liu","Shao","Jian","Es","Yi","Qi","Zhi","Fan","Piao","Fan","Zhan","Guai","Sui","Yu","Wu","Ji","Ji","Ji","Huo","Ri","Dan","Jiu","Zhi","Zao","Xie","Tiao","Xun","Xu","Xu","Xu","Gan","Han","Tai","Di","Xu","Chan","Shi","Kuang","Yang","Shi","Wang","Min","Min","Tun","Chun","Wu"],mC[102]=["Yun","Bei","Ang","Ze","Ban","Jie","Kun","Sheng","Hu","Fang","Hao","Gui","Chang","Xuan","Ming","Hun","Fen","Qin","Hu","Yi","Xi","Xin","Yan","Ze","Fang","Tan","Shen","Ju","Yang","Zan","Bing","Xing","Ying","Xuan","Pei","Zhen","Ling","Chun","Hao","Mei","Zuo","Mo","Bian","Xu","Hun","Zhao","Zong","Shi","Shi","Yu","Fei","Die","Mao","Ni","Chang","Wen","Dong","Ai","Bing","Ang","Zhou","Long","Xian","Kuang","Tiao","Chao","Shi","Huang","Huang","Xuan","Kui","Xu","Jiao","Jin","Zhi","Jin","Shang","Tong","Hong","Yan","Gai","Xiang","Shai","Xiao","Ye","Yun","Hui","Han","Han","Jun","Wan","Xian","Kun","Zhou","Xi","Cheng","Sheng","Bu","Zhe","Zhe","Wu","Han","Hui","Hao","Chen","Wan","Tian","Zhuo","Zui","Zhou","Pu","Jing","Xi","Shan","Yi","Xi","Qing","Qi","Jing","Gui","Zhen","Yi","Zhi","An","Wan","Lin","Liang","Chang","Wang","Xiao","Zan","Hi","Xuan","Xuan","Yi","Xia","Yun","Hui","Fu","Min","Kui","He","Ying","Du","Wei","Shu","Qing","Mao","Nan","Jian","Nuan","An","Yang","Chun","Yao","Suo","Jin","Ming","Jiao","Kai","Gao","Weng","Chang","Qi","Hao","Yan","Li","Ai","Ji","Gui","Men","Zan","Xie","Hao","Mu","Mo","Cong","Ni","Zhang","Hui","Bao","Han","Xuan","Chuan","Liao","Xian","Dan","Jing","Pie","Lin","Tun","Xi","Yi","Ji","Huang","Tai","Ye","Ye","Li","Tan","Tong","Xiao","Fei","Qin","Zhao","Hao","Yi","Xiang","Xing","Sen","Jiao","Bao","Jing","Yian","Ai","Ye","Ru","Shu","Meng","Xun","Yao","Pu","Li","Chen","Kuang","Die",null,"Yan","Huo","Lu","Xi","Rong","Long","Nang","Luo","Luan","Shai","Tang","Yan","Chu","Yue","Yue","Qu","Yi","Geng","Ye","Hu","He","Shu","Cao","Cao","Noboru","Man","Ceng","Ceng","Ti"],mC[103]=["Zui","Can","Xu","Hui","Yin","Qie","Fen","Pi","Yue","You","Ruan","Peng","Ban","Fu","Ling","Fei","Qu",null,"Nu","Tiao","Shuo","Zhen","Lang","Lang","Juan","Ming","Huang","Wang","Tun","Zhao","Ji","Qi","Ying","Zong","Wang","Tong","Lang",null,"Meng","Long","Mu","Deng","Wei","Mo","Ben","Zha","Zhu","Shu",null,"Zhu","Ren","Ba","Po","Duo","Duo","Dao","Li","Qiu","Ji","Jiu","Bi","Xiu","Ting","Ci","Sha","Eburi","Za","Quan","Qian","Yu","Gan","Wu","Cha","Shan","Xun","Fan","Wu","Zi","Li","Xing","Cai","Cun","Ren","Shao","Tuo","Di","Zhang","Mang","Chi","Yi","Gu","Gong","Du","Yi","Qi","Shu","Gang","Tiao","Moku","Soma","Tochi","Lai","Sugi","Mang","Yang","Ma","Miao","Si","Yuan","Hang","Fei","Bei","Jie","Dong","Gao","Yao","Xian","Chu","Qun","Pa","Shu","Hua","Xin","Chou","Zhu","Chou","Song","Ban","Song","Ji","Yue","Jin","Gou","Ji","Mao","Pi","Bi","Wang","Ang","Fang","Fen","Yi","Fu","Nan","Xi","Hu","Ya","Dou","Xun","Zhen","Yao","Lin","Rui","E","Mei","Zhao","Guo","Zhi","Cong","Yun","Waku","Dou","Shu","Zao",null,"Li","Haze","Jian","Cheng","Matsu","Qiang","Feng","Nan","Xiao","Xian","Ku","Ping","Yi","Xi","Zhi","Guai","Xiao","Jia","Jia","Gou","Fu","Mo","Yi","Ye","Ye","Shi","Nie","Bi","Duo","Yi","Ling","Bing","Ni","La","He","Pan","Fan","Zhong","Dai","Ci","Yang","Fu","Bo","Mou","Gan","Qi","Ran","Rou","Mao","Zhao","Song","Zhe","Xia","You","Shen","Ju","Tuo","Zuo","Nan","Ning","Yong","Di","Zhi","Zha","Cha","Dan","Gu","Pu","Jiu","Ao","Fu","Jian","Bo","Duo","Ke","Nai","Zhu","Bi","Liu","Chai","Zha","Si","Zhu","Pei","Shi","Guai","Cha","Yao","Jue","Jiu","Shi"],mC[104]=["Zhi","Liu","Mei","Hoy","Rong","Zha",null,"Biao","Zhan","Jie","Long","Dong","Lu","Sayng","Li","Lan","Yong","Shu","Xun","Shuan","Qi","Zhen","Qi","Li","Yi","Xiang","Zhen","Li","Su","Gua","Kan","Bing","Ren","Xiao","Bo","Ren","Bing","Zi","Chou","Yi","Jie","Xu","Zhu","Jian","Zui","Er","Er","You","Fa","Gong","Kao","Lao","Zhan","Li","Yin","Yang","He","Gen","Zhi","Chi","Ge","Zai","Luan","Fu","Jie","Hang","Gui","Tao","Guang","Wei","Kuang","Ru","An","An","Juan","Yi","Zhuo","Ku","Zhi","Qiong","Tong","Sang","Sang","Huan","Jie","Jiu","Xue","Duo","Zhui","Yu","Zan","Kasei","Ying","Masu",null,"Zhan","Ya","Nao","Zhen","Dang","Qi","Qiao","Hua","Kuai","Jiang","Zhuang","Xun","Suo","Sha","Zhen","Bei","Ting","Gua","Jing","Bo","Ben","Fu","Rui","Tong","Jue","Xi","Lang","Liu","Feng","Qi","Wen","Jun","Gan","Cu","Liang","Qiu","Ting","You","Mei","Bang","Long","Peng","Zhuang","Di","Xuan","Tu","Zao","Ao","Gu","Bi","Di","Han","Zi","Zhi","Ren","Bei","Geng","Jian","Huan","Wan","Nuo","Jia","Tiao","Ji","Xiao","Lu","Huan","Shao","Cen","Fen","Song","Meng","Wu","Li","Li","Dou","Cen","Ying","Suo","Ju","Ti","Jie","Kun","Zhuo","Shu","Chan","Fan","Wei","Jing","Li","Bing","Fumoto","Shikimi","Tao","Zhi","Lai","Lian","Jian","Zhuo","Ling","Li","Qi","Bing","Zhun","Cong","Qian","Mian","Qi","Qi","Cai","Gun","Chan","Te","Fei","Pai","Bang","Pou","Hun","Zong","Cheng","Zao","Ji","Li","Peng","Yu","Yu","Gu","Hun","Dong","Tang","Gang","Wang","Di","Xi","Fan","Cheng","Zhan","Qi","Yuan","Yan","Yu","Quan","Yi","Sen","Ren","Chui","Leng","Qi","Zhuo","Fu","Ke","Lai","Zou","Zou","Zhuo","Guan","Fen","Fen","Chen","Qiong","Nie"],mC[105]=["Wan","Guo","Lu","Hao","Jie","Yi","Chou","Ju","Ju","Cheng","Zuo","Liang","Qiang","Zhi","Zhui","Ya","Ju","Bei","Jiao","Zhuo","Zi","Bin","Peng","Ding","Chu","Chang","Kunugi","Momiji","Jian","Gui","Xi","Du","Qian","Kunugi","Soko","Shide","Luo","Zhi","Ken","Myeng","Tafu",null,"Peng","Zhan",null,"Tuo","Sen","Duo","Ye","Fou","Wei","Wei","Duan","Jia","Zong","Jian","Yi","Shen","Xi","Yan","Yan","Chuan","Zhan","Chun","Yu","He","Zha","Wo","Pian","Bi","Yao","Huo","Xu","Ruo","Yang","La","Yan","Ben","Hun","Kui","Jie","Kui","Si","Feng","Xie","Tuo","Zhi","Jian","Mu","Mao","Chu","Hu","Hu","Lian","Leng","Ting","Nan","Yu","You","Mei","Song","Xuan","Xuan","Ying","Zhen","Pian","Ye","Ji","Jie","Ye","Chu","Shun","Yu","Cou","Wei","Mei","Di","Ji","Jie","Kai","Qiu","Ying","Rou","Heng","Lou","Le","Hazou","Katsura","Pin","Muro","Gai","Tan","Lan","Yun","Yu","Chen","Lu","Ju","Sakaki",null,"Pi","Xie","Jia","Yi","Zhan","Fu","Nai","Mi","Lang","Rong","Gu","Jian","Ju","Ta","Yao","Zhen","Bang","Sha","Yuan","Zi","Ming","Su","Jia","Yao","Jie","Huang","Gan","Fei","Zha","Qian","Ma","Sun","Yuan","Xie","Rong","Shi","Zhi","Cui","Yun","Ting","Liu","Rong","Tang","Que","Zhai","Si","Sheng","Ta","Ke","Xi","Gu","Qi","Kao","Gao","Sun","Pan","Tao","Ge","Xun","Dian","Nou","Ji","Shuo","Gou","Chui","Qiang","Cha","Qian","Huai","Mei","Xu","Gang","Gao","Zhuo","Tuo","Hashi","Yang","Dian","Jia","Jian","Zui","Kashi","Ori","Bin","Zhu",null,"Xi","Qi","Lian","Hui","Yong","Qian","Guo","Gai","Gai","Tuan","Hua","Cu","Sen","Cui","Beng","You","Hu","Jiang","Hu","Huan","Kui","Yi","Nie","Gao","Kang","Gui","Gui","Cao","Man","Jin"],mC[106]=["Di","Zhuang","Le","Lang","Chen","Cong","Li","Xiu","Qing","Shuang","Fan","Tong","Guan","Ji","Suo","Lei","Lu","Liang","Mi","Lou","Chao","Su","Ke","Shu","Tang","Biao","Lu","Jiu","Shu","Zha","Shu","Zhang","Men","Mo","Niao","Yang","Tiao","Peng","Zhu","Sha","Xi","Quan","Heng","Jian","Cong",null,"Hokuso","Qiang","Tara","Ying","Er","Xin","Zhi","Qiao","Zui","Cong","Pu","Shu","Hua","Kui","Zhen","Zun","Yue","Zhan","Xi","Xun","Dian","Fa","Gan","Mo","Wu","Qiao","Nao","Lin","Liu","Qiao","Xian","Run","Fan","Zhan","Tuo","Lao","Yun","Shun","Tui","Cheng","Tang","Meng","Ju","Cheng","Su","Jue","Jue","Tan","Hui","Ji","Nuo","Xiang","Tuo","Ning","Rui","Zhu","Chuang","Zeng","Fen","Qiong","Ran","Heng","Cen","Gu","Liu","Lao","Gao","Chu","Zusa","Nude","Ca","San","Ji","Dou","Shou","Lu",null,null,"Yuan","Ta","Shu","Jiang","Tan","Lin","Nong","Yin","Xi","Sui","Shan","Zui","Xuan","Cheng","Gan","Ju","Zui","Yi","Qin","Pu","Yan","Lei","Feng","Hui","Dang","Ji","Sui","Bo","Bi","Ding","Chu","Zhua","Kuai","Ji","Jie","Jia","Qing","Zhe","Jian","Qiang","Dao","Yi","Biao","Song","She","Lin","Kunugi","Cha","Meng","Yin","Tao","Tai","Mian","Qi","Toan","Bin","Huo","Ji","Qian","Mi","Ning","Yi","Gao","Jian","Yin","Er","Qing","Yan","Qi","Mi","Zhao","Gui","Chun","Ji","Kui","Po","Deng","Chu",null,"Mian","You","Zhi","Guang","Qian","Lei","Lei","Sa","Lu","Li","Cuan","Lu","Mie","Hui","Ou","Lu","Jie","Gao","Du","Yuan","Li","Fei","Zhuo","Sou","Lian","Tamo","Chu",null,"Zhu","Lu","Yan","Li","Zhu","Chen","Jie","E","Su","Huai","Nie","Yu","Long","Lai",null,"Xian","Kwi","Ju","Xiao","Ling","Ying","Jian","Yin","You","Ying"],mC[107]=["Xiang","Nong","Bo","Chan","Lan","Ju","Shuang","She","Wei","Cong","Quan","Qu","Cang",null,"Yu","Luo","Li","Zan","Luan","Dang","Jue","Em","Lan","Lan","Zhu","Lei","Li","Ba","Nang","Yu","Ling","Tsuki","Qian","Ci","Huan","Xin","Yu","Yu","Qian","Ou","Xu","Chao","Chu","Chi","Kai","Yi","Jue","Xi","Xu","Xia","Yu","Kuai","Lang","Kuan","Shuo","Xi","Ai","Yi","Qi","Hu","Chi","Qin","Kuan","Kan","Kuan","Kan","Chuan","Sha","Gua","Yin","Xin","Xie","Yu","Qian","Xiao","Yi","Ge","Wu","Tan","Jin","Ou","Hu","Ti","Huan","Xu","Pen","Xi","Xiao","Xu","Xi","Sen","Lian","Chu","Yi","Kan","Yu","Chuo","Huan","Zhi","Zheng","Ci","Bu","Wu","Qi","Bu","Bu","Wai","Ju","Qian","Chi","Se","Chi","Se","Zhong","Sui","Sui","Li","Cuo","Yu","Li","Gui","Dai","Dai","Si","Jian","Zhe","Mo","Mo","Yao","Mo","Cu","Yang","Tian","Sheng","Dai","Shang","Xu","Xun","Shu","Can","Jue","Piao","Qia","Qiu","Su","Qing","Yun","Lian","Yi","Fou","Zhi","Ye","Can","Hun","Dan","Ji","Ye","Zhen","Yun","Wen","Chou","Bin","Ti","Jin","Shang","Yin","Diao","Cu","Hui","Cuan","Yi","Dan","Du","Jiang","Lian","Bin","Du","Tsukusu","Jian","Shu","Ou","Duan","Zhu","Yin","Qing","Yi","Sha","Que","Ke","Yao","Jun","Dian","Hui","Hui","Gu","Que","Ji","Yi","Ou","Hui","Duan","Yi","Xiao","Wu","Guan","Mu","Mei","Mei","Ai","Zuo","Du","Yu","Bi","Bi","Bi","Pi","Pi","Bi","Chan","Mao",null,null,"Pu","Mushiru","Jia","Zhan","Sai","Mu","Tuo","Xun","Er","Rong","Xian","Ju","Mu","Hao","Qiu","Dou","Mushiru","Tan","Pei","Ju","Duo","Cui","Bi","San",null,"Mao","Sui","Yu","Yu","Tuo","He","Jian","Ta","San"],mC[108]=["Lu","Mu","Li","Tong","Rong","Chang","Pu","Luo","Zhan","Sao","Zhan","Meng","Luo","Qu","Die","Shi","Di","Min","Jue","Mang","Qi","Pie","Nai","Qi","Dao","Xian","Chuan","Fen","Ri","Nei",null,"Fu","Shen","Dong","Qing","Qi","Yin","Xi","Hai","Yang","An","Ya","Ke","Qing","Ya","Dong","Dan","Lu","Qing","Yang","Yun","Yun","Shui","San","Zheng","Bing","Yong","Dang","Shitamizu","Le","Ni","Tun","Fan","Gui","Ting","Zhi","Qiu","Bin","Ze","Mian","Cuan","Hui","Diao","Han","Cha","Zhuo","Chuan","Wan","Fan","Dai","Xi","Tuo","Mang","Qiu","Qi","Shan","Pai","Han","Qian","Wu","Wu","Xun","Si","Ru","Gong","Jiang","Chi","Wu","Tsuchi",null,"Tang","Zhi","Chi","Qian","Mi","Yu","Wang","Qing","Jing","Rui","Jun","Hong","Tai","Quan","Ji","Bian","Bian","Gan","Wen","Zhong","Fang","Xiong","Jue","Hang","Niou","Qi","Fen","Xu","Xu","Qin","Yi","Wo","Yun","Yuan","Hang","Yan","Shen","Chen","Dan","You","Dun","Hu","Huo","Qie","Mu","Rou","Mei","Ta","Mian","Wu","Chong","Tian","Bi","Sha","Zhi","Pei","Pan","Zhui","Za","Gou","Liu","Mei","Ze","Feng","Ou","Li","Lun","Cang","Feng","Wei","Hu","Mo","Mei","Shu","Ju","Zan","Tuo","Tuo","Tuo","He","Li","Mi","Yi","Fa","Fei","You","Tian","Zhi","Zhao","Gu","Zhan","Yan","Si","Kuang","Jiong","Ju","Xie","Qiu","Yi","Jia","Zhong","Quan","Bo","Hui","Mi","Ben","Zhuo","Chu","Le","You","Gu","Hong","Gan","Fa","Mao","Si","Hu","Ping","Ci","Fan","Chi","Su","Ning","Cheng","Ling","Pao","Bo","Qi","Si","Ni","Ju","Yue","Zhu","Sheng","Lei","Xuan","Xue","Fu","Pan","Min","Tai","Yang","Ji","Yong","Guan","Beng","Xue","Long","Lu",null,"Bo","Xie","Po","Ze","Jing","Yin"],mC[109]=["Zhou","Ji","Yi","Hui","Hui","Zui","Cheng","Yin","Wei","Hou","Jian","Yang","Lie","Si","Ji","Er","Xing","Fu","Sa","Suo","Zhi","Yin","Wu","Xi","Kao","Zhu","Jiang","Luo",null,"An","Dong","Yi","Mou","Lei","Yi","Mi","Quan","Jin","Mo","Wei","Xiao","Xie","Hong","Xu","Shuo","Kuang","Tao","Qie","Ju","Er","Zhou","Ru","Ping","Xun","Xiong","Zhi","Guang","Huan","Ming","Huo","Wa","Qia","Pai","Wu","Qu","Liu","Yi","Jia","Jing","Qian","Jiang","Jiao","Cheng","Shi","Zhuo","Ce","Pal","Kuai","Ji","Liu","Chan","Hun","Hu","Nong","Xun","Jin","Lie","Qiu","Wei","Zhe","Jun","Han","Bang","Mang","Zhuo","You","Xi","Bo","Dou","Wan","Hong","Yi","Pu","Ying","Lan","Hao","Lang","Han","Li","Geng","Fu","Wu","Lian","Chun","Feng","Yi","Yu","Tong","Lao","Hai","Jin","Jia","Chong","Weng","Mei","Sui","Cheng","Pei","Xian","Shen","Tu","Kun","Pin","Nie","Han","Jing","Xiao","She","Nian","Tu","Yong","Xiao","Xian","Ting","E","Su","Tun","Juan","Cen","Ti","Li","Shui","Si","Lei","Shui","Tao","Du","Lao","Lai","Lian","Wei","Wo","Yun","Huan","Di",null,"Run","Jian","Zhang","Se","Fu","Guan","Xing","Shou","Shuan","Ya","Chuo","Zhang","Ye","Kong","Wo","Han","Tuo","Dong","He","Wo","Ju","Gan","Liang","Hun","Ta","Zhuo","Dian","Qie","De","Juan","Zi","Xi","Yao","Qi","Gu","Guo","Han","Lin","Tang","Zhou","Peng","Hao","Chang","Shu","Qi","Fang","Chi","Lu","Nao","Ju","Tao","Cong","Lei","Zhi","Peng","Fei","Song","Tian","Pi","Dan","Yu","Ni","Yu","Lu","Gan","Mi","Jing","Ling","Lun","Yin","Cui","Qu","Huai","Yu","Nian","Shen","Piao","Chun","Wa","Yuan","Lai","Hun","Qing","Yan","Qian","Tian","Miao","Zhi","Yin","Mi"],mC[110]=["Ben","Yuan","Wen","Re","Fei","Qing","Yuan","Ke","Ji","She","Yuan","Shibui","Lu","Zi","Du",null,"Jian","Min","Pi","Tani","Yu","Yuan","Shen","Shen","Rou","Huan","Zhu","Jian","Nuan","Yu","Qiu","Ting","Qu","Du","Feng","Zha","Bo","Wo","Wo","Di","Wei","Wen","Ru","Xie","Ce","Wei","Ge","Gang","Yan","Hong","Xuan","Mi","Ke","Mao","Ying","Yan","You","Hong","Miao","Xing","Mei","Zai","Hun","Nai","Kui","Shi","E","Pai","Mei","Lian","Qi","Qi","Mei","Tian","Cou","Wei","Can","Tuan","Mian","Hui","Mo","Xu","Ji","Pen","Jian","Jian","Hu","Feng","Xiang","Yi","Yin","Zhan","Shi","Jie","Cheng","Huang","Tan","Yu","Bi","Min","Shi","Tu","Sheng","Yong","Qu","Zhong","Suei","Jiu","Jiao","Qiou","Yin","Tang","Long","Huo","Yuan","Nan","Ban","You","Quan","Chui","Liang","Chan","Yan","Chun","Nie","Zi","Wan","Shi","Man","Ying","Ratsu","Kui",null,"Jian","Xu","Lu","Gui","Gai",null,null,"Po","Jin","Gui","Tang","Yuan","Suo","Yuan","Lian","Yao","Meng","Zhun","Sheng","Ke","Tai","Da","Wa","Liu","Gou","Sao","Ming","Zha","Shi","Yi","Lun","Ma","Pu","Wei","Li","Cai","Wu","Xi","Wen","Qiang","Ze","Shi","Su","Yi","Zhen","Sou","Yun","Xiu","Yin","Rong","Hun","Su","Su","Ni","Ta","Shi","Ru","Wei","Pan","Chu","Chu","Pang","Weng","Cang","Mie","He","Dian","Hao","Huang","Xi","Zi","Di","Zhi","Ying","Fu","Jie","Hua","Ge","Zi","Tao","Teng","Sui","Bi","Jiao","Hui","Gun","Yin","Gao","Long","Zhi","Yan","She","Man","Ying","Chun","Lu","Lan","Luan",null,"Bin","Tan","Yu","Sou","Hu","Bi","Biao","Zhi","Jiang","Kou","Shen","Shang","Di","Mi","Ao","Lu","Hu","Hu","You","Chan","Fan","Yong","Gun","Man"],mC[111]=["Qing","Yu","Piao","Ji","Ya","Jiao","Qi","Xi","Ji","Lu","Lu","Long","Jin","Guo","Cong","Lou","Zhi","Gai","Qiang","Li","Yan","Cao","Jiao","Cong","Qun","Tuan","Ou","Teng","Ye","Xi","Mi","Tang","Mo","Shang","Han","Lian","Lan","Wa","Li","Qian","Feng","Xuan","Yi","Man","Zi","Mang","Kang","Lei","Peng","Shu","Zhang","Zhang","Chong","Xu","Huan","Kuo","Jian","Yan","Chuang","Liao","Cui","Ti","Yang","Jiang","Cong","Ying","Hong","Xun","Shu","Guan","Ying","Xiao",null,null,"Xu","Lian","Zhi","Wei","Pi","Jue","Jiao","Po","Dang","Hui","Jie","Wu","Pa","Ji","Pan","Gui","Xiao","Qian","Qian","Xi","Lu","Xi","Xuan","Dun","Huang","Min","Run","Su","Liao","Zhen","Zhong","Yi","Di","Wan","Dan","Tan","Chao","Xun","Kui","Yie","Shao","Tu","Zhu","San","Hei","Bi","Shan","Chan","Chan","Shu","Tong","Pu","Lin","Wei","Se","Se","Cheng","Jiong","Cheng","Hua","Jiao","Lao","Che","Gan","Cun","Heng","Si","Shu","Peng","Han","Yun","Liu","Hong","Fu","Hao","He","Xian","Jian","Shan","Xi","Oki",null,"Lan",null,"Yu","Lin","Min","Zao","Dang","Wan","Ze","Xie","Yu","Li","Shi","Xue","Ling","Man","Zi","Yong","Kuai","Can","Lian","Dian","Ye","Ao","Huan","Zhen","Chan","Man","Dan","Dan","Yi","Sui","Pi","Ju","Ta","Qin","Ji","Zhuo","Lian","Nong","Guo","Jin","Fen","Se","Ji","Sui","Hui","Chu","Ta","Song","Ding",null,"Zhu","Lai","Bin","Lian","Mi","Shi","Shu","Mi","Ning","Ying","Ying","Meng","Jin","Qi","Pi","Ji","Hao","Ru","Zui","Wo","Tao","Yin","Yin","Dui","Ci","Huo","Jing","Lan","Jun","Ai","Pu","Zhuo","Wei","Bin","Gu","Qian","Xing","Hama","Kuo","Fei",null,"Boku","Jian","Wei","Luo","Zan","Lu","Li"],mC[112]=["You","Yang","Lu","Si","Jie","Ying","Du","Wang","Hui","Xie","Pan","Shen","Biao","Chan","Mo","Liu","Jian","Pu","Se","Cheng","Gu","Bin","Huo","Xian","Lu","Qin","Han","Ying","Yong","Li","Jing","Xiao","Ying","Sui","Wei","Xie","Huai","Hao","Zhu","Long","Lai","Dui","Fan","Hu","Lai",null,null,"Ying","Mi","Ji","Lian","Jian","Ying","Fen","Lin","Yi","Jian","Yue","Chan","Dai","Rang","Jian","Lan","Fan","Shuang","Yuan","Zhuo","Feng","She","Lei","Lan","Cong","Qu","Yong","Qian","Fa","Guan","Que","Yan","Hao","Hyeng","Sa","Zan","Luan","Yan","Li","Mi","Shan","Tan","Dang","Jiao","Chan",null,"Hao","Ba","Zhu","Lan","Lan","Nang","Wan","Luan","Xun","Xian","Yan","Gan","Yan","Yu","Huo","Si","Mie","Guang","Deng","Hui","Xiao","Xiao","Hu","Hong","Ling","Zao","Zhuan","Jiu","Zha","Xie","Chi","Zhuo","Zai","Zai","Can","Yang","Qi","Zhong","Fen","Niu","Jiong","Wen","Po","Yi","Lu","Chui","Pi","Kai","Pan","Yan","Kai","Pang","Mu","Chao","Liao","Gui","Kang","Tun","Guang","Xin","Zhi","Guang","Guang","Wei","Qiang",null,"Da","Xia","Zheng","Zhu","Ke","Zhao","Fu","Ba","Duo","Duo","Ling","Zhuo","Xuan","Ju","Tan","Pao","Jiong","Pao","Tai","Tai","Bing","Yang","Tong","Han","Zhu","Zha","Dian","Wei","Shi","Lian","Chi","Huang",null,"Hu","Shuo","Lan","Jing","Jiao","Xu","Xing","Quan","Lie","Huan","Yang","Xiao","Xiu","Xian","Yin","Wu","Zhou","Yao","Shi","Wei","Tong","Xue","Zai","Kai","Hong","Luo","Xia","Zhu","Xuan","Zheng","Po","Yan","Hui","Guang","Zhe","Hui","Kao",null,"Fan","Shao","Ye","Hui",null,"Tang","Jin","Re",null,"Xi","Fu","Jiong","Che","Pu","Jing","Zhuo","Ting","Wan","Hai","Peng","Lang","Shan","Hu","Feng","Chi","Rong"],mC[113]=["Hu","Xi","Shu","He","Xun","Ku","Jue","Xiao","Xi","Yan","Han","Zhuang","Jun","Di","Xie","Ji","Wu",null,null,"Han","Yan","Huan","Men","Ju","Chou","Bei","Fen","Lin","Kun","Hun","Tun","Xi","Cui","Wu","Hong","Ju","Fu","Wo","Jiao","Cong","Feng","Ping","Qiong","Ruo","Xi","Qiong","Xin","Zhuo","Yan","Yan","Yi","Jue","Yu","Gang","Ran","Pi","Gu",null,"Sheng","Chang","Shao",null,null,null,null,"Chen","He","Kui","Zhong","Duan","Xia","Hui","Feng","Lian","Xuan","Xing","Huang","Jiao","Jian","Bi","Ying","Zhu","Wei","Tuan","Tian","Xi","Nuan","Nuan","Chan","Yan","Jiong","Jiong","Yu","Mei","Sha","Wei","Ye","Xin","Qiong","Rou","Mei","Huan","Xu","Zhao","Wei","Fan","Qiu","Sui","Yang","Lie","Zhu","Jie","Gao","Gua","Bao","Hu","Yun","Xia",null,null,"Bian","Gou","Tui","Tang","Chao","Shan","N","Bo","Huang","Xie","Xi","Wu","Xi","Yun","He","He","Xi","Yun","Xiong","Nai","Shan","Qiong","Yao","Xun","Mi","Lian","Ying","Wen","Rong","Oozutsu",null,"Qiang","Liu","Xi","Bi","Biao","Zong","Lu","Jian","Shou","Yi","Lou","Feng","Sui","Yi","Tong","Jue","Zong","Yun","Hu","Yi","Zhi","Ao","Wei","Liao","Han","Ou","Re","Jiong","Man",null,"Shang","Cuan","Zeng","Jian","Xi","Xi","Xi","Yi","Xiao","Chi","Huang","Chan","Ye","Qian","Ran","Yan","Xian","Qiao","Zun","Deng","Dun","Shen","Jiao","Fen","Si","Liao","Yu","Lin","Tong","Shao","Fen","Fan","Yan","Xun","Lan","Mei","Tang","Yi","Jing","Men",null,null,"Ying","Yu","Yi","Xue","Lan","Tai","Zao","Can","Sui","Xi","Que","Cong","Lian","Hui","Zhu","Xie","Ling","Wei","Yi","Xie","Zhao","Hui","Tatsu","Nung","Lan","Ru","Xian","Kao","Xun","Jin","Chou","Chou","Yao"],mC[114]=["He","Lan","Biao","Rong","Li","Mo","Bao","Ruo","Lu","La","Ao","Xun","Kuang","Shuo",null,"Li","Lu","Jue","Liao","Yan","Xi","Xie","Long","Ye",null,"Rang","Yue","Lan","Cong","Jue","Tong","Guan",null,"Che","Mi","Tang","Lan","Zhu",null,"Ling","Cuan","Yu","Zhua","Tsumekanmuri","Pa","Zheng","Pao","Cheng","Yuan","Ai","Wei",null,"Jue","Jue","Fu","Ye","Ba","Die","Ye","Yao","Zu","Shuang","Er","Qiang","Chuang","Ge","Zang","Die","Qiang","Yong","Qiang","Pian","Ban","Pan","Shao","Jian","Pai","Du","Chuang","Tou","Zha","Bian","Die","Bang","Bo","Chuang","You",null,"Du","Ya","Cheng","Niu","Ushihen","Pin","Jiu","Mou","Tuo","Mu","Lao","Ren","Mang","Fang","Mao","Mu","Gang","Wu","Yan","Ge","Bei","Si","Jian","Gu","You","Ge","Sheng","Mu","Di","Qian","Quan","Quan","Zi","Te","Xi","Mang","Keng","Qian","Wu","Gu","Xi","Li","Li","Pou","Ji","Gang","Zhi","Ben","Quan","Run","Du","Ju","Jia","Jian","Feng","Pian","Ke","Ju","Kao","Chu","Xi","Bei","Luo","Jie","Ma","San","Wei","Li","Dun","Tong",null,"Jiang","Ikenie","Li","Du","Lie","Pi","Piao","Bao","Xi","Chou","Wei","Kui","Chou","Quan","Fan","Ba","Fan","Qiu","Ji","Cai","Chuo","An","Jie","Zhuang","Guang","Ma","You","Kang","Bo","Hou","Ya","Yin","Huan","Zhuang","Yun","Kuang","Niu","Di","Qing","Zhong","Mu","Bei","Pi","Ju","Ni","Sheng","Pao","Xia","Tuo","Hu","Ling","Fei","Pi","Ni","Ao","You","Gou","Yue","Ju","Dan","Po","Gu","Xian","Ning","Huan","Hen","Jiao","He","Zhao","Ji","Xun","Shan","Ta","Rong","Shou","Tong","Lao","Du","Xia","Shi","Hua","Zheng","Yu","Sun","Yu","Bi","Mang","Xi","Juan","Li","Xia","Yin","Suan","Lang","Bei","Zhi","Yan"],mC[115]=["Sha","Li","Han","Xian","Jing","Pai","Fei","Yao","Ba","Qi","Ni","Biao","Yin","Lai","Xi","Jian","Qiang","Kun","Yan","Guo","Zong","Mi","Chang","Yi","Zhi","Zheng","Ya","Meng","Cai","Cu","She","Kari","Cen","Luo","Hu","Zong","Ji","Wei","Feng","Wo","Yuan","Xing","Zhu","Mao","Wei","Yuan","Xian","Tuan","Ya","Nao","Xie","Jia","Hou","Bian","You","You","Mei","Zha","Yao","Sun","Bo","Ming","Hua","Yuan","Sou","Ma","Yuan","Dai","Yu","Shi","Hao",null,"Yi","Zhen","Chuang","Hao","Man","Jing","Jiang","Mu","Zhang","Chan","Ao","Ao","Hao","Cui","Fen","Jue","Bi","Bi","Huang","Pu","Lin","Yu","Tong","Yao","Liao","Shuo","Xiao","Swu","Ton","Xi","Ge","Juan","Du","Hui","Kuai","Xian","Xie","Ta","Xian","Xun","Ning","Pin","Huo","Nou","Meng","Lie","Nao","Guang","Shou","Lu","Ta","Xian","Mi","Rang","Huan","Nao","Luo","Xian","Qi","Jue","Xuan","Miao","Zi","Lu","Lu","Yu","Su","Wang","Qiu","Ga","Ding","Le","Ba","Ji","Hong","Di","Quan","Gan","Jiu","Yu","Ji","Yu","Yang","Ma","Gong","Wu","Fu","Wen","Jie","Ya","Fen","Bian","Beng","Yue","Jue","Yun","Jue","Wan","Jian","Mei","Dan","Pi","Wei","Huan","Xian","Qiang","Ling","Dai","Yi","An","Ping","Dian","Fu","Xuan","Xi","Bo","Ci","Gou","Jia","Shao","Po","Ci","Ke","Ran","Sheng","Shen","Yi","Zu","Jia","Min","Shan","Liu","Bi","Zhen","Zhen","Jue","Fa","Long","Jin","Jiao","Jian","Li","Guang","Xian","Zhou","Gong","Yan","Xiu","Yang","Xu","Luo","Su","Zhu","Qin","Ken","Xun","Bao","Er","Xiang","Yao","Xia","Heng","Gui","Chong","Xu","Ban","Pei",null,"Dang","Ei","Hun","Wen","E","Cheng","Ti","Wu","Wu","Cheng","Jun","Mei","Bei","Ting","Xian","Chuo"],mC[116]=["Han","Xuan","Yan","Qiu","Quan","Lang","Li","Xiu","Fu","Liu","Ye","Xi","Ling","Li","Jin","Lian","Suo","Chiisai",null,"Wan","Dian","Pin","Zhan","Cui","Min","Yu","Ju","Chen","Lai","Wen","Sheng","Wei","Dian","Chu","Zhuo","Pei","Cheng","Hu","Qi","E","Kun","Chang","Qi","Beng","Wan","Lu","Cong","Guan","Yan","Diao","Bei","Lin","Qin","Pi","Pa","Que","Zhuo","Qin","Fa",null,"Qiong","Du","Jie","Hun","Yu","Mao","Mei","Chun","Xuan","Ti","Xing","Dai","Rou","Min","Zhen","Wei","Ruan","Huan","Jie","Chuan","Jian","Zhuan","Yang","Lian","Quan","Xia","Duan","Yuan","Ye","Nao","Hu","Ying","Yu","Huang","Rui","Se","Liu","Shi","Rong","Suo","Yao","Wen","Wu","Jin","Jin","Ying","Ma","Tao","Liu","Tang","Li","Lang","Gui","Zhen","Qiang","Cuo","Jue","Zhao","Yao","Ai","Bin","Tu","Chang","Kun","Zhuan","Cong","Jin","Yi","Cui","Cong","Qi","Li","Ying","Suo","Qiu","Xuan","Ao","Lian","Man","Zhang","Yin",null,"Ying","Zhi","Lu","Wu","Deng","Xiou","Zeng","Xun","Qu","Dang","Lin","Liao","Qiong","Su","Huang","Gui","Pu","Jing","Fan","Jin","Liu","Ji",null,"Jing","Ai","Bi","Can","Qu","Zao","Dang","Jiao","Gun","Tan","Hui","Huan","Se","Sui","Tian",null,"Yu","Jin","Lu","Bin","Shou","Wen","Zui","Lan","Xi","Ji","Xuan","Ruan","Huo","Gai","Lei","Du","Li","Zhi","Rou","Li","Zan","Qiong","Zhe","Gui","Sui","La","Long","Lu","Li","Zan","Lan","Ying","Mi","Xiang","Xi","Guan","Dao","Zan","Huan","Gua","Bo","Die","Bao","Hu","Zhi","Piao","Ban","Rang","Li","Wa","Dekaguramu","Jiang","Qian","Fan","Pen","Fang","Dan","Weng","Ou","Deshiguramu","Miriguramu","Thon","Hu","Ling","Yi","Ping","Ci","Hekutogura","Juan","Chang","Chi","Sarake","Dang","Meng","Pou"],mC[117]=["Zhui","Ping","Bian","Zhou","Zhen","Senchigura","Ci","Ying","Qi","Xian","Lou","Di","Ou","Meng","Zhuan","Peng","Lin","Zeng","Wu","Pi","Dan","Weng","Ying","Yan","Gan","Dai","Shen","Tian","Tian","Han","Chang","Sheng","Qing","Sheng","Chan","Chan","Rui","Sheng","Su","Sen","Yong","Shuai","Lu","Fu","Yong","Beng","Feng","Ning","Tian","You","Jia","Shen","Zha","Dian","Fu","Nan","Dian","Ping","Ting","Hua","Ting","Quan","Zi","Meng","Bi","Qi","Liu","Xun","Liu","Chang","Mu","Yun","Fan","Fu","Geng","Tian","Jie","Jie","Quan","Wei","Fu","Tian","Mu","Tap","Pan","Jiang","Wa","Da","Nan","Liu","Ben","Zhen","Chu","Mu","Mu","Ce","Cen","Gai","Bi","Da","Zhi","Lue","Qi","Lue","Pan","Kesa","Fan","Hua","Yu","Yu","Mu","Jun","Yi","Liu","Yu","Die","Chou","Hua","Dang","Chuo","Ji","Wan","Jiang","Sheng","Chang","Tuan","Lei","Ji","Cha","Liu","Tatamu","Tuan","Lin","Jiang","Jiang","Chou","Bo","Die","Die","Pi","Nie","Dan","Shu","Shu","Zhi","Yi","Chuang","Nai","Ding","Bi","Jie","Liao","Gong","Ge","Jiu","Zhou","Xia","Shan","Xu","Nue","Li","Yang","Chen","You","Ba","Jie","Jue","Zhi","Xia","Cui","Bi","Yi","Li","Zong","Chuang","Feng","Zhu","Pao","Pi","Gan","Ke","Ci","Xie","Qi","Dan","Zhen","Fa","Zhi","Teng","Ju","Ji","Fei","Qu","Dian","Jia","Xian","Cha","Bing","Ni","Zheng","Yong","Jing","Quan","Chong","Tong","Yi","Kai","Wei","Hui","Duo","Yang","Chi","Zhi","Hen","Ya","Mei","Dou","Jing","Xiao","Tong","Tu","Mang","Pi","Xiao","Suan","Pu","Li","Zhi","Cuo","Duo","Wu","Sha","Lao","Shou","Huan","Xian","Yi","Peng","Zhang","Guan","Tan","Fei","Ma","Lin","Chi","Ji","Dian","An","Chi","Bi","Bei","Min","Gu","Dui","E","Wei"],mC[118]=["Yu","Cui","Ya","Zhu","Cu","Dan","Shen","Zhung","Ji","Yu","Hou","Feng","La","Yang","Shen","Tu","Yu","Gua","Wen","Huan","Ku","Jia","Yin","Yi","Lu","Sao","Jue","Chi","Xi","Guan","Yi","Wen","Ji","Chuang","Ban","Lei","Liu","Chai","Shou","Nue","Dian","Da","Pie","Tan","Zhang","Biao","Shen","Cu","Luo","Yi","Zong","Chou","Zhang","Zhai","Sou","Suo","Que","Diao","Lou","Lu","Mo","Jin","Yin","Ying","Huang","Fu","Liao","Long","Qiao","Liu","Lao","Xian","Fei","Dan","Yin","He","Ai","Ban","Xian","Guan","Guai","Nong","Yu","Wei","Yi","Yong","Pi","Lei","Li","Shu","Dan","Lin","Dian","Lin","Lai","Pie","Ji","Chi","Yang","Xian","Jie","Zheng",null,"Li","Huo","Lai","Shaku","Dian","Xian","Ying","Yin","Qu","Yong","Tan","Dian","Luo","Luan","Luan","Bo",null,"Gui","Po","Fa","Deng","Fa","Bai","Bai","Qie","Bi","Zao","Zao","Mao","De","Pa","Jie","Huang","Gui","Ci","Ling","Gao","Mo","Ji","Jiao","Peng","Gao","Ai","E","Hao","Han","Bi","Wan","Chou","Qian","Xi","Ai","Jiong","Hao","Huang","Hao","Ze","Cui","Hao","Xiao","Ye","Po","Hao","Jiao","Ai","Xing","Huang","Li","Piao","He","Jiao","Pi","Gan","Pao","Zhou","Jun","Qiu","Cun","Que","Zha","Gu","Jun","Jun","Zhou","Zha","Gu","Zhan","Du","Min","Qi","Ying","Yu","Bei","Zhao","Zhong","Pen","He","Ying","He","Yi","Bo","Wan","He","Ang","Zhan","Yan","Jian","He","Yu","Kui","Fan","Gai","Dao","Pan","Fu","Qiu","Sheng","Dao","Lu","Zhan","Meng","Li","Jin","Xu","Jian","Pan","Guan","An","Lu","Shu","Zhou","Dang","An","Gu","Li","Mu","Cheng","Gan","Xu","Mang","Mang","Zhi","Qi","Ruan","Tian","Xiang","Dun","Xin","Xi","Pan","Feng","Dun","Min"],mC[119]=["Ming","Sheng","Shi","Yun","Mian","Pan","Fang","Miao","Dan","Mei","Mao","Kan","Xian","Ou","Shi","Yang","Zheng","Yao","Shen","Huo","Da","Zhen","Kuang","Ju","Shen","Chi","Sheng","Mei","Mo","Zhu","Zhen","Zhen","Mian","Di","Yuan","Die","Yi","Zi","Zi","Chao","Zha","Xuan","Bing","Mi","Long","Sui","Dong","Mi","Die","Yi","Er","Ming","Xuan","Chi","Kuang","Juan","Mou","Zhen","Tiao","Yang","Yan","Mo","Zhong","Mai","Zhao","Zheng","Mei","Jun","Shao","Han","Huan","Di","Cheng","Cuo","Juan","E","Wan","Xian","Xi","Kun","Lai","Jian","Shan","Tian","Hun","Wan","Ling","Shi","Qiong","Lie","Yai","Jing","Zheng","Li","Lai","Sui","Juan","Shui","Sui","Du","Bi","Bi","Mu","Hun","Ni","Lu","Yi","Jie","Cai","Zhou","Yu","Hun","Ma","Xia","Xing","Xi","Gun","Cai","Chun","Jian","Mei","Du","Hou","Xuan","Ti","Kui","Gao","Rui","Mou","Xu","Fa","Wen","Miao","Chou","Kui","Mi","Weng","Kou","Dang","Chen","Ke","Sou","Xia","Qiong","Mao","Ming","Man","Shui","Ze","Zhang","Yi","Diao","Ou","Mo","Shun","Cong","Lou","Chi","Man","Piao","Cheng","Ji","Meng",null,"Run","Pie","Xi","Qiao","Pu","Zhu","Deng","Shen","Shun","Liao","Che","Xian","Kan","Ye","Xu","Tong","Mou","Lin","Kui","Xian","Ye","Ai","Hui","Zhan","Jian","Gu","Zhao","Qu","Wei","Chou","Sao","Ning","Xun","Yao","Huo","Meng","Mian","Bin","Mian","Li","Kuang","Jue","Xuan","Mian","Huo","Lu","Meng","Long","Guan","Man","Xi","Chu","Tang","Kan","Zhu","Mao","Jin","Lin","Yu","Shuo","Ce","Jue","Shi","Yi","Shen","Zhi","Hou","Shen","Ying","Ju","Zhou","Jiao","Cuo","Duan","Ai","Jiao","Zeng","Huo","Bai","Shi","Ding","Qi","Ji","Zi","Gan","Wu","Tuo","Ku","Qiang","Xi","Fan","Kuang"],mC[120]=["Dang","Ma","Sha","Dan","Jue","Li","Fu","Min","Nuo","Huo","Kang","Zhi","Qi","Kan","Jie","Fen","E","Ya","Pi","Zhe","Yan","Sui","Zhuan","Che","Dun","Pan","Yan",null,"Feng","Fa","Mo","Zha","Qu","Yu","Luo","Tuo","Tuo","Di","Zhai","Zhen","Ai","Fei","Mu","Zhu","Li","Bian","Nu","Ping","Peng","Ling","Pao","Le","Po","Bo","Po","Shen","Za","Nuo","Li","Long","Tong",null,"Li","Aragane","Chu","Keng","Quan","Zhu","Kuang","Huo","E","Nao","Jia","Lu","Wei","Ai","Luo","Ken","Xing","Yan","Tong","Peng","Xi",null,"Hong","Shuo","Xia","Qiao",null,"Wei","Qiao",null,"Keng","Xiao","Que","Chan","Lang","Hong","Yu","Xiao","Xia","Mang","Long","Iong","Che","Che","E","Liu","Ying","Mang","Que","Yan","Sha","Kun","Yu",null,"Kaki","Lu","Chen","Jian","Nue","Song","Zhuo","Keng","Peng","Yan","Zhui","Kong","Ceng","Qi","Zong","Qing","Lin","Jun","Bo","Ding","Min","Diao","Jian","He","Lu","Ai","Sui","Que","Ling","Bei","Yin","Dui","Wu","Qi","Lun","Wan","Dian","Gang","Pei","Qi","Chen","Ruan","Yan","Die","Ding","Du","Tuo","Jie","Ying","Bian","Ke","Bi","Wei","Shuo","Zhen","Duan","Xia","Dang","Ti","Nao","Peng","Jian","Di","Tan","Cha","Seki","Qi",null,"Feng","Xuan","Que","Que","Ma","Gong","Nian","Su","E","Ci","Liu","Si","Tang","Bang","Hua","Pi","Wei","Sang","Lei","Cuo","Zhen","Xia","Qi","Lian","Pan","Wei","Yun","Dui","Zhe","Ke","La",null,"Qing","Gun","Zhuan","Chan","Qi","Ao","Peng","Lu","Lu","Kan","Qiang","Chen","Yin","Lei","Biao","Qi","Mo","Qi","Cui","Zong","Qing","Chuo",null,"Ji","Shan","Lao","Qu","Zeng","Deng","Jian","Xi","Lin","Ding","Dian","Huang","Pan","Za","Qiao","Di","Li"],mC[121]=["Tani","Jiao",null,"Zhang","Qiao","Dun","Xian","Yu","Zhui","He","Huo","Zhai","Lei","Ke","Chu","Ji","Que","Dang","Yi","Jiang","Pi","Pi","Yu","Pin","Qi","Ai","Kai","Jian","Yu","Ruan","Meng","Pao","Ci",null,null,"Mie","Ca","Xian","Kuang","Lei","Lei","Zhi","Li","Li","Fan","Que","Pao","Ying","Li","Long","Long","Mo","Bo","Shuang","Guan","Lan","Zan","Yan","Shi","Shi","Li","Reng","She","Yue","Si","Qi","Ta","Ma","Xie","Xian","Xian","Zhi","Qi","Zhi","Beng","Dui","Zhong",null,"Yi","Shi","You","Zhi","Tiao","Fu","Fu","Mi","Zu","Zhi","Suan","Mei","Zuo","Qu","Hu","Zhu","Shen","Sui","Ci","Chai","Mi","Lu","Yu","Xiang","Wu","Tiao","Piao","Zhu","Gui","Xia","Zhi","Ji","Gao","Zhen","Gao","Shui","Jin","Chen","Gai","Kun","Di","Dao","Huo","Tao","Qi","Gu","Guan","Zui","Ling","Lu","Bing","Jin","Dao","Zhi","Lu","Shan","Bei","Zhe","Hui","You","Xi","Yin","Zi","Huo","Zhen","Fu","Yuan","Wu","Xian","Yang","Ti","Yi","Mei","Si","Di",null,"Zhuo","Zhen","Yong","Ji","Gao","Tang","Si","Ma","Ta",null,"Xuan","Qi","Yu","Xi","Ji","Si","Chan","Tan","Kuai","Sui","Li","Nong","Ni","Dao","Li","Rang","Yue","Ti","Zan","Lei","Rou","Yu","Yu","Chi","Xie","Qin","He","Tu","Xiu","Si","Ren","Tu","Zi","Cha","Gan","Yi","Xian","Bing","Nian","Qiu","Qiu","Zhong","Fen","Hao","Yun","Ke","Miao","Zhi","Geng","Bi","Zhi","Yu","Mi","Ku","Ban","Pi","Ni","Li","You","Zu","Pi","Ba","Ling","Mo","Cheng","Nian","Qin","Yang","Zuo","Zhi","Zhi","Shu","Ju","Zi","Huo","Ji","Cheng","Tong","Zhi","Huo","He","Yin","Zi","Zhi","Jie","Ren","Du","Yi","Zhu","Hui","Nong","Fu"],mC[122]=["Xi","Kao","Lang","Fu","Ze","Shui","Lu","Kun","Gan","Geng","Ti","Cheng","Tu","Shao","Shui","Ya","Lun","Lu","Gu","Zuo","Ren","Zhun","Bang","Bai","Ji","Zhi","Zhi","Kun","Leng","Peng","Ke","Bing","Chou","Zu","Yu","Su","Lue",null,"Yi","Xi","Bian","Ji","Fu","Bi","Nuo","Jie","Zhong","Zong","Xu","Cheng","Dao","Wen","Lian","Zi","Yu","Ji","Xu","Zhen","Zhi","Dao","Jia","Ji","Gao","Gao","Gu","Rong","Sui","You","Ji","Kang","Mu","Shan","Men","Zhi","Ji","Lu","Su","Ji","Ying","Wen","Qiu","Se",null,"Yi","Huang","Qie","Ji","Sui","Xiao","Pu","Jiao","Zhuo","Tong","Sai","Lu","Sui","Nong","Se","Hui","Rang","Nuo","Yu","Bin","Ji","Tui","Wen","Cheng","Huo","Gong","Lu","Biao",null,"Rang","Zhuo","Li","Zan","Xue","Wa","Jiu","Qiong","Xi","Qiong","Kong","Yu","Sen","Jing","Yao","Chuan","Zhun","Tu","Lao","Qie","Zhai","Yao","Bian","Bao","Yao","Bing","Wa","Zhu","Jiao","Qiao","Diao","Wu","Gui","Yao","Zhi","Chuang","Yao","Tiao","Jiao","Chuang","Jiong","Xiao","Cheng","Kou","Cuan","Wo","Dan","Ku","Ke","Zhui","Xu","Su","Guan","Kui","Dou",null,"Yin","Wo","Wa","Ya","Yu","Ju","Qiong","Yao","Yao","Tiao","Chao","Yu","Tian","Diao","Ju","Liao","Xi","Wu","Kui","Chuang","Zhao",null,"Kuan","Long","Cheng","Cui","Piao","Zao","Cuan","Qiao","Qiong","Dou","Zao","Long","Qie","Li","Chu","Shi","Fou","Qian","Chu","Hong","Qi","Qian","Gong","Shi","Shu","Miao","Ju","Zhan","Zhu","Ling","Long","Bing","Jing","Jing","Zhang","Yi","Si","Jun","Hong","Tong","Song","Jing","Diao","Yi","Shu","Jing","Qu","Jie","Ping","Duan","Shao","Zhuan","Ceng","Deng","Cui","Huai","Jing","Kan","Jing","Zhu","Zhu","Le","Peng","Yu","Chi","Gan"],mC[123]=["Mang","Zhu","Utsubo","Du","Ji","Xiao","Ba","Suan","Ji","Zhen","Zhao","Sun","Ya","Zhui","Yuan","Hu","Gang","Xiao","Cen","Pi","Bi","Jian","Yi","Dong","Shan","Sheng","Xia","Di","Zhu","Na","Chi","Gu","Li","Qie","Min","Bao","Tiao","Si","Fu","Ce","Ben","Pei","Da","Zi","Di","Ling","Ze","Nu","Fu","Gou","Fan","Jia","Ge","Fan","Shi","Mao","Po","Sey","Jian","Qiong","Long","Souke","Bian","Luo","Gui","Qu","Chi","Yin","Yao","Xian","Bi","Qiong","Gua","Deng","Jiao","Jin","Quan","Sun","Ru","Fa","Kuang","Zhu","Tong","Ji","Da","Xing","Ce","Zhong","Kou","Lai","Bi","Shai","Dang","Zheng","Ce","Fu","Yun","Tu","Pa","Li","Lang","Ju","Guan","Jian","Han","Tong","Xia","Zhi","Cheng","Suan","Shi","Zhu","Zuo","Xiao","Shao","Ting","Ce","Yan","Gao","Kuai","Gan","Chou","Kago","Gang","Yun","O","Qian","Xiao","Jian","Pu","Lai","Zou","Bi","Bi","Bi","Ge","Chi","Guai","Yu","Jian","Zhao","Gu","Chi","Zheng","Jing","Sha","Zhou","Lu","Bo","Ji","Lin","Suan","Jun","Fu","Zha","Gu","Kong","Qian","Quan","Jun","Chui","Guan","Yuan","Ce","Ju","Bo","Ze","Qie","Tuo","Luo","Dan","Xiao","Ruo","Jian","Xuan","Bian","Sun","Xiang","Xian","Ping","Zhen","Sheng","Hu","Shi","Zhu","Yue","Chun","Lu","Wu","Dong","Xiao","Ji","Jie","Huang","Xing","Mei","Fan","Chui","Zhuan","Pian","Feng","Zhu","Hong","Qie","Hou","Qiu","Miao","Qian",null,"Kui","Sik","Lou","Yun","He","Tang","Yue","Chou","Gao","Fei","Ruo","Zheng","Gou","Nie","Qian","Xiao","Cuan","Gong","Pang","Du","Li","Bi","Zhuo","Chu","Shai","Chi","Zhu","Qiang","Long","Lan","Jian","Bu","Li","Hui","Bi","Di","Cong","Yan","Peng","Sen","Zhuan","Pai","Piao","Dou","Yu","Mie","Zhuan"],mC[124]=["Ze","Xi","Guo","Yi","Hu","Chan","Kou","Cu","Ping","Chou","Ji","Gui","Su","Lou","Zha","Lu","Nian","Suo","Cuan","Sasara","Suo","Le","Duan","Yana","Xiao","Bo","Mi","Si","Dang","Liao","Dan","Dian","Fu","Jian","Min","Kui","Dai","Qiao","Deng","Huang","Sun","Lao","Zan","Xiao","Du","Shi","Zan",null,"Pai","Hata","Pai","Gan","Ju","Du","Lu","Yan","Bo","Dang","Sai","Ke","Long","Qian","Lian","Bo","Zhou","Lai",null,"Lan","Kui","Yu","Yue","Hao","Zhen","Tai","Ti","Mi","Chou","Ji",null,"Hata","Teng","Zhuan","Zhou","Fan","Sou","Zhou","Kuji","Zhuo","Teng","Lu","Lu","Jian","Tuo","Ying","Yu","Lai","Long","Shinshi","Lian","Lan","Qian","Yue","Zhong","Qu","Lian","Bian","Duan","Zuan","Li","Si","Luo","Ying","Yue","Zhuo","Xu","Mi","Di","Fan","Shen","Zhe","Shen","Nu","Xie","Lei","Xian","Zi","Ni","Cun",null,"Qian","Kume","Bi","Ban","Wu","Sha","Kang","Rou","Fen","Bi","Cui",null,"Li","Chi","Nukamiso","Ro","Ba","Li","Gan","Ju","Po","Mo","Cu","Nian","Zhou","Li","Su","Tiao","Li","Qi","Su","Hong","Tong","Zi","Ce","Yue","Zhou","Lin","Zhuang","Bai",null,"Fen","Ji",null,"Sukumo","Liang","Xian","Fu","Liang","Can","Geng","Li","Yue","Lu","Ju","Qi","Cui","Bai","Zhang","Lin","Zong","Jing","Guo","Kouji","San","San","Tang","Bian","Rou","Mian","Hou","Xu","Zong","Hu","Jian","Zan","Ci","Li","Xie","Fu","Ni","Bei","Gu","Xiu","Gao","Tang","Qiu","Sukumo","Cao","Zhuang","Tang","Mi","San","Fen","Zao","Kang","Jiang","Mo","San","San","Nuo","Xi","Liang","Jiang","Kuai","Bo","Huan",null,"Zong","Xian","Nuo","Tuan","Nie","Li","Zuo","Di","Nie","Tiao","Lan","Mi","Jiao","Jiu","Xi","Gong","Zheng","Jiu","You"],mC[125]=["Ji","Cha","Zhou","Xun","Yue","Hong","Yu","He","Wan","Ren","Wen","Wen","Qiu","Na","Zi","Tou","Niu","Fou","Jie","Shu","Chun","Pi","Yin","Sha","Hong","Zhi","Ji","Fen","Yun","Ren","Dan","Jin","Su","Fang","Suo","Cui","Jiu","Zha","Kinu","Jin","Fu","Zhi","Ci","Zi","Chou","Hong","Zha","Lei","Xi","Fu","Xie","Shen","Bei","Zhu","Qu","Ling","Zhu","Shao","Gan","Yang","Fu","Tuo","Zhen","Dai","Zhuo","Shi","Zhong","Xian","Zu","Jiong","Ban","Ju","Mo","Shu","Zui","Wata","Jing","Ren","Heng","Xie","Jie","Zhu","Chou","Gua","Bai","Jue","Kuang","Hu","Ci","Geng","Geng","Tao","Xie","Ku","Jiao","Quan","Gai","Luo","Xuan","Bing","Xian","Fu","Gei","Tong","Rong","Tiao","Yin","Lei","Xie","Quan","Xu","Lun","Die","Tong","Si","Jiang","Xiang","Hui","Jue","Zhi","Jian","Juan","Chi","Mian","Zhen","Lu","Cheng","Qiu","Shu","Bang","Tong","Xiao","Wan","Qin","Geng","Xiu","Ti","Xiu","Xie","Hong","Xi","Fu","Ting","Sui","Dui","Kun","Fu","Jing","Hu","Zhi","Yan","Jiong","Feng","Ji","Sok","Kase","Zong","Lin","Duo","Li","Lu","Liang","Chou","Quan","Shao","Qi","Qi","Zhun","Qi","Wan","Qian","Xian","Shou","Wei","Qi","Tao","Wan","Gang","Wang","Beng","Zhui","Cai","Guo","Cui","Lun","Liu","Qi","Zhan","Bei","Chuo","Ling","Mian","Qi","Qie","Tan","Zong","Gun","Zou","Yi","Zi","Xing","Liang","Jin","Fei","Rui","Min","Yu","Zong","Fan","Lu","Xu","Yingl","Zhang","Kasuri","Xu","Xiang","Jian","Ke","Xian","Ruan","Mian","Qi","Duan","Zhong","Di","Min","Miao","Yuan","Xie","Bao","Si","Qiu","Bian","Huan","Geng","Cong","Mian","Wei","Fu","Wei","Yu","Gou","Miao","Xie","Lian","Zong","Bian","Yun","Yin","Ti","Gua","Zhi","Yun","Cheng","Chan","Dai"],mC[126]=["Xia","Yuan","Zong","Xu","Nawa","Odoshi","Geng","Sen","Ying","Jin","Yi","Zhui","Ni","Bang","Gu","Pan","Zhou","Jian","Cuo","Quan","Shuang","Yun","Xia","Shuai","Xi","Rong","Tao","Fu","Yun","Zhen","Gao","Ru","Hu","Zai","Teng","Xian","Su","Zhen","Zong","Tao","Horo","Cai","Bi","Feng","Cu","Li","Suo","Yin","Xi","Zong","Lei","Zhuan","Qian","Man","Zhi","Lu","Mo","Piao","Lian","Mi","Xuan","Zong","Ji","Shan","Sui","Fan","Shuai","Beng","Yi","Sao","Mou","Zhou","Qiang","Hun","Sem","Xi","Jung","Xiu","Ran","Xuan","Hui","Qiao","Zeng","Zuo","Zhi","Shan","San","Lin","Yu","Fan","Liao","Chuo","Zun","Jian","Rao","Chan","Rui","Xiu","Hui","Hua","Zuan","Xi","Qiang","Un","Da","Sheng","Hui","Xi","Se","Jian","Jiang","Huan","Zao","Cong","Jie","Jiao","Bo","Chan","Yi","Nao","Sui","Yi","Shai","Xu","Ji","Bin","Qian","Lan","Pu","Xun","Zuan","Qi","Peng","Li","Mo","Lei","Xie","Zuan","Kuang","You","Xu","Lei","Xian","Chan","Kou","Lu","Chan","Ying","Cai","Xiang","Xian","Zui","Zuan","Luo","Xi","Dao","Lan","Lei","Lian","Si","Jiu","Yu","Hong","Zhou","Xian","He","Yue","Ji","Wan","Kuang","Ji","Ren","Wei","Yun","Hong","Chun","Pi","Sha","Gang","Na","Ren","Zong","Lun","Fen","Zhi","Wen","Fang","Zhu","Yin","Niu","Shu","Xian","Gan","Xie","Fu","Lian","Zu","Shen","Xi","Zhi","Zhong","Zhou","Ban","Fu","Zhuo","Shao","Yi","Jing","Dai","Bang","Rong","Jie","Ku","Rao","Die","Heng","Hui","Gei","Xuan","Jiang","Luo","Jue","Jiao","Tong","Geng","Xiao","Juan","Xiu","Xi","Sui","Tao","Ji","Ti","Ji","Xu","Ling",null,"Xu","Qi","Fei","Chuo","Zhang","Gun","Sheng","Wei","Mian","Shou","Beng","Chou","Tao","Liu","Quan","Zong","Zhan","Wan","Lu"],mC[127]=["Zhui","Zi","Ke","Xiang","Jian","Mian","Lan","Ti","Miao","Qi","Yun","Hui","Si","Duo","Duan","Bian","Xian","Gou","Zhui","Huan","Di","Lu","Bian","Min","Yuan","Jin","Fu","Ru","Zhen","Feng","Shuai","Gao","Chan","Li","Yi","Jian","Bin","Piao","Man","Lei","Ying","Suo","Mou","Sao","Xie","Liao","Shan","Zeng","Jiang","Qian","Zao","Huan","Jiao","Zuan","Fou","Xie","Gang","Fou","Que","Fou","Kaakeru","Bo","Ping","Hou",null,"Gang","Ying","Ying","Qing","Xia","Guan","Zun","Tan","Chang","Qi","Weng","Ying","Lei","Tan","Lu","Guan","Wang","Wang","Gang","Wang","Han",null,"Luo","Fu","Mi","Fa","Gu","Zhu","Ju","Mao","Gu","Min","Gang","Ba","Gua","Ti","Juan","Fu","Lin","Yan","Zhao","Zui","Gua","Zhuo","Yu","Zhi","An","Fa","Nan","Shu","Si","Pi","Ma","Liu","Ba","Fa","Li","Chao","Wei","Bi","Ji","Zeng","Tong","Liu","Ji","Juan","Mi","Zhao","Luo","Pi","Ji","Ji","Luan","Yang","Mie","Qiang","Ta","Mei","Yang","You","You","Fen","Ba","Gao","Yang","Gu","Qiang","Zang","Gao","Ling","Yi","Zhu","Di","Xiu","Qian","Yi","Xian","Rong","Qun","Qun","Qian","Huan","Zui","Xian","Yi","Yashinau","Qiang","Xian","Yu","Geng","Jie","Tang","Yuan","Xi","Fan","Shan","Fen","Shan","Lian","Lei","Geng","Nou","Qiang","Chan","Yu","Gong","Yi","Chong","Weng","Fen","Hong","Chi","Chi","Cui","Fu","Xia","Pen","Yi","La","Yi","Pi","Ling","Liu","Zhi","Qu","Xi","Xie","Xiang","Xi","Xi","Qi","Qiao","Hui","Hui","Xiao","Se","Hong","Jiang","Di","Cui","Fei","Tao","Sha","Chi","Zhu","Jian","Xuan","Shi","Pian","Zong","Wan","Hui","Hou","He","He","Han","Ao","Piao","Yi","Lian","Qu",null,"Lin","Pen","Qiao","Ao","Fan","Yi","Hui","Xuan","Dao"],mC[128]=["Yao","Lao",null,"Kao","Mao","Zhe","Qi","Gou","Gou","Gou","Die","Die","Er","Shua","Ruan","Er","Nai","Zhuan","Lei","Ting","Zi","Geng","Chao","Hao","Yun","Pa","Pi","Chi","Si","Chu","Jia","Ju","He","Chu","Lao","Lun","Ji","Tang","Ou","Lou","Nou","Gou","Pang","Ze","Lou","Ji","Lao","Huo","You","Mo","Huai","Er","Zhe","Ting","Ye","Da","Song","Qin","Yun","Chi","Dan","Dan","Hong","Geng","Zhi",null,"Nie","Dan","Zhen","Che","Ling","Zheng","You","Wa","Liao","Long","Zhi","Ning","Tiao","Er","Ya","Die","Gua",null,"Lian","Hao","Sheng","Lie","Pin","Jing","Ju","Bi","Di","Guo","Wen","Xu","Ping","Cong","Shikato",null,"Ting","Yu","Cong","Kui","Tsuraneru","Kui","Cong","Lian","Weng","Kui","Lian","Lian","Cong","Ao","Sheng","Song","Ting","Kui","Nie","Zhi","Dan","Ning","Qie","Ji","Ting","Ting","Long","Yu","Yu","Zhao","Si","Su","Yi","Su","Si","Zhao","Zhao","Rou","Yi","Le","Ji","Qiu","Ken","Cao","Ge","Di","Huan","Huang","Yi","Ren","Xiao","Ru","Zhou","Yuan","Du","Gang","Rong","Gan","Cha","Wo","Chang","Gu","Zhi","Han","Fu","Fei","Fen","Pei","Pang","Jian","Fang","Zhun","You","Na","Hang","Ken","Ran","Gong","Yu","Wen","Yao","Jin","Pi","Qian","Xi","Xi","Fei","Ken","Jing","Tai","Shen","Zhong","Zhang","Xie","Shen","Wei","Zhou","Die","Dan","Fei","Ba","Bo","Qu","Tian","Bei","Gua","Tai","Zi","Ku","Zhi","Ni","Ping","Zi","Fu","Pang","Zhen","Xian","Zuo","Pei","Jia","Sheng","Zhi","Bao","Mu","Qu","Hu","Ke","Yi","Yin","Xu","Yang","Long","Dong","Ka","Lu","Jing","Nu","Yan","Pang","Kua","Yi","Guang","Gai","Ge","Dong","Zhi","Xiao","Xiong","Xiong","Er","E","Xing","Pian","Neng","Zi","Gui"],mC[129]=["Cheng","Tiao","Zhi","Cui","Mei","Xie","Cui","Xie","Mo","Mai","Ji","Obiyaakasu",null,"Kuai","Sa","Zang","Qi","Nao","Mi","Nong","Luan","Wan","Bo","Wen","Guan","Qiu","Jiao","Jing","Rou","Heng","Cuo","Lie","Shan","Ting","Mei","Chun","Shen","Xie","De","Zui","Cu","Xiu","Xin","Tuo","Pao","Cheng","Nei","Fu","Dou","Tuo","Niao","Noy","Pi","Gu","Gua","Li","Lian","Zhang","Cui","Jie","Liang","Zhou","Pi","Biao","Lun","Pian","Guo","Kui","Chui","Dan","Tian","Nei","Jing","Jie","La","Yi","An","Ren","Shen","Chuo","Fu","Fu","Ju","Fei","Qiang","Wan","Dong","Pi","Guo","Zong","Ding","Wu","Mei","Ruan","Zhuan","Zhi","Cou","Gua","Ou","Di","An","Xing","Nao","Yu","Chuan","Nan","Yun","Zhong","Rou","E","Sai","Tu","Yao","Jian","Wei","Jiao","Yu","Jia","Duan","Bi","Chang","Fu","Xian","Ni","Mian","Wa","Teng","Tui","Bang","Qian","Lu","Wa","Sou","Tang","Su","Zhui","Ge","Yi","Bo","Liao","Ji","Pi","Xie","Gao","Lu","Bin","Ou","Chang","Lu","Guo","Pang","Chuai","Piao","Jiang","Fu","Tang","Mo","Xi","Zhuan","Lu","Jiao","Ying","Lu","Zhi","Tara","Chun","Lian","Tong","Peng","Ni","Zha","Liao","Cui","Gui","Xiao","Teng","Fan","Zhi","Jiao","Shan","Wu","Cui","Run","Xiang","Sui","Fen","Ying","Tan","Zhua","Dan","Kuai","Nong","Tun","Lian","Bi","Yong","Jue","Chu","Yi","Juan","La","Lian","Sao","Tun","Gu","Qi","Cui","Bin","Xun","Ru","Huo","Zang","Xian","Biao","Xing","Kuan","La","Yan","Lu","Huo","Zang","Luo","Qu","Zang","Luan","Ni","Zang","Chen","Qian","Wo","Guang","Zang","Lin","Guang","Zi","Jiao","Nie","Chou","Ji","Gao","Chou","Mian","Nie","Zhi","Zhi","Ge","Jian","Die","Zhi","Xiu","Tai","Zhen","Jiu","Xian","Yu","Cha"],mC[130]=["Yao","Yu","Chong","Xi","Xi","Jiu","Yu","Yu","Xing","Ju","Jiu","Xin","She","She","Yadoru","Jiu","Shi","Tan","Shu","Shi","Tian","Dan","Pu","Pu","Guan","Hua","Tan","Chuan","Shun","Xia","Wu","Zhou","Dao","Gang","Shan","Yi",null,"Pa","Tai","Fan","Ban","Chuan","Hang","Fang","Ban","Que","Hesaki","Zhong","Jian","Cang","Ling","Zhu","Ze","Duo","Bo","Xian","Ge","Chuan","Jia","Lu","Hong","Pang","Xi",null,"Fu","Zao","Feng","Li","Shao","Yu","Lang","Ting",null,"Wei","Bo","Meng","Nian","Ju","Huang","Shou","Zong","Bian","Mao","Die",null,"Bang","Cha","Yi","Sao","Cang","Cao","Lou","Dai","Sori","Yao","Tong","Yofune","Dang","Tan","Lu","Yi","Jie","Jian","Huo","Meng","Qi","Lu","Lu","Chan","Shuang","Gen","Liang","Jian","Jian","Se","Yan","Fu","Ping","Yan","Yan","Cao","Cao","Yi","Le","Ting","Qiu","Ai","Nai","Tiao","Jiao","Jie","Peng","Wan","Yi","Chai","Mian","Mie","Gan","Qian","Yu","Yu","Shuo","Qiong","Tu","Xia","Qi","Mang","Zi","Hui","Sui","Zhi","Xiang","Bi","Fu","Tun","Wei","Wu","Zhi","Qi","Shan","Wen","Qian","Ren","Fou","Kou","Jie","Lu","Xu","Ji","Qin","Qi","Yuan","Fen","Ba","Rui","Xin","Ji","Hua","Hua","Fang","Wu","Jue","Gou","Zhi","Yun","Qin","Ao","Chu","Mao","Ya","Fei","Reng","Hang","Cong","Yin","You","Bian","Yi","Susa","Wei","Li","Pi","E","Xian","Chang","Cang","Meng","Su","Yi","Yuan","Ran","Ling","Tai","Tiao","Di","Miao","Qiong","Li","Yong","Ke","Mu","Pei","Bao","Gou","Min","Yi","Yi","Ju","Pi","Ruo","Ku","Zhu","Ni","Bo","Bing","Shan","Qiu","Yao","Xian","Ben","Hong","Ying","Zha","Dong","Ju","Die","Nie","Gan","Hu","Ping","Mei","Fu","Sheng","Gu","Bi","Wei"],mC[131]=["Fu","Zhuo","Mao","Fan","Qie","Mao","Mao","Ba","Zi","Mo","Zi","Di","Chi","Ji","Jing","Long",null,"Niao",null,"Xue","Ying","Qiong","Ge","Ming","Li","Rong","Yin","Gen","Qian","Chai","Chen","Yu","Xiu","Zi","Lie","Wu","Ji","Kui","Ce","Chong","Ci","Gou","Guang","Mang","Chi","Jiao","Jiao","Fu","Yu","Zhu","Zi","Jiang","Hui","Yin","Cha","Fa","Rong","Ru","Chong","Mang","Tong","Zhong",null,"Zhu","Xun","Huan","Kua","Quan","Gai","Da","Jing","Xing","Quan","Cao","Jing","Er","An","Shou","Chi","Ren","Jian","Ti","Huang","Ping","Li","Jin","Lao","Shu","Zhuang","Da","Jia","Rao","Bi","Ze","Qiao","Hui","Qi","Dang",null,"Rong","Hun","Ying","Luo","Ying","Xun","Jin","Sun","Yin","Mai","Hong","Zhou","Yao","Du","Wei","Chu","Dou","Fu","Ren","Yin","He","Bi","Bu","Yun","Di","Tu","Sui","Sui","Cheng","Chen","Wu","Bie","Xi","Geng","Li","Fu","Zhu","Mo","Li","Zhuang","Ji","Duo","Qiu","Sha","Suo","Chen","Feng","Ju","Mei","Meng","Xing","Jing","Che","Xin","Jun","Yan","Ting","Diao","Cuo","Wan","Han","You","Cuo","Jia","Wang","You","Niu","Shao","Xian","Lang","Fu","E","Mo","Wen","Jie","Nan","Mu","Kan","Lai","Lian","Shi","Wo","Usagi","Lian","Huo","You","Ying","Ying","Nuc","Chun","Mang","Mang","Ci","Wan","Jing","Di","Qu","Dong","Jian","Zou","Gu","La","Lu","Ju","Wei","Jun","Nie","Kun","He","Pu","Zi","Gao","Guo","Fu","Lun","Chang","Chou","Song","Chui","Zhan","Men","Cai","Ba","Li","Tu","Bo","Han","Bao","Qin","Juan","Xi","Qin","Di","Jie","Pu","Dang","Jin","Zhao","Tai","Geng","Hua","Gu","Ling","Fei","Jin","An","Wang","Beng","Zhou","Yan","Ju","Jian","Lin","Tan","Shu","Tian","Dao"],mC[132]=["Hu","Qi","He","Cui","Tao","Chun","Bei","Chang","Huan","Fei","Lai","Qi","Meng","Ping","Wei","Dan","Sha","Huan","Yan","Yi","Tiao","Qi","Wan","Ce","Nai","Kutabireru","Tuo","Jiu","Tie","Luo",null,null,"Meng",null,"Yaji",null,"Ying","Ying","Ying","Xiao","Sa","Qiu","Ke","Xiang","Wan","Yu","Yu","Fu","Lian","Xuan","Yuan","Nan","Ze","Wo","Chun","Xiao","Yu","Pian","Mao","An","E","Luo","Ying","Huo","Gua","Jiang","Mian","Zuo","Zuo","Ju","Bao","Rou","Xi","Xie","An","Qu","Jian","Fu","Lu","Jing","Pen","Feng","Hong","Hong","Hou","Yan","Tu","Zhu","Zi","Xiang","Shen","Ge","Jie","Jing","Mi","Huang","Shen","Pu","Gai","Dong","Zhou","Qian","Wei","Bo","Wei","Pa","Ji","Hu","Zang","Jia","Duan","Yao","Jun","Cong","Quan","Wei","Xian","Kui","Ting","Hun","Xi","Shi","Qi","Lan","Zong","Yao","Yuan","Mei","Yun","Shu","Di","Zhuan","Guan","Sukumo","Xue","Chan","Kai","Kui",null,"Jiang","Lou","Wei","Pai",null,"Sou","Yin","Shi","Chun","Shi","Yun","Zhen","Lang","Nu","Meng","He","Que","Suan","Yuan","Li","Ju","Xi","Pang","Chu","Xu","Tu","Liu","Wo","Zhen","Qian","Zu","Po","Cuo","Yuan","Chu","Yu","Kuai","Pan","Pu","Pu","Na","Shuo","Xi","Fen","Yun","Zheng","Jian","Ji","Ruo","Cang","En","Mi","Hao","Sun","Zhen","Ming","Sou","Xu","Liu","Xi","Gu","Lang","Rong","Weng","Gai","Cuo","Shi","Tang","Luo","Ru","Suo","Xian","Bei","Yao","Gui","Bi","Zong","Gun","Za","Xiu","Ce","Hai","Lan",null,"Ji","Li","Can","Lang","Yu",null,"Ying","Mo","Diao","Tiao","Mao","Tong","Zhu","Peng","An","Lian","Cong","Xi","Ping","Qiu","Jin","Chun","Jie","Wei","Tui","Cao","Yu","Yi","Ji","Liao","Bi","Lu","Su"],mC[133]=["Bu","Zhang","Luo","Jiang","Man","Yan","Ling","Ji","Piao","Gun","Han","Di","Su","Lu","She","Shang","Di","Mie","Xun","Man","Bo","Di","Cuo","Zhe","Sen","Xuan","Wei","Hu","Ao","Mi","Lou","Cu","Zhong","Cai","Po","Jiang","Mi","Cong","Niao","Hui","Jun","Yin","Jian","Yan","Shu","Yin","Kui","Chen","Hu","Sha","Kou","Qian","Ma","Zang","Sonoko","Qiang","Dou","Lian","Lin","Kou","Ai","Bi","Li","Wei","Ji","Xun","Sheng","Fan","Meng","Ou","Chan","Dian","Xun","Jiao","Rui","Rui","Lei","Yu","Qiao","Chu","Hua","Jian","Mai","Yun","Bao","You","Qu","Lu","Rao","Hui","E","Teng","Fei","Jue","Zui","Fa","Ru","Fen","Kui","Shun","Rui","Ya","Xu","Fu","Jue","Dang","Wu","Tong","Si","Xiao","Xi","Long","Yun",null,"Qi","Jian","Yun","Sun","Ling","Yu","Xia","Yong","Ji","Hong","Si","Nong","Lei","Xuan","Yun","Yu","Xi","Hao","Bo","Hao","Ai","Wei","Hui","Wei","Ji","Ci","Xiang","Luan","Mie","Yi","Leng","Jiang","Can","Shen","Qiang","Lian","Ke","Yuan","Da","Ti","Tang","Xie","Bi","Zhan","Sun","Lian","Fan","Ding","Jie","Gu","Xie","Shu","Jian","Kao","Hong","Sa","Xin","Xun","Yao","Hie","Sou","Shu","Xun","Dui","Pin","Wei","Neng","Chou","Mai","Ru","Piao","Tai","Qi","Zao","Chen","Zhen","Er","Ni","Ying","Gao","Cong","Xiao","Qi","Fa","Jian","Xu","Kui","Jie","Bian","Diao","Mi","Lan","Jin","Cang","Miao","Qiong","Qie","Xian",null,"Ou","Xian","Su","Lu","Yi","Xu","Xie","Li","Yi","La","Lei","Xiao","Di","Zhi","Bei","Teng","Yao","Mo","Huan","Piao","Fan","Sou","Tan","Tui","Qiong","Qiao","Wei","Liu","Hui",null,"Gao","Yun",null,"Li","Shu","Chu","Ai","Lin","Zao","Xuan","Chen","Lai","Huo"],mC[134]=["Tuo","Wu","Rui","Rui","Qi","Heng","Lu","Su","Tui","Mang","Yun","Pin","Yu","Xun","Ji","Jiong","Xian","Mo","Hagi","Su","Jiong",null,"Nie","Bo","Rang","Yi","Xian","Yu","Ju","Lian","Lian","Yin","Qiang","Ying","Long","Tong","Wei","Yue","Ling","Qu","Yao","Fan","Mi","Lan","Kui","Lan","Ji","Dang","Katsura","Lei","Lei","Hua","Feng","Zhi","Wei","Kui","Zhan","Huai","Li","Ji","Mi","Lei","Huai","Luo","Ji","Kui","Lu","Jian","San",null,"Lei","Quan","Xiao","Yi","Luan","Men","Bie","Hu","Hu","Lu","Nue","Lu","Si","Xiao","Qian","Chu","Hu","Xu","Cuo","Fu","Xu","Xu","Lu","Hu","Yu","Hao","Jiao","Ju","Guo","Bao","Yan","Zhan","Zhan","Kui","Ban","Xi","Shu","Chong","Qiu","Diao","Ji","Qiu","Cheng","Shi",null,"Di","Zhe","She","Yu","Gan","Zi","Hong","Hui","Meng","Ge","Sui","Xia","Chai","Shi","Yi","Ma","Xiang","Fang","E","Pa","Chi","Qian","Wen","Wen","Rui","Bang","Bi","Yue","Yue","Jun","Qi","Ran","Yin","Qi","Tian","Yuan","Jue","Hui","Qin","Qi","Zhong","Ya","Ci","Mu","Wang","Fen","Fen","Hang","Gong","Zao","Fu","Ran","Jie","Fu","Chi","Dou","Piao","Xian","Ni","Te","Qiu","You","Zha","Ping","Chi","You","He","Han","Ju","Li","Fu","Ran","Zha","Gou","Pi","Bo","Xian","Zhu","Diao","Bie","Bing","Gu","Ran","Qu","She","Tie","Ling","Gu","Dan","Gu","Ying","Li","Cheng","Qu","Mou","Ge","Ci","Hui","Hui","Mang","Fu","Yang","Wa","Lie","Zhu","Yi","Xian","Kuo","Jiao","Li","Yi","Ping","Ji","Ha","She","Yi","Wang","Mo","Qiong","Qie","Gui","Gong","Zhi","Man","Ebi","Zhi","Jia","Rao","Si","Qi","Xing","Lie","Qiu","Shao","Yong","Jia","Shui","Che","Bai","E","Han"],mC[135]=["Shu","Xuan","Feng","Shen","Zhen","Fu","Xian","Zhe","Wu","Fu","Li","Lang","Bi","Chu","Yuan","You","Jie","Dan","Yan","Ting","Dian","Shui","Hui","Gua","Zhi","Song","Fei","Ju","Mi","Qi","Qi","Yu","Jun","Zha","Meng","Qiang","Si","Xi","Lun","Li","Die","Tiao","Tao","Kun","Gan","Han","Yu","Bang","Fei","Pi","Wei","Dun","Yi","Yuan","Su","Quan","Qian","Rui","Ni","Qing","Wei","Liang","Guo","Wan","Dong","E","Ban","Di","Wang","Can","Yang","Ying","Guo","Chan",null,"La","Ke","Ji","He","Ting","Mai","Xu","Mian","Yu","Jie","Shi","Xuan","Huang","Yan","Bian","Rou","Wei","Fu","Yuan","Mei","Wei","Fu","Ruan","Xie","You","Qiu","Mao","Xia","Ying","Shi","Chong","Tang","Zhu","Zong","Ti","Fu","Yuan","Hui","Meng","La","Du","Hu","Qiu","Die","Li","Gua","Yun","Ju","Nan","Lou","Qun","Rong","Ying","Jiang",null,"Lang","Pang","Si","Xi","Ci","Xi","Yuan","Weng","Lian","Sou","Ban","Rong","Rong","Ji","Wu","Qiu","Han","Qin","Yi","Bi","Hua","Tang","Yi","Du","Nai","He","Hu","Hui","Ma","Ming","Yi","Wen","Ying","Teng","Yu","Cang","So","Ebi","Man",null,"Shang","Zhe","Cao","Chi","Di","Ao","Lu","Wei","Zhi","Tang","Chen","Piao","Qu","Pi","Yu","Jian","Luo","Lou","Qin","Zhong","Yin","Jiang","Shuai","Wen","Jiao","Wan","Zhi","Zhe","Ma","Ma","Guo","Liu","Mao","Xi","Cong","Li","Man","Xiao","Kamakiri","Zhang","Mang","Xiang","Mo","Zui","Si","Qiu","Te","Zhi","Peng","Peng","Jiao","Qu","Bie","Liao","Pan","Gui","Xi","Ji","Zhuan","Huang","Fei","Lao","Jue","Jue","Hui","Yin","Chan","Jiao","Shan","Rao","Xiao","Mou","Chong","Xun","Si",null,"Cheng","Dang","Li","Xie","Shan","Yi","Jing","Da","Chan","Qi"],mC[136]=["Ci","Xiang","She","Luo","Qin","Ying","Chai","Li","Ze","Xuan","Lian","Zhu","Ze","Xie","Mang","Xie","Qi","Rong","Jian","Meng","Hao","Ruan","Huo","Zhuo","Jie","Bin","He","Mie","Fan","Lei","Jie","La","Mi","Li","Chun","Li","Qiu","Nie","Lu","Du","Xiao","Zhu","Long","Li","Long","Feng","Ye","Beng","Shang","Gu","Juan","Ying",null,"Xi","Can","Qu","Quan","Du","Can","Man","Jue","Jie","Zhu","Zha","Xie","Huang","Niu","Pei","Nu","Xin","Zhong","Mo","Er","Ke","Mie","Xi","Xing","Yan","Kan","Yuan",null,"Ling","Xuan","Shu","Xian","Tong","Long","Jie","Xian","Ya","Hu","Wei","Dao","Chong","Wei","Dao","Zhun","Heng","Qu","Yi","Yi","Bu","Gan","Yu","Biao","Cha","Yi","Shan","Chen","Fu","Gun","Fen","Shuai","Jie","Na","Zhong","Dan","Ri","Zhong","Zhong","Xie","Qi","Xie","Ran","Zhi","Ren","Qin","Jin","Jun","Yuan","Mei","Chai","Ao","Niao","Hui","Ran","Jia","Tuo","Ling","Dai","Bao","Pao","Yao","Zuo","Bi","Shao","Tan","Ju","He","Shu","Xiu","Zhen","Yi","Pa","Bo","Di","Wa","Fu","Gun","Zhi","Zhi","Ran","Pan","Yi","Mao","Tuo","Na","Kou","Xian","Chan","Qu","Bei","Gun","Xi","Ne","Bo","Horo","Fu","Yi","Chi","Ku","Ren","Jiang","Jia","Cun","Mo","Jie","Er","Luo","Ru","Zhu","Gui","Yin","Cai","Lie","Kamishimo","Yuki","Zhuang","Dang",null,"Kun","Ken","Niao","Shu","Jia","Kun","Cheng","Li","Juan","Shen","Pou","Ge","Yi","Yu","Zhen","Liu","Qiu","Qun","Ji","Yi","Bu","Zhuang","Shui","Sha","Qun","Li","Lian","Lian","Ku","Jian","Fou","Chan","Bi","Gun","Tao","Yuan","Ling","Chi","Chang","Chou","Duo","Biao","Liang","Chang","Pei","Pei","Fei","Yuan","Luo","Guo","Yan","Du","Xi","Zhi","Ju","Qi"],mC[137]=["Ji","Zhi","Gua","Ken","Che","Ti","Ti","Fu","Chong","Xie","Bian","Die","Kun","Duan","Xiu","Xiu","He","Yuan","Bao","Bao","Fu","Yu","Tuan","Yan","Hui","Bei","Chu","Lu","Ena","Hitoe","Yun","Da","Gou","Da","Huai","Rong","Yuan","Ru","Nai","Jiong","Suo","Ban","Tun","Chi","Sang","Niao","Ying","Jie","Qian","Huai","Ku","Lian","Bao","Li","Zhe","Shi","Lu","Yi","Die","Xie","Xian","Wei","Biao","Cao","Ji","Jiang","Sen","Bao","Xiang","Chihaya","Pu","Jian","Zhuan","Jian","Zui","Ji","Dan","Za","Fan","Bo","Xiang","Xin","Bie","Rao","Man","Lan","Ao","Duo","Gui","Cao","Sui","Nong","Chan","Lian","Bi","Jin","Dang","Shu","Tan","Bi","Lan","Pu","Ru","Zhi",null,"Shu","Wa","Shi","Bai","Xie","Bo","Chen","Lai","Long","Xi","Xian","Lan","Zhe","Dai","Tasuki","Zan","Shi","Jian","Pan","Yi","Ran","Ya","Xi","Xi","Yao","Feng","Tan",null,"Biao","Fu","Ba","He","Ji","Ji","Jian","Guan","Bian","Yan","Gui","Jue","Pian","Mao","Mi","Mi","Mie","Shi","Si","Zhan","Luo","Jue","Mi","Tiao","Lian","Yao","Zhi","Jun","Xi","Shan","Wei","Xi","Tian","Yu","Lan","E","Du","Qin","Pang","Ji","Ming","Ying","Gou","Qu","Zhan","Jin","Guan","Deng","Jian","Luo","Qu","Jian","Wei","Jue","Qu","Luo","Lan","Shen","Di","Guan","Jian","Guan","Yan","Gui","Mi","Shi","Zhan","Lan","Jue","Ji","Xi","Di","Tian","Yu","Gou","Jin","Qu","Jiao","Jiu","Jin","Cu","Jue","Zhi","Chao","Ji","Gu","Dan","Zui","Di","Shang","Hua","Quan","Ge","Chi","Jie","Gui","Gong","Chu","Jie","Hun","Qiu","Xing","Su","Ni","Ji","Lu","Zhi","Zha","Bi","Xing","Hu","Shang","Gong","Zhi","Xue","Chu","Xi","Yi","Lu","Jue","Xi","Yan","Xi"],mC[138]=["Yan","Yan","Ding","Fu","Qiu","Qiu","Jiao","Hong","Ji","Fan","Xun","Diao","Hong","Cha","Tao","Xu","Jie","Yi","Ren","Xun","Yin","Shan","Qi","Tuo","Ji","Xun","Yin","E","Fen","Ya","Yao","Song","Shen","Yin","Xin","Jue","Xiao","Ne","Chen","You","Zhi","Xiong","Fang","Xin","Chao","She","Xian","Sha","Tun","Xu","Yi","Yi","Su","Chi","He","Shen","He","Xu","Zhen","Zhu","Zheng","Gou","Zi","Zi","Zhan","Gu","Fu","Quan","Die","Ling","Di","Yang","Li","Nao","Pan","Zhou","Gan","Yi","Ju","Ao","Zha","Tuo","Yi","Qu","Zhao","Ping","Bi","Xiong","Qu","Ba","Da","Zu","Tao","Zhu","Ci","Zhe","Yong","Xu","Xun","Yi","Huang","He","Shi","Cha","Jiao","Shi","Hen","Cha","Gou","Gui","Quan","Hui","Jie","Hua","Gai","Xiang","Wei","Shen","Chou","Tong","Mi","Zhan","Ming","E","Hui","Yan","Xiong","Gua","Er","Beng","Tiao","Chi","Lei","Zhu","Kuang","Kua","Wu","Yu","Teng","Ji","Zhi","Ren","Su","Lang","E","Kuang","E","Shi","Ting","Dan","Bo","Chan","You","Heng","Qiao","Qin","Shua","An","Yu","Xiao","Cheng","Jie","Xian","Wu","Wu","Gao","Song","Pu","Hui","Jing","Shuo","Zhen","Shuo","Du","Yasashi","Chang","Shui","Jie","Ke","Qu","Cong","Xiao","Sui","Wang","Xuan","Fei","Chi","Ta","Yi","Na","Yin","Diao","Pi","Chuo","Chan","Chen","Zhun","Ji","Qi","Tan","Zhui","Wei","Ju","Qing","Jian","Zheng","Ze","Zou","Qian","Zhuo","Liang","Jian","Zhu","Hao","Lun","Shen","Biao","Huai","Pian","Yu","Die","Xu","Pian","Shi","Xuan","Shi","Hun","Hua","E","Zhong","Di","Xie","Fu","Pu","Ting","Jian","Qi","Yu","Zi","Chuan","Xi","Hui","Yin","An","Xian","Nan","Chen","Feng","Zhu","Yang","Yan","Heng","Xuan","Ge","Nuo","Qi"],mC[139]=["Mou","Ye","Wei",null,"Teng","Zou","Shan","Jian","Bo","Ku","Huang","Huo","Ge","Ying","Mi","Xiao","Mi","Xi","Qiang","Chen","Nue","Ti","Su","Bang","Chi","Qian","Shi","Jiang","Yuan","Xie","Xue","Tao","Yao","Yao",null,"Yu","Biao","Cong","Qing","Li","Mo","Mo","Shang","Zhe","Miu","Jian","Ze","Jie","Lian","Lou","Can","Ou","Guan","Xi","Zhuo","Ao","Ao","Jin","Zhe","Yi","Hu","Jiang","Man","Chao","Han","Hua","Chan","Xu","Zeng","Se","Xi","She","Dui","Zheng","Nao","Lan","E","Ying","Jue","Ji","Zun","Jiao","Bo","Hui","Zhuan","Mu","Zen","Zha","Shi","Qiao","Tan","Zen","Pu","Sheng","Xuan","Zao","Tan","Dang","Sui","Qian","Ji","Jiao","Jing","Lian","Nou","Yi","Ai","Zhan","Pi","Hui","Hua","Yi","Yi","Shan","Rang","Nou","Qian","Zhui","Ta","Hu","Zhou","Hao","Ye","Ying","Jian","Yu","Jian","Hui","Du","Zhe","Xuan","Zan","Lei","Shen","Wei","Chan","Li","Yi","Bian","Zhe","Yan","E","Chou","Wei","Chou","Yao","Chan","Rang","Yin","Lan","Chen","Huo","Zhe","Huan","Zan","Yi","Dang","Zhan","Yan","Du","Yan","Ji","Ding","Fu","Ren","Ji","Jie","Hong","Tao","Rang","Shan","Qi","Tuo","Xun","Yi","Xun","Ji","Ren","Jiang","Hui","Ou","Ju","Ya","Ne","Xu","E","Lun","Xiong","Song","Feng","She","Fang","Jue","Zheng","Gu","He","Ping","Zu","Shi","Xiong","Zha","Su","Zhen","Di","Zou","Ci","Qu","Zhao","Bi","Yi","Yi","Kuang","Lei","Shi","Gua","Shi","Jie","Hui","Cheng","Zhu","Shen","Hua","Dan","Gou","Quan","Gui","Xun","Yi","Zheng","Gai","Xiang","Cha","Hun","Xu","Zhou","Jie","Wu","Yu","Qiao","Wu","Gao","You","Hui","Kuang","Shuo","Song","Ai","Qing","Zhu","Zou","Nuo","Du","Zhuo","Fei","Ke","Wei"],mC[140]=["Yu","Shui","Shen","Diao","Chan","Liang","Zhun","Sui","Tan","Shen","Yi","Mou","Chen","Die","Huang","Jian","Xie","Nue","Ye","Wei","E","Yu","Xuan","Chan","Zi","An","Yan","Di","Mi","Pian","Xu","Mo","Dang","Su","Xie","Yao","Bang","Shi","Qian","Mi","Jin","Man","Zhe","Jian","Miu","Tan","Zen","Qiao","Lan","Pu","Jue","Yan","Qian","Zhan","Chen","Gu","Qian","Hong","Xia","Jue","Hong","Han","Hong","Xi","Xi","Huo","Liao","Han","Du","Long","Dou","Jiang","Qi","Shi","Li","Deng","Wan","Bi","Shu","Xian","Feng","Zhi","Zhi","Yan","Yan","Shi","Chu","Hui","Tun","Yi","Tun","Yi","Jian","Ba","Hou","E","Cu","Xiang","Huan","Jian","Ken","Gai","Qu","Fu","Xi","Bin","Hao","Yu","Zhu","Jia",null,"Xi","Bo","Wen","Huan","Bin","Di","Zong","Fen","Yi","Zhi","Bao","Chai","Han","Pi","Na","Pi","Gou","Na","You","Diao","Mo","Si","Xiu","Huan","Kun","He","He","Mo","Han","Mao","Li","Ni","Bi","Yu","Jia","Tuan","Mao","Pi","Xi","E","Ju","Mo","Chu","Tan","Huan","Jue","Bei","Zhen","Yuan","Fu","Cai","Gong","Te","Yi","Hang","Wan","Pin","Huo","Fan","Tan","Guan","Ze","Zhi","Er","Zhu","Shi","Bi","Zi","Er","Gui","Pian","Bian","Mai","Dai","Sheng","Kuang","Fei","Tie","Yi","Chi","Mao","He","Bi","Lu","Ren","Hui","Gai","Pian","Zi","Jia","Xu","Zei","Jiao","Gai","Zang","Jian","Ying","Xun","Zhen","She","Bin","Bin","Qiu","She","Chuan","Zang","Zhou","Lai","Zan","Si","Chen","Shang","Tian","Pei","Geng","Xian","Mai","Jian","Sui","Fu","Tan","Cong","Cong","Zhi","Ji","Zhang","Du","Jin","Xiong","Shun","Yun","Bao","Zai","Lai","Feng","Cang","Ji","Sheng","Ai","Zhuan","Fu","Gou","Sai","Ze","Liao"],mC[141]=["Wei","Bai","Chen","Zhuan","Zhi","Zhui","Biao","Yun","Zeng","Tan","Zan","Yan",null,"Shan","Wan","Ying","Jin","Gan","Xian","Zang","Bi","Du","Shu","Yan",null,"Xuan","Long","Gan","Zang","Bei","Zhen","Fu","Yuan","Gong","Cai","Ze","Xian","Bai","Zhang","Huo","Zhi","Fan","Tan","Pin","Bian","Gou","Zhu","Guan","Er","Jian","Bi","Shi","Tie","Gui","Kuang","Dai","Mao","Fei","He","Yi","Zei","Zhi","Jia","Hui","Zi","Ren","Lu","Zang","Zi","Gai","Jin","Qiu","Zhen","Lai","She","Fu","Du","Ji","Shu","Shang","Si","Bi","Zhou","Geng","Pei","Tan","Lai","Feng","Zhui","Fu","Zhuan","Sai","Ze","Yan","Zan","Yun","Zeng","Shan","Ying","Gan","Chi","Xi","She","Nan","Xiong","Xi","Cheng","He","Cheng","Zhe","Xia","Tang","Zou","Zou","Li","Jiu","Fu","Zhao","Gan","Qi","Shan","Qiong","Qin","Xian","Ci","Jue","Qin","Chi","Ci","Chen","Chen","Die","Ju","Chao","Di","Se","Zhan","Zhu","Yue","Qu","Jie","Chi","Chu","Gua","Xue","Ci","Tiao","Duo","Lie","Gan","Suo","Cu","Xi","Zhao","Su","Yin","Ju","Jian","Que","Tang","Chuo","Cui","Lu","Qu","Dang","Qiu","Zi","Ti","Qu","Chi","Huang","Qiao","Qiao","Yao","Zao","Ti",null,"Zan","Zan","Zu","Pa","Bao","Ku","Ke","Dun","Jue","Fu","Chen","Jian","Fang","Zhi","Sa","Yue","Pa","Qi","Yue","Qiang","Tuo","Tai","Yi","Nian","Ling","Mei","Ba","Die","Ku","Tuo","Jia","Ci","Pao","Qia","Zhu","Ju","Die","Zhi","Fu","Pan","Ju","Shan","Bo","Ni","Ju","Li","Gen","Yi","Ji","Dai","Xian","Jiao","Duo","Zhu","Zhuan","Kua","Zhuai","Gui","Qiong","Kui","Xiang","Chi","Lu","Beng","Zhi","Jia","Tiao","Cai","Jian","Ta","Qiao","Bi","Xian","Duo","Ji","Ju","Ji","Shu","Tu"],mC[142]=["Chu","Jing","Nie","Xiao","Bo","Chi","Qun","Mou","Shu","Lang","Yong","Jiao","Chou","Qiao",null,"Ta","Jian","Qi","Wo","Wei","Zhuo","Jie","Ji","Nie","Ju","Ju","Lun","Lu","Leng","Huai","Ju","Chi","Wan","Quan","Ti","Bo","Zu","Qie","Ji","Cu","Zong","Cai","Zong","Peng","Zhi","Zheng","Dian","Zhi","Yu","Duo","Dun","Chun","Yong","Zhong","Di","Zhe","Chen","Chuai","Jian","Gua","Tang","Ju","Fu","Zu","Die","Pian","Rou","Nuo","Ti","Cha","Tui","Jian","Dao","Cuo","Xi","Ta","Qiang","Zhan","Dian","Ti","Ji","Nie","Man","Liu","Zhan","Bi","Chong","Lu","Liao","Cu","Tang","Dai","Suo","Xi","Kui","Ji","Zhi","Qiang","Di","Man","Zong","Lian","Beng","Zao","Nian","Bie","Tui","Ju","Deng","Ceng","Xian","Fan","Chu","Zhong","Dun","Bo","Cu","Zu","Jue","Jue","Lin","Ta","Qiao","Qiao","Pu","Liao","Dun","Cuan","Kuang","Zao","Ta","Bi","Bi","Zhu","Ju","Chu","Qiao","Dun","Chou","Ji","Wu","Yue","Nian","Lin","Lie","Zhi","Li","Zhi","Chan","Chu","Duan","Wei","Long","Lin","Xian","Wei","Zuan","Lan","Xie","Rang","Xie","Nie","Ta","Qu","Jie","Cuan","Zuan","Xi","Kui","Jue","Lin","Shen","Gong","Dan","Segare","Qu","Ti","Duo","Duo","Gong","Lang","Nerau","Luo","Ai","Ji","Ju","Tang","Utsuke",null,"Yan","Shitsuke","Kang","Qu","Lou","Lao","Tuo","Zhi","Yagate","Ti","Dao","Yagate","Yu","Che","Ya","Gui","Jun","Wei","Yue","Xin","Di","Xuan","Fan","Ren","Shan","Qiang","Shu","Tun","Chen","Dai","E","Na","Qi","Mao","Ruan","Ren","Fan","Zhuan","Hong","Hu","Qu","Huang","Di","Ling","Dai","Ao","Zhen","Fan","Kuang","Ang","Peng","Bei","Gu","Ku","Pao","Zhu","Rong","E","Ba","Zhou","Zhi","Yao","Ke","Yi","Qing","Shi","Ping"],mC[143]=["Er","Qiong","Ju","Jiao","Guang","Lu","Kai","Quan","Zhou","Zai","Zhi","She","Liang","Yu","Shao","You","Huan","Yun","Zhe","Wan","Fu","Qing","Zhou","Ni","Ling","Zhe","Zhan","Liang","Zi","Hui","Wang","Chuo","Guo","Kan","Yi","Peng","Qian","Gun","Nian","Pian","Guan","Bei","Lun","Pai","Liang","Ruan","Rou","Ji","Yang","Xian","Chuan","Cou","Qun","Ge","You","Hong","Shu","Fu","Zi","Fu","Wen","Ben","Zhan","Yu","Wen","Tao","Gu","Zhen","Xia","Yuan","Lu","Jiu","Chao","Zhuan","Wei","Hun","Sori","Che","Jiao","Zhan","Pu","Lao","Fen","Fan","Lin","Ge","Se","Kan","Huan","Yi","Ji","Dui","Er","Yu","Xian","Hong","Lei","Pei","Li","Li","Lu","Lin","Che","Ya","Gui","Xuan","Di","Ren","Zhuan","E","Lun","Ruan","Hong","Ku","Ke","Lu","Zhou","Zhi","Yi","Hu","Zhen","Li","Yao","Qing","Shi","Zai","Zhi","Jiao","Zhou","Quan","Lu","Jiao","Zhe","Fu","Liang","Nian","Bei","Hui","Gun","Wang","Liang","Chuo","Zi","Cou","Fu","Ji","Wen","Shu","Pei","Yuan","Xia","Zhan","Lu","Che","Lin","Xin","Gu","Ci","Ci","Pi","Zui","Bian","La","La","Ci","Xue","Ban","Bian","Bian","Bian",null,"Bian","Ban","Ci","Bian","Bian","Chen","Ru","Nong","Nong","Zhen","Chuo","Chuo","Suberu","Reng","Bian","Bian","Sip","Ip","Liao","Da","Chan","Gan","Qian","Yu","Yu","Qi","Xun","Yi","Guo","Mai","Qi","Za","Wang","Jia","Zhun","Ying","Ti","Yun","Jin","Hang","Ya","Fan","Wu","Da","E","Huan","Zhe","Totemo","Jin","Yuan","Wei","Lian","Chi","Che","Ni","Tiao","Zhi","Yi","Jiong","Jia","Chen","Dai","Er","Di","Po","Wang","Die","Ze","Tao","Shu","Tuo","Kep","Jing","Hui","Tong","You","Mi","Beng","Ji","Nai","Yi","Jie","Zhui","Lie","Xun"],mC[144]=["Tui","Song","Gua","Tao","Pang","Hou","Ni","Dun","Jiong","Xuan","Xun","Bu","You","Xiao","Qiu","Tou","Zhu","Qiu","Di","Di","Tu","Jing","Ti","Dou","Yi","Zhe","Tong","Guang","Wu","Shi","Cheng","Su","Zao","Qun","Feng","Lian","Suo","Hui","Li","Sako","Lai","Ben","Cuo","Jue","Beng","Huan","Dai","Lu","You","Zhou","Jin","Yu","Chuo","Kui","Wei","Ti","Yi","Da","Yuan","Luo","Bi","Nuo","Yu","Dang","Sui","Dun","Sui","Yan","Chuan","Chi","Ti","Yu","Shi","Zhen","You","Yun","E","Bian","Guo","E","Xia","Huang","Qiu","Dao","Da","Wei","Appare","Yi","Gou","Yao","Chu","Liu","Xun","Ta","Di","Chi","Yuan","Su","Ta","Qian",null,"Yao","Guan","Zhang","Ao","Shi","Ce","Chi","Su","Zao","Zhe","Dun","Di","Lou","Chi","Cuo","Lin","Zun","Rao","Qian","Xuan","Yu","Yi","Wu","Liao","Ju","Shi","Bi","Yao","Mai","Xie","Sui","Huan","Zhan","Teng","Er","Miao","Bian","Bian","La","Li","Yuan","Yao","Luo","Li","Yi","Ting","Deng","Qi","Yong","Shan","Han","Yu","Mang","Ru","Qiong",null,"Kuang","Fu","Kang","Bin","Fang","Xing","Na","Xin","Shen","Bang","Yuan","Cun","Huo","Xie","Bang","Wu","Ju","You","Han","Tai","Qiu","Bi","Pei","Bing","Shao","Bei","Wa","Di","Zou","Ye","Lin","Kuang","Gui","Zhu","Shi","Ku","Yu","Gai","Ge","Xi","Zhi","Ji","Xun","Hou","Xing","Jiao","Xi","Gui","Nuo","Lang","Jia","Kuai","Zheng","Otoko","Yun","Yan","Cheng","Dou","Chi","Lu","Fu","Wu","Fu","Gao","Hao","Lang","Jia","Geng","Jun","Ying","Bo","Xi","Bei","Li","Yun","Bu","Xiao","Qi","Pi","Qing","Guo","Zhou","Tan","Zou","Ping","Lai","Ni","Chen","You","Bu","Xiang","Dan","Ju","Yong","Qiao","Yi","Du","Yan","Mei"],mC[145]=["Ruo","Bei","E","Yu","Juan","Yu","Yun","Hou","Kui","Xiang","Xiang","Sou","Tang","Ming","Xi","Ru","Chu","Zi","Zou","Ju","Wu","Xiang","Yun","Hao","Yong","Bi","Mo","Chao","Fu","Liao","Yin","Zhuan","Hu","Qiao","Yan","Zhang","Fan","Qiao","Xu","Deng","Bi","Xin","Bi","Ceng","Wei","Zheng","Mao","Shan","Lin","Po","Dan","Meng","Ye","Cao","Kuai","Feng","Meng","Zou","Kuang","Lian","Zan","Chan","You","Qi","Yan","Chan","Zan","Ling","Huan","Xi","Feng","Zan","Li","You","Ding","Qiu","Zhuo","Pei","Zhou","Yi","Hang","Yu","Jiu","Yan","Zui","Mao","Dan","Xu","Tou","Zhen","Fen","Sakenomoto",null,"Yun","Tai","Tian","Qia","Tuo","Zuo","Han","Gu","Su","Po","Chou","Zai","Ming","Luo","Chuo","Chou","You","Tong","Zhi","Xian","Jiang","Cheng","Yin","Tu","Xiao","Mei","Ku","Suan","Lei","Pu","Zui","Hai","Yan","Xi","Niang","Wei","Lu","Lan","Yan","Tao","Pei","Zhan","Chun","Tan","Zui","Chuo","Cu","Kun","Ti","Mian","Du","Hu","Xu","Xing","Tan","Jiu","Chun","Yun","Po","Ke","Sou","Mi","Quan","Chou","Cuo","Yun","Yong","Ang","Zha","Hai","Tang","Jiang","Piao","Shan","Yu","Li","Zao","Lao","Yi","Jiang","Pu","Jiao","Xi","Tan","Po","Nong","Yi","Li","Ju","Jiao","Yi","Niang","Ru","Xun","Chou","Yan","Ling","Mi","Mi","Niang","Xin","Jiao","Xi","Mi","Yan","Bian","Cai","Shi","You","Shi","Shi","Li","Chong","Ye","Liang","Li","Jin","Jin","Qiu","Yi","Diao","Dao","Zhao","Ding","Po","Qiu","He","Fu","Zhen","Zhi","Ba","Luan","Fu","Nai","Diao","Shan","Qiao","Kou","Chuan","Zi","Fan","Yu","Hua","Han","Gong","Qi","Mang","Ri","Di","Si","Xi","Yi","Chai","Shi","Tu","Xi","Nu","Qian","Ishiyumi","Jian","Pi","Ye","Yin"],mC[146]=["Ba","Fang","Chen","Xing","Tou","Yue","Yan","Fu","Pi","Na","Xin","E","Jue","Dun","Gou","Yin","Qian","Ban","Ji","Ren","Chao","Niu","Fen","Yun","Ji","Qin","Pi","Guo","Hong","Yin","Jun","Shi","Yi","Zhong","Nie","Gai","Ri","Huo","Tai","Kang","Habaki","Irori","Ngaak",null,"Duo","Zi","Ni","Tu","Shi","Min","Gu","E","Ling","Bing","Yi","Gu","Ba","Pi","Yu","Si","Zuo","Bu","You","Dian","Jia","Zhen","Shi","Shi","Tie","Ju","Zhan","Shi","She","Xuan","Zhao","Bao","He","Bi","Sheng","Chu","Shi","Bo","Zhu","Chi","Za","Po","Tong","Qian","Fu","Zhai","Liu","Qian","Fu","Li","Yue","Pi","Yang","Ban","Bo","Jie","Gou","Shu","Zheng","Mu","Ni","Nie","Di","Jia","Mu","Dan","Shen","Yi","Si","Kuang","Ka","Bei","Jian","Tong","Xing","Hong","Jiao","Chi","Er","Ge","Bing","Shi","Mou","Jia","Yin","Jun","Zhou","Chong","Shang","Tong","Mo","Lei","Ji","Yu","Xu","Ren","Zun","Zhi","Qiong","Shan","Chi","Xian","Xing","Quan","Pi","Tie","Zhu","Hou","Ming","Kua","Yao","Xian","Xian","Xiu","Jun","Cha","Lao","Ji","Pi","Ru","Mi","Yi","Yin","Guang","An","Diou","You","Se","Kao","Qian","Luan","Kasugai","Ai","Diao","Han","Rui","Shi","Keng","Qiu","Xiao","Zhe","Xiu","Zang","Ti","Cuo","Gua","Gong","Zhong","Dou","Lu","Mei","Lang","Wan","Xin","Yun","Bei","Wu","Su","Yu","Chan","Ting","Bo","Han","Jia","Hong","Cuan","Feng","Chan","Wan","Zhi","Si","Xuan","Wu","Wu","Tiao","Gong","Zhuo","Lue","Xing","Qian","Shen","Han","Lue","Xie","Chu","Zheng","Ju","Xian","Tie","Mang","Pu","Li","Pan","Rui","Cheng","Gao","Li","Te","Pyeng","Zhu",null,"Tu","Liu","Zui","Ju","Chang","Yuan","Jian","Gang","Diao","Tao","Chang"],mC[147]=["Lun","Kua","Ling","Bei","Lu","Li","Qiang","Pou","Juan","Min","Zui","Peng","An","Pi","Xian","Ya","Zhui","Lei","A","Kong","Ta","Kun","Du","Wei","Chui","Zi","Zheng","Ben","Nie","Cong","Qun","Tan","Ding","Qi","Qian","Zhuo","Qi","Yu","Jin","Guan","Mao","Chang","Tian","Xi","Lian","Tao","Gu","Cuo","Shu","Zhen","Lu","Meng","Lu","Hua","Biao","Ga","Lai","Ken","Kazari","Bu","Nai","Wan","Zan",null,"De","Xian",null,"Huo","Liang",null,"Men","Kai","Ying","Di","Lian","Guo","Xian","Du","Tu","Wei","Cong","Fu","Rou","Ji","E","Rou","Chen","Ti","Zha","Hong","Yang","Duan","Xia","Yu","Keng","Xing","Huang","Wei","Fu","Zhao","Cha","Qie","She","Hong","Kui","Tian","Mou","Qiao","Qiao","Hou","Tou","Cong","Huan","Ye","Min","Jian","Duan","Jian","Song","Kui","Hu","Xuan","Duo","Jie","Zhen","Bian","Zhong","Zi","Xiu","Ye","Mei","Pai","Ai","Jie",null,"Mei","Chuo","Ta","Bang","Xia","Lian","Suo","Xi","Liu","Zu","Ye","Nou","Weng","Rong","Tang","Suo","Qiang","Ge","Shuo","Chui","Bo","Pan","Sa","Bi","Sang","Gang","Zi","Wu","Ying","Huang","Tiao","Liu","Kai","Sun","Sha","Sou","Wan","Hao","Zhen","Zhen","Luo","Yi","Yuan","Tang","Nie","Xi","Jia","Ge","Ma","Juan","Kasugai","Habaki","Suo",null,null,null,"Na","Lu","Suo","Ou","Zu","Tuan","Xiu","Guan","Xuan","Lian","Shou","Ao","Man","Mo","Luo","Bi","Wei","Liu","Di","Qiao","Cong","Yi","Lu","Ao","Keng","Qiang","Cui","Qi","Chang","Tang","Man","Yong","Chan","Feng","Jing","Biao","Shu","Lou","Xiu","Cong","Long","Zan","Jian","Cao","Li","Xia","Xi","Kang",null,"Beng",null,null,"Zheng","Lu","Hua","Ji","Pu","Hui","Qiang","Po","Lin","Suo","Xiu","San","Cheng"],mC[148]=["Kui","Si","Liu","Nao","Heng","Pie","Sui","Fan","Qiao","Quan","Yang","Tang","Xiang","Jue","Jiao","Zun","Liao","Jie","Lao","Dui","Tan","Zan","Ji","Jian","Zhong","Deng","Ya","Ying","Dui","Jue","Nou","Ti","Pu","Tie",null,null,"Ding","Shan","Kai","Jian","Fei","Sui","Lu","Juan","Hui","Yu","Lian","Zhuo","Qiao","Qian","Zhuo","Lei","Bi","Tie","Huan","Ye","Duo","Guo","Dang","Ju","Fen","Da","Bei","Yi","Ai","Zong","Xun","Diao","Zhu","Heng","Zhui","Ji","Nie","Ta","Huo","Qing","Bin","Ying","Kui","Ning","Xu","Jian","Jian","Yari","Cha","Zhi","Mie","Li","Lei","Ji","Zuan","Kuang","Shang","Peng","La","Du","Shuo","Chuo","Lu","Biao","Bao","Lu",null,null,"Long","E","Lu","Xin","Jian","Lan","Bo","Jian","Yao","Chan","Xiang","Jian","Xi","Guan","Cang","Nie","Lei","Cuan","Qu","Pan","Luo","Zuan","Luan","Zao","Nie","Jue","Tang","Shu","Lan","Jin","Qiu","Yi","Zhen","Ding","Zhao","Po","Diao","Tu","Qian","Chuan","Shan","Ji","Fan","Diao","Men","Nu","Xi","Chai","Xing","Gai","Bu","Tai","Ju","Dun","Chao","Zhong","Na","Bei","Gang","Ban","Qian","Yao","Qin","Jun","Wu","Gou","Kang","Fang","Huo","Tou","Niu","Ba","Yu","Qian","Zheng","Qian","Gu","Bo","E","Po","Bu","Ba","Yue","Zuan","Mu","Dan","Jia","Dian","You","Tie","Bo","Ling","Shuo","Qian","Liu","Bao","Shi","Xuan","She","Bi","Ni","Pi","Duo","Xing","Kao","Lao","Er","Mang","Ya","You","Cheng","Jia","Ye","Nao","Zhi","Dang","Tong","Lu","Diao","Yin","Kai","Zha","Zhu","Xian","Ting","Diu","Xian","Hua","Quan","Sha","Jia","Yao","Ge","Ming","Zheng","Se","Jiao","Yi","Chan","Chong","Tang","An","Yin","Ru","Zhu","Lao","Pu","Wu","Lai","Te","Lian","Keng"],mC[149]=["Xiao","Suo","Li","Zheng","Chu","Guo","Gao","Tie","Xiu","Cuo","Lue","Feng","Xin","Liu","Kai","Jian","Rui","Ti","Lang","Qian","Ju","A","Qiang","Duo","Tian","Cuo","Mao","Ben","Qi","De","Kua","Kun","Chang","Xi","Gu","Luo","Chui","Zhui","Jin","Zhi","Xian","Juan","Huo","Pou","Tan","Ding","Jian","Ju","Meng","Zi","Qie","Ying","Kai","Qiang","Song","E","Cha","Qiao","Zhong","Duan","Sou","Huang","Huan","Ai","Du","Mei","Lou","Zi","Fei","Mei","Mo","Zhen","Bo","Ge","Nie","Tang","Juan","Nie","Na","Liu","Hao","Bang","Yi","Jia","Bin","Rong","Biao","Tang","Man","Luo","Beng","Yong","Jing","Di","Zu","Xuan","Liu","Tan","Jue","Liao","Pu","Lu","Dui","Lan","Pu","Cuan","Qiang","Deng","Huo","Lei","Huan","Zhuo","Lian","Yi","Cha","Biao","La","Chan","Xiang","Chang","Chang","Jiu","Ao","Die","Qu","Liao","Mi","Chang","Men","Ma","Shuan","Shan","Huo","Men","Yan","Bi","Han","Bi","San","Kai","Kang","Beng","Hong","Run","San","Xian","Xian","Jian","Min","Xia","Yuru","Dou","Zha","Nao","Jian","Peng","Xia","Ling","Bian","Bi","Run","He","Guan","Ge","Ge","Fa","Chu","Hong","Gui","Min","Se","Kun","Lang","Lu","Ting","Sha","Ju","Yue","Yue","Chan","Qu","Lin","Chang","Shai","Kun","Yan","Min","Yan","E","Hun","Yu","Wen","Xiang","Bao","Xiang","Qu","Yao","Wen","Ban","An","Wei","Yin","Kuo","Que","Lan","Du",null,"Phwung","Tian","Nie","Ta","Kai","He","Que","Chuang","Guan","Dou","Qi","Kui","Tang","Guan","Piao","Kan","Xi","Hui","Chan","Pi","Dang","Huan","Ta","Wen",null,"Men","Shuan","Shan","Yan","Han","Bi","Wen","Chuang","Run","Wei","Xian","Hong","Jian","Min","Kang","Men","Zha","Nao","Gui","Wen","Ta","Min","Lu","Kai"],mC[150]=["Fa","Ge","He","Kun","Jiu","Yue","Lang","Du","Yu","Yan","Chang","Xi","Wen","Hun","Yan","E","Chan","Lan","Qu","Hui","Kuo","Que","Ge","Tian","Ta","Que","Kan","Huan","Fu","Fu","Le","Dui","Xin","Qian","Wu","Yi","Tuo","Yin","Yang","Dou","E","Sheng","Ban","Pei","Keng","Yun","Ruan","Zhi","Pi","Jing","Fang","Yang","Yin","Zhen","Jie","Cheng","E","Qu","Di","Zu","Zuo","Dian","Ling","A","Tuo","Tuo","Po","Bing","Fu","Ji","Lu","Long","Chen","Xing","Duo","Lou","Mo","Jiang","Shu","Duo","Xian","Er","Gui","Yu","Gai","Shan","Xun","Qiao","Xing","Chun","Fu","Bi","Xia","Shan","Sheng","Zhi","Pu","Dou","Yuan","Zhen","Chu","Xian","Tou","Nie","Yun","Xian","Pei","Pei","Zou","Yi","Dui","Lun","Yin","Ju","Chui","Chen","Pi","Ling","Tao","Xian","Lu","Sheng","Xian","Yin","Zhu","Yang","Reng","Shan","Chong","Yan","Yin","Yu","Ti","Yu","Long","Wei","Wei","Nie","Dui","Sui","An","Huang","Jie","Sui","Yin","Gai","Yan","Hui","Ge","Yun","Wu","Wei","Ai","Xi","Tang","Ji","Zhang","Dao","Ao","Xi","Yin",null,"Rao","Lin","Tui","Deng","Pi","Sui","Sui","Yu","Xian","Fen","Ni","Er","Ji","Dao","Xi","Yin","E","Hui","Long","Xi","Li","Li","Li","Zhui","He","Zhi","Zhun","Jun","Nan","Yi","Que","Yan","Qian","Ya","Xiong","Ya","Ji","Gu","Huan","Zhi","Gou","Jun","Ci","Yong","Ju","Chu","Hu","Za","Luo","Yu","Chou","Diao","Sui","Han","Huo","Shuang","Guan","Chu","Za","Yong","Ji","Xi","Chou","Liu","Li","Nan","Xue","Za","Ji","Ji","Yu","Yu","Xue","Na","Fou","Se","Mu","Wen","Fen","Pang","Yun","Li","Li","Ang","Ling","Lei","An","Bao","Meng","Dian","Dang","Xing","Wu","Zhao"],mC[151]=["Xu","Ji","Mu","Chen","Xiao","Zha","Ting","Zhen","Pei","Mei","Ling","Qi","Chou","Huo","Sha","Fei","Weng","Zhan","Yin","Ni","Chou","Tun","Lin",null,"Dong","Ying","Wu","Ling","Shuang","Ling","Xia","Hong","Yin","Mo","Mai","Yun","Liu","Meng","Bin","Wu","Wei","Huo","Yin","Xi","Yi","Ai","Dan","Deng","Xian","Yu","Lu","Long","Dai","Ji","Pang","Yang","Ba","Pi","Wei",null,"Xi","Ji","Mai","Meng","Meng","Lei","Li","Huo","Ai","Fei","Dai","Long","Ling","Ai","Feng","Li","Bao",null,"He","He","Bing","Qing","Qing","Jing","Tian","Zhen","Jing","Cheng","Qing","Jing","Jing","Dian","Jing","Tian","Fei","Fei","Kao","Mi","Mian","Mian","Pao","Ye","Tian","Hui","Ye","Ge","Ding","Cha","Jian","Ren","Di","Du","Wu","Ren","Qin","Jin","Xue","Niu","Ba","Yin","Sa","Na","Mo","Zu","Da","Ban","Yi","Yao","Tao","Tuo","Jia","Hong","Pao","Yang","Tomo","Yin","Jia","Tao","Ji","Xie","An","An","Hen","Gong","Kohaze","Da","Qiao","Ting","Wan","Ying","Sui","Tiao","Qiao","Xuan","Kong","Beng","Ta","Zhang","Bing","Kuo","Ju","La","Xie","Rou","Bang","Yi","Qiu","Qiu","He","Xiao","Mu","Ju","Jian","Bian","Di","Jian","On","Tao","Gou","Ta","Bei","Xie","Pan","Ge","Bi","Kuo","Tang","Lou","Gui","Qiao","Xue","Ji","Jian","Jiang","Chan","Da","Huo","Xian","Qian","Du","Wa","Jian","Lan","Wei","Ren","Fu","Mei","Juan","Ge","Wei","Qiao","Han","Chang",null,"Rou","Xun","She","Wei","Ge","Bei","Tao","Gou","Yun",null,"Bi","Wei","Hui","Du","Wa","Du","Wei","Ren","Fu","Han","Wei","Yun","Tao","Jiu","Jiu","Xian","Xie","Xian","Ji","Yin","Za","Yun","Shao","Le","Peng","Heng","Ying","Yun","Peng","Yin","Yin","Xiang"],mC[152]=["Hu","Ye","Ding","Qing","Pan","Xiang","Shun","Han","Xu","Yi","Xu","Gu","Song","Kui","Qi","Hang","Yu","Wan","Ban","Dun","Di","Dan","Pan","Po","Ling","Ce","Jing","Lei","He","Qiao","E","E","Wei","Jie","Gua","Shen","Yi","Shen","Hai","Dui","Pian","Ping","Lei","Fu","Jia","Tou","Hui","Kui","Jia","Le","Tian","Cheng","Ying","Jun","Hu","Han","Jing","Tui","Tui","Pin","Lai","Tui","Zi","Zi","Chui","Ding","Lai","Yan","Han","Jian","Ke","Cui","Jiong","Qin","Yi","Sai","Ti","E","E","Yan","Hun","Kan","Yong","Zhuan","Yan","Xian","Xin","Yi","Yuan","Sang","Dian","Dian","Jiang","Ku","Lei","Liao","Piao","Yi","Man","Qi","Rao","Hao","Qiao","Gu","Xun","Qian","Hui","Zhan","Ru","Hong","Bin","Xian","Pin","Lu","Lan","Nie","Quan","Ye","Ding","Qing","Han","Xiang","Shun","Xu","Xu","Wan","Gu","Dun","Qi","Ban","Song","Hang","Yu","Lu","Ling","Po","Jing","Jie","Jia","Tian","Han","Ying","Jiong","Hai","Yi","Pin","Hui","Tui","Han","Ying","Ying","Ke","Ti","Yong","E","Zhuan","Yan","E","Nie","Man","Dian","Sang","Hao","Lei","Zhan","Ru","Pin","Quan","Feng","Biao","Oroshi","Fu","Xia","Zhan","Biao","Sa","Ba","Tai","Lie","Gua","Xuan","Shao","Ju","Bi","Si","Wei","Yang","Yao","Sou","Kai","Sao","Fan","Liu","Xi","Liao","Piao","Piao","Liu","Biao","Biao","Biao","Liao",null,"Se","Feng","Biao","Feng","Yang","Zhan","Biao","Sa","Ju","Si","Sou","Yao","Liu","Piao","Biao","Biao","Fei","Fan","Fei","Fei","Shi","Shi","Can","Ji","Ding","Si","Tuo","Zhan","Sun","Xiang","Tun","Ren","Yu","Juan","Chi","Yin","Fan","Fan","Sun","Yin","Zhu","Yi","Zhai","Bi","Jie","Tao","Liu","Ci","Tie","Si","Bao","Shi","Duo"],mC[153]=["Hai","Ren","Tian","Jiao","Jia","Bing","Yao","Tong","Ci","Xiang","Yang","Yang","Er","Yan","Le","Yi","Can","Bo","Nei","E","Bu","Jun","Dou","Su","Yu","Shi","Yao","Hun","Guo","Shi","Jian","Zhui","Bing","Xian","Bu","Ye","Tan","Fei","Zhang","Wei","Guan","E","Nuan","Hun","Hu","Huang","Tie","Hui","Jian","Hou","He","Xing","Fen","Wei","Gu","Cha","Song","Tang","Bo","Gao","Xi","Kui","Liu","Sou","Tao","Ye","Yun","Mo","Tang","Man","Bi","Yu","Xiu","Jin","San","Kui","Zhuan","Shan","Chi","Dan","Yi","Ji","Rao","Cheng","Yong","Tao","Hui","Xiang","Zhan","Fen","Hai","Meng","Yan","Mo","Chan","Xiang","Luo","Zuan","Nang","Shi","Ding","Ji","Tuo","Xing","Tun","Xi","Ren","Yu","Chi","Fan","Yin","Jian","Shi","Bao","Si","Duo","Yi","Er","Rao","Xiang","Jia","Le","Jiao","Yi","Bing","Bo","Dou","E","Yu","Nei","Jun","Guo","Hun","Xian","Guan","Cha","Kui","Gu","Sou","Chan","Ye","Mo","Bo","Liu","Xiu","Jin","Man","San","Zhuan","Nang","Shou","Kui","Guo","Xiang","Fen","Ba","Ni","Bi","Bo","Tu","Han","Fei","Jian","An","Ai","Fu","Xian","Wen","Xin","Fen","Bin","Xing","Ma","Yu","Feng","Han","Di","Tuo","Tuo","Chi","Xun","Zhu","Zhi","Pei","Xin","Ri","Sa","Yin","Wen","Zhi","Dan","Lu","You","Bo","Bao","Kuai","Tuo","Yi","Qu",null,"Qu","Jiong","Bo","Zhao","Yuan","Peng","Zhou","Ju","Zhu","Nu","Ju","Pi","Zang","Jia","Ling","Zhen","Tai","Fu","Yang","Shi","Bi","Tuo","Tuo","Si","Liu","Ma","Pian","Tao","Zhi","Rong","Teng","Dong","Xun","Quan","Shen","Jiong","Er","Hai","Bo","Zhu","Yin","Luo","Shuu","Dan","Xie","Liu","Ju","Song","Qin","Mang","Liang","Han","Tu","Xuan","Tui","Jun"],mC[154]=["E","Cheng","Xin","Ai","Lu","Zhui","Zhou","She","Pian","Kun","Tao","Lai","Zong","Ke","Qi","Qi","Yan","Fei","Sao","Yan","Jie","Yao","Wu","Pian","Cong","Pian","Qian","Fei","Huang","Jian","Huo","Yu","Ti","Quan","Xia","Zong","Kui","Rou","Si","Gua","Tuo","Kui","Sou","Qian","Cheng","Zhi","Liu","Pang","Teng","Xi","Cao","Du","Yan","Yuan","Zou","Sao","Shan","Li","Zhi","Shuang","Lu","Xi","Luo","Zhang","Mo","Ao","Can","Piao","Cong","Qu","Bi","Zhi","Yu","Xu","Hua","Bo","Su","Xiao","Lin","Chan","Dun","Liu","Tuo","Zeng","Tan","Jiao","Tie","Yan","Luo","Zhan","Jing","Yi","Ye","Tuo","Bin","Zou","Yan","Peng","Lu","Teng","Xiang","Ji","Shuang","Ju","Xi","Huan","Li","Biao","Ma","Yu","Tuo","Xun","Chi","Qu","Ri","Bo","Lu","Zang","Shi","Si","Fu","Ju","Zou","Zhu","Tuo","Nu","Jia","Yi","Tai","Xiao","Ma","Yin","Jiao","Hua","Luo","Hai","Pian","Biao","Li","Cheng","Yan","Xin","Qin","Jun","Qi","Qi","Ke","Zhui","Zong","Su","Can","Pian","Zhi","Kui","Sao","Wu","Ao","Liu","Qian","Shan","Piao","Luo","Cong","Chan","Zou","Ji","Shuang","Xiang","Gu","Wei","Wei","Wei","Yu","Gan","Yi","Ang","Tou","Xie","Bao","Bi","Chi","Ti","Di","Ku","Hai","Qiao","Gou","Kua","Ge","Tui","Geng","Pian","Bi","Ke","Ka","Yu","Sui","Lou","Bo","Xiao","Pang","Bo","Ci","Kuan","Bin","Mo","Liao","Lou","Nao","Du","Zang","Sui","Ti","Bin","Kuan","Lu","Gao","Gao","Qiao","Kao","Qiao","Lao","Zao","Biao","Kun","Kun","Ti","Fang","Xiu","Ran","Mao","Dan","Kun","Bin","Fa","Tiao","Peng","Zi","Fa","Ran","Ti","Pao","Pi","Mao","Fu","Er","Rong","Qu","Gong","Xiu","Gua","Ji","Peng","Zhua","Shao","Sha"],mC[155]=["Ti","Li","Bin","Zong","Ti","Peng","Song","Zheng","Quan","Zong","Shun","Jian","Duo","Hu","La","Jiu","Qi","Lian","Zhen","Bin","Peng","Mo","San","Man","Man","Seng","Xu","Lie","Qian","Qian","Nong","Huan","Kuai","Ning","Bin","Lie","Rang","Dou","Dou","Nao","Hong","Xi","Dou","Han","Dou","Dou","Jiu","Chang","Yu","Yu","Li","Juan","Fu","Qian","Gui","Zong","Liu","Gui","Shang","Yu","Gui","Mei","Ji","Qi","Jie","Kui","Hun","Ba","Po","Mei","Xu","Yan","Xiao","Liang","Yu","Tui","Qi","Wang","Liang","Wei","Jian","Chi","Piao","Bi","Mo","Ji","Xu","Chou","Yan","Zhan","Yu","Dao","Ren","Ji","Eri","Gong","Tuo","Diao","Ji","Xu","E","E","Sha","Hang","Tun","Mo","Jie","Shen","Fan","Yuan","Bi","Lu","Wen","Hu","Lu","Za","Fang","Fen","Na","You","Namazu","Todo","He","Xia","Qu","Han","Pi","Ling","Tuo","Bo","Qiu","Ping","Fu","Bi","Ji","Wei","Ju","Diao","Bo","You","Gun","Pi","Nian","Xing","Tai","Bao","Fu","Zha","Ju","Gu","Kajika","Tong",null,"Ta","Jie","Shu","Hou","Xiang","Er","An","Wei","Tiao","Zhu","Yin","Lie","Luo","Tong","Yi","Qi","Bing","Wei","Jiao","Bu","Gui","Xian","Ge","Hui","Bora","Mate","Kao","Gori","Duo","Jun","Ti","Man","Xiao","Za","Sha","Qin","Yu","Nei","Zhe","Gun","Geng","Su","Wu","Qiu","Ting","Fu","Wan","You","Li","Sha","Sha","Gao","Meng","Ugui","Asari","Subashiri","Kazunoko","Yong","Ni","Zi","Qi","Qing","Xiang","Nei","Chun","Ji","Diao","Qie","Gu","Zhou","Dong","Lai","Fei","Ni","Yi","Kun","Lu","Jiu","Chang","Jing","Lun","Ling","Zou","Li","Meng","Zong","Zhi","Nian","Shachi","Dojou","Sukesou","Shi","Shen","Hun","Shi","Hou","Xing","Zhu","La","Zong","Ji","Bian","Bian"],mC[156]=["Huan","Quan","Ze","Wei","Wei","Yu","Qun","Rou","Die","Huang","Lian","Yan","Qiu","Qiu","Jian","Bi","E","Yang","Fu","Sai","Jian","Xia","Tuo","Hu","Muroaji","Ruo","Haraka","Wen","Jian","Hao","Wu","Fang","Sao","Liu","Ma","Shi","Shi","Yin","Z","Teng","Ta","Yao","Ge","Rong","Qian","Qi","Wen","Ruo","Hatahata","Lian","Ao","Le","Hui","Min","Ji","Tiao","Qu","Jian","Sao","Man","Xi","Qiu","Biao","Ji","Ji","Zhu","Jiang","Qiu","Zhuan","Yong","Zhang","Kang","Xue","Bie","Jue","Qu","Xiang","Bo","Jiao","Xun","Su","Huang","Zun","Shan","Shan","Fan","Jue","Lin","Xun","Miao","Xi","Eso","Kyou","Fen","Guan","Hou","Kuai","Zei","Sao","Zhan","Gan","Gui","Sheng","Li","Chang","Hatahata","Shiira","Mutsu","Ru","Ji","Xu","Huo","Shiira","Li","Lie","Li","Mie","Zhen","Xiang","E","Lu","Guan","Li","Xian","Yu","Dao","Ji","You","Tun","Lu","Fang","Ba","He","Bo","Ping","Nian","Lu","You","Zha","Fu","Bo","Bao","Hou","Pi","Tai","Gui","Jie","Kao","Wei","Er","Tong","Ze","Hou","Kuai","Ji","Jiao","Xian","Za","Xiang","Xun","Geng","Li","Lian","Jian","Li","Shi","Tiao","Gun","Sha","Wan","Jun","Ji","Yong","Qing","Ling","Qi","Zou","Fei","Kun","Chang","Gu","Ni","Nian","Diao","Jing","Shen","Shi","Zi","Fen","Die","Bi","Chang","Shi","Wen","Wei","Sai","E","Qiu","Fu","Huang","Quan","Jiang","Bian","Sao","Ao","Qi","Ta","Yin","Yao","Fang","Jian","Le","Biao","Xue","Bie","Man","Min","Yong","Wei","Xi","Jue","Shan","Lin","Zun","Huo","Gan","Li","Zhan","Guan","Niao","Yi","Fu","Li","Jiu","Bu","Yan","Fu","Diao","Ji","Feng","Nio","Gan","Shi","Feng","Ming","Bao","Yuan","Zhi","Hu","Qin","Fu","Fen","Wen","Jian","Shi","Yu"],mC[157]=["Fou","Yiao","Jue","Jue","Pi","Huan","Zhen","Bao","Yan","Ya","Zheng","Fang","Feng","Wen","Ou","Te","Jia","Nu","Ling","Mie","Fu","Tuo","Wen","Li","Bian","Zhi","Ge","Yuan","Zi","Qu","Xiao","Zhi","Dan","Ju","You","Gu","Zhong","Yu","Yang","Rong","Ya","Tie","Yu","Shigi","Ying","Zhui","Wu","Er","Gua","Ai","Zhi","Yan","Heng","Jiao","Ji","Lie","Zhu","Ren","Yi","Hong","Luo","Ru","Mou","Ge","Ren","Jiao","Xiu","Zhou","Zhi","Luo","Chidori","Toki","Ten","Luan","Jia","Ji","Yu","Huan","Tuo","Bu","Wu","Juan","Yu","Bo","Xun","Xun","Bi","Xi","Jun","Ju","Tu","Jing","Ti","E","E","Kuang","Hu","Wu","Shen","Lai","Ikaruga","Kakesu","Lu","Ping","Shu","Fu","An","Zhao","Peng","Qin","Qian","Bei","Diao","Lu","Que","Jian","Ju","Tu","Ya","Yuan","Qi","Li","Ye","Zhui","Kong","Zhui","Kun","Sheng","Qi","Jing","Yi","Yi","Jing","Zi","Lai","Dong","Qi","Chun","Geng","Ju","Qu","Isuka","Kikuitadaki","Ji","Shu",null,"Chi","Miao","Rou","An","Qiu","Ti","Hu","Ti","E","Jie","Mao","Fu","Chun","Tu","Yan","He","Yuan","Pian","Yun","Mei","Hu","Ying","Dun","Mu","Ju","Tsugumi","Cang","Fang","Gu","Ying","Yuan","Xuan","Weng","Shi","He","Chu","Tang","Xia","Ruo","Liu","Ji","Gu","Jian","Zhun","Han","Zi","Zi","Ni","Yao","Yan","Ji","Li","Tian","Kou","Ti","Ti","Ni","Tu","Ma","Jiao","Gao","Tian","Chen","Li","Zhuan","Zhe","Ao","Yao","Yi","Ou","Chi","Zhi","Liao","Rong","Lou","Bi","Shuang","Zhuo","Yu","Wu","Jue","Yin","Quan","Si","Jiao","Yi","Hua","Bi","Ying","Su","Huang","Fan","Jiao","Liao","Yan","Kao","Jiu","Xian","Xian","Tu","Mai","Zun","Yu","Ying","Lu","Tuan","Xian","Xue","Yi","Pi"],mC[158]=["Shu","Luo","Qi","Yi","Ji","Zhe","Yu","Zhan","Ye","Yang","Pi","Ning","Huo","Mi","Ying","Meng","Di","Yue","Yu","Lei","Bao","Lu","He","Long","Shuang","Yue","Ying","Guan","Qu","Li","Luan","Niao","Jiu","Ji","Yuan","Ming","Shi","Ou","Ya","Cang","Bao","Zhen","Gu","Dong","Lu","Ya","Xiao","Yang","Ling","Zhi","Qu","Yuan","Xue","Tuo","Si","Zhi","Er","Gua","Xiu","Heng","Zhou","Ge","Luan","Hong","Wu","Bo","Li","Juan","Hu","E","Yu","Xian","Ti","Wu","Que","Miao","An","Kun","Bei","Peng","Qian","Chun","Geng","Yuan","Su","Hu","He","E","Gu","Qiu","Zi","Mei","Mu","Ni","Yao","Weng","Liu","Ji","Ni","Jian","He","Yi","Ying","Zhe","Liao","Liao","Jiao","Jiu","Yu","Lu","Xuan","Zhan","Ying","Huo","Meng","Guan","Shuang","Lu","Jin","Ling","Jian","Xian","Cuo","Jian","Jian","Yan","Cuo","Lu","You","Cu","Ji","Biao","Cu","Biao","Zhu","Jun","Zhu","Jian","Mi","Mi","Wu","Liu","Chen","Jun","Lin","Ni","Qi","Lu","Jiu","Jun","Jing","Li","Xiang","Yan","Jia","Mi","Li","She","Zhang","Lin","Jing","Ji","Ling","Yan","Cu","Mai","Mai","Ge","Chao","Fu","Mian","Mian","Fu","Pao","Qu","Qu","Mou","Fu","Xian","Lai","Qu","Mian",null,"Feng","Fu","Qu","Mian","Ma","Mo","Mo","Hui","Ma","Zou","Nen","Fen","Huang","Huang","Jin","Guang","Tian","Tou","Heng","Xi","Kuang","Heng","Shu","Li","Nian","Chi","Hei","Hei","Yi","Qian","Dan","Xi","Tuan","Mo","Mo","Qian","Dai","Chu","You","Dian","Yi","Xia","Yan","Qu","Mei","Yan","Jing","Yu","Li","Dang","Du","Can","Yin","An","Yan","Tan","An","Zhen","Dai","Can","Yi","Mei","Dan","Yan","Du","Lu","Zhi","Fen","Fu","Fu","Min","Min","Yuan"],mC[159]=["Cu","Qu","Chao","Wa","Zhu","Zhi","Mang","Ao","Bie","Tuo","Bi","Yuan","Chao","Tuo","Ding","Mi","Nai","Ding","Zi","Gu","Gu","Dong","Fen","Tao","Yuan","Pi","Chang","Gao","Qi","Yuan","Tang","Teng","Shu","Shu","Fen","Fei","Wen","Ba","Diao","Tuo","Tong","Qu","Sheng","Shi","You","Shi","Ting","Wu","Nian","Jing","Hun","Ju","Yan","Tu","Ti","Xi","Xian","Yan","Lei","Bi","Yao","Qiu","Han","Wu","Wu","Hou","Xi","Ge","Zha","Xiu","Weng","Zha","Nong","Nang","Qi","Zhai","Ji","Zi","Ji","Ji","Qi","Ji","Chi","Chen","Chen","He","Ya","Ken","Xie","Pao","Cuo","Shi","Zi","Chi","Nian","Ju","Tiao","Ling","Ling","Chu","Quan","Xie","Ken","Nie","Jiu","Yao","Chuo","Kun","Yu","Chu","Yi","Ni","Cuo","Zou","Qu","Nen","Xian","Ou","E","Wo","Yi","Chuo","Zou","Dian","Chu","Jin","Ya","Chi","Chen","He","Ken","Ju","Ling","Pao","Tiao","Zi","Ken","Yu","Chuo","Qu","Wo","Long","Pang","Gong","Pang","Yan","Long","Long","Gong","Kan","Ta","Ling","Ta","Long","Gong","Kan","Gui","Qiu","Bie","Gui","Yue","Chui","He","Jue","Xie","Yu"],mC[160]=["it","ix","i","ip","iet","iex","ie","iep","at","ax","a","ap","uox","uo","uop","ot","ox","o","op","ex","e","wu","bit","bix","bi","bip","biet","biex","bie","biep","bat","bax","ba","bap","buox","buo","buop","bot","box","bo","bop","bex","be","bep","but","bux","bu","bup","burx","bur","byt","byx","by","byp","byrx","byr","pit","pix","pi","pip","piex","pie","piep","pat","pax","pa","pap","puox","puo","puop","pot","pox","po","pop","put","pux","pu","pup","purx","pur","pyt","pyx","py","pyp","pyrx","pyr","bbit","bbix","bbi","bbip","bbiet","bbiex","bbie","bbiep","bbat","bbax","bba","bbap","bbuox","bbuo","bbuop","bbot","bbox","bbo","bbop","bbex","bbe","bbep","bbut","bbux","bbu","bbup","bburx","bbur","bbyt","bbyx","bby","bbyp","nbit","nbix","nbi","nbip","nbiex","nbie","nbiep","nbat","nbax","nba","nbap","nbot","nbox","nbo","nbop","nbut","nbux","nbu","nbup","nburx","nbur","nbyt","nbyx","nby","nbyp","nbyrx","nbyr","hmit","hmix","hmi","hmip","hmiex","hmie","hmiep","hmat","hmax","hma","hmap","hmuox","hmuo","hmuop","hmot","hmox","hmo","hmop","hmut","hmux","hmu","hmup","hmurx","hmur","hmyx","hmy","hmyp","hmyrx","hmyr","mit","mix","mi","mip","miex","mie","miep","mat","max","ma","map","muot","muox","muo","muop","mot","mox","mo","mop","mex","me","mut","mux","mu","mup","murx","mur","myt","myx","my","myp","fit","fix","fi","fip","fat","fax","fa","fap","fox","fo","fop","fut","fux","fu","fup","furx","fur","fyt","fyx","fy","fyp","vit","vix","vi","vip","viet","viex","vie","viep","vat","vax","va","vap","vot","vox","vo","vop","vex","vep","vut","vux","vu","vup","vurx","vur","vyt","vyx","vy","vyp","vyrx","vyr"],mC[161]=["dit","dix","di","dip","diex","die","diep","dat","dax","da","dap","duox","duo","dot","dox","do","dop","dex","de","dep","dut","dux","du","dup","durx","dur","tit","tix","ti","tip","tiex","tie","tiep","tat","tax","ta","tap","tuot","tuox","tuo","tuop","tot","tox","to","top","tex","te","tep","tut","tux","tu","tup","turx","tur","ddit","ddix","ddi","ddip","ddiex","ddie","ddiep","ddat","ddax","dda","ddap","dduox","dduo","dduop","ddot","ddox","ddo","ddop","ddex","dde","ddep","ddut","ddux","ddu","ddup","ddurx","ddur","ndit","ndix","ndi","ndip","ndiex","ndie","ndat","ndax","nda","ndap","ndot","ndox","ndo","ndop","ndex","nde","ndep","ndut","ndux","ndu","ndup","ndurx","ndur","hnit","hnix","hni","hnip","hniet","hniex","hnie","hniep","hnat","hnax","hna","hnap","hnuox","hnuo","hnot","hnox","hnop","hnex","hne","hnep","hnut","nit","nix","ni","nip","niex","nie","niep","nax","na","nap","nuox","nuo","nuop","not","nox","no","nop","nex","ne","nep","nut","nux","nu","nup","nurx","nur","hlit","hlix","hli","hlip","hliex","hlie","hliep","hlat","hlax","hla","hlap","hluox","hluo","hluop","hlox","hlo","hlop","hlex","hle","hlep","hlut","hlux","hlu","hlup","hlurx","hlur","hlyt","hlyx","hly","hlyp","hlyrx","hlyr","lit","lix","li","lip","liet","liex","lie","liep","lat","lax","la","lap","luot","luox","luo","luop","lot","lox","lo","lop","lex","le","lep","lut","lux","lu","lup","lurx","lur","lyt","lyx","ly","lyp","lyrx","lyr","git","gix","gi","gip","giet","giex","gie","giep","gat","gax","ga","gap","guot","guox","guo","guop","got","gox","go","gop","get","gex","ge","gep","gut","gux","gu","gup","gurx","gur","kit","kix","ki","kip","kiex","kie","kiep","kat"],mC[162]=["kax","ka","kap","kuox","kuo","kuop","kot","kox","ko","kop","ket","kex","ke","kep","kut","kux","ku","kup","kurx","kur","ggit","ggix","ggi","ggiex","ggie","ggiep","ggat","ggax","gga","ggap","gguot","gguox","gguo","gguop","ggot","ggox","ggo","ggop","gget","ggex","gge","ggep","ggut","ggux","ggu","ggup","ggurx","ggur","mgiex","mgie","mgat","mgax","mga","mgap","mguox","mguo","mguop","mgot","mgox","mgo","mgop","mgex","mge","mgep","mgut","mgux","mgu","mgup","mgurx","mgur","hxit","hxix","hxi","hxip","hxiet","hxiex","hxie","hxiep","hxat","hxax","hxa","hxap","hxuot","hxuox","hxuo","hxuop","hxot","hxox","hxo","hxop","hxex","hxe","hxep","ngiex","ngie","ngiep","ngat","ngax","nga","ngap","nguot","nguox","nguo","ngot","ngox","ngo","ngop","ngex","nge","ngep","hit","hiex","hie","hat","hax","ha","hap","huot","huox","huo","huop","hot","hox","ho","hop","hex","he","hep","wat","wax","wa","wap","wuox","wuo","wuop","wox","wo","wop","wex","we","wep","zit","zix","zi","zip","ziex","zie","ziep","zat","zax","za","zap","zuox","zuo","zuop","zot","zox","zo","zop","zex","ze","zep","zut","zux","zu","zup","zurx","zur","zyt","zyx","zy","zyp","zyrx","zyr","cit","cix","ci","cip","ciet","ciex","cie","ciep","cat","cax","ca","cap","cuox","cuo","cuop","cot","cox","co","cop","cex","ce","cep","cut","cux","cu","cup","curx","cur","cyt","cyx","cy","cyp","cyrx","cyr","zzit","zzix","zzi","zzip","zziet","zziex","zzie","zziep","zzat","zzax","zza","zzap","zzox","zzo","zzop","zzex","zze","zzep","zzux","zzu","zzup","zzurx","zzur","zzyt","zzyx","zzy","zzyp","zzyrx","zzyr","nzit","nzix","nzi","nzip","nziex","nzie","nziep","nzat","nzax","nza","nzap","nzuox","nzuo","nzox","nzop","nzex","nze","nzux","nzu"],mC[163]=["nzup","nzurx","nzur","nzyt","nzyx","nzy","nzyp","nzyrx","nzyr","sit","six","si","sip","siex","sie","siep","sat","sax","sa","sap","suox","suo","suop","sot","sox","so","sop","sex","se","sep","sut","sux","su","sup","surx","sur","syt","syx","sy","syp","syrx","syr","ssit","ssix","ssi","ssip","ssiex","ssie","ssiep","ssat","ssax","ssa","ssap","ssot","ssox","sso","ssop","ssex","sse","ssep","ssut","ssux","ssu","ssup","ssyt","ssyx","ssy","ssyp","ssyrx","ssyr","zhat","zhax","zha","zhap","zhuox","zhuo","zhuop","zhot","zhox","zho","zhop","zhet","zhex","zhe","zhep","zhut","zhux","zhu","zhup","zhurx","zhur","zhyt","zhyx","zhy","zhyp","zhyrx","zhyr","chat","chax","cha","chap","chuot","chuox","chuo","chuop","chot","chox","cho","chop","chet","chex","che","chep","chux","chu","chup","churx","chur","chyt","chyx","chy","chyp","chyrx","chyr","rrax","rra","rruox","rruo","rrot","rrox","rro","rrop","rret","rrex","rre","rrep","rrut","rrux","rru","rrup","rrurx","rrur","rryt","rryx","rry","rryp","rryrx","rryr","nrat","nrax","nra","nrap","nrox","nro","nrop","nret","nrex","nre","nrep","nrut","nrux","nru","nrup","nrurx","nrur","nryt","nryx","nry","nryp","nryrx","nryr","shat","shax","sha","shap","shuox","shuo","shuop","shot","shox","sho","shop","shet","shex","she","shep","shut","shux","shu","shup","shurx","shur","shyt","shyx","shy","shyp","shyrx","shyr","rat","rax","ra","rap","ruox","ruo","ruop","rot","rox","ro","rop","rex","re","rep","rut","rux","ru","rup","rurx","rur","ryt","ryx","ry","ryp","ryrx","ryr","jit","jix","ji","jip","jiet","jiex","jie","jiep","juot","juox","juo","juop","jot","jox","jo","jop","jut","jux","ju","jup","jurx","jur","jyt","jyx","jy","jyp","jyrx","jyr","qit","qix","qi","qip"],mC[164]=["qiet","qiex","qie","qiep","quot","quox","quo","quop","qot","qox","qo","qop","qut","qux","qu","qup","qurx","qur","qyt","qyx","qy","qyp","qyrx","qyr","jjit","jjix","jji","jjip","jjiet","jjiex","jjie","jjiep","jjuox","jjuo","jjuop","jjot","jjox","jjo","jjop","jjut","jjux","jju","jjup","jjurx","jjur","jjyt","jjyx","jjy","jjyp","njit","njix","nji","njip","njiet","njiex","njie","njiep","njuox","njuo","njot","njox","njo","njop","njux","nju","njup","njurx","njur","njyt","njyx","njy","njyp","njyrx","njyr","nyit","nyix","nyi","nyip","nyiet","nyiex","nyie","nyiep","nyuox","nyuo","nyuop","nyot","nyox","nyo","nyop","nyut","nyux","nyu","nyup","xit","xix","xi","xip","xiet","xiex","xie","xiep","xuox","xuo","xot","xox","xo","xop","xyt","xyx","xy","xyp","xyrx","xyr","yit","yix","yi","yip","yiet","yiex","yie","yiep","yuot","yuox","yuo","yuop","yot","yox","yo","yop","yut","yux","yu","yup","yurx","yur","yyt","yyx","yy","yyp","yyrx","yyr",null,null,null,"Qot","Li","Kit","Nyip","Cyp","Ssi","Ggop","Gep","Mi","Hxit","Lyr","Bbut","Mop","Yo","Put","Hxuo","Tat","Ga",null,null,"Ddur","Bur","Gguo","Nyop","Tu","Op","Jjut","Zot","Pyt","Hmo","Yit","Vur","Shy","Vep","Za","Jo",null,"Jjy","Got","Jjie","Wo","Du","Shur","Lie","Cy","Cuop","Cip","Hxop","Shat",null,"Shop","Che","Zziet",null,"Ke"],mC[167]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","a","A","a","HENG","heng","TZ","tz","3","3","4","4","4","4","F","S","AA","aa","AO","ao","AU","au","AV","av","AV-","av-","AY","ay","C","c","K","k","K","k","K","k","L","l","L","l","O","o","O","o","OO","oo","P","p","P","p","P","p","Q","q","Q","q","R","r","R","r","V","v","VY","vy","Z","z","TH","th","TH","th","Y","y","ET","et","IS","is","CON","con","US","us","dum","lum","num","rum","RUM","tum","um","D","d","F","f","G","G","g","L","l","R","r","S","s","T","t","^",":","=","'","'","H","l",".","N","n","C","c","c","h","B","b","F","f","AE","ae","OE","oe","UE","ue","G","g","K","k","N","n","R","r","S","s","H","E","G","L","I","Q","K","T","J","CHI","B","b","O","o","U","u",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"I","H","oe","M","F","P","M","I","M1"],mC[249]=["Kay","Kayng","Ke","Ko","Kol","Koc","Kwi","Kwi","Kyun","Kul","Kum","Na","Na","Na","La","Na","Na","Na","Na","Na","Nak","Nak","Nak","Nak","Nak","Nak","Nak","Nan","Nan","Nan","Nan","Nan","Nan","Nam","Nam","Nam","Nam","Nap","Nap","Nap","Nang","Nang","Nang","Nang","Nang","Nay","Nayng","No","No","No","No","No","No","No","No","No","No","No","No","Nok","Nok","Nok","Nok","Nok","Nok","Non","Nong","Nong","Nong","Nong","Noy","Noy","Noy","Noy","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nuk","Nuk","Num","Nung","Nung","Nung","Nung","Nung","Twu","La","Lak","Lak","Lan","Lyeng","Lo","Lyul","Li","Pey","Pen","Pyen","Pwu","Pwul","Pi","Sak","Sak","Sam","Sayk","Sayng","Sep","Sey","Sway","Sin","Sim","Sip","Ya","Yak","Yak","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Yek","Yek","Yek","Yek","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yel","Yel","Yel","Yel","Yel","Yel","Yem","Yem","Yem","Yem","Yem","Yep","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yey","Yey","Yey","Yey","O","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yong","Wun","Wen","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yuk","Yuk","Yuk","Yun","Yun","Yun","Yun","Yul","Yul","Yul","Yul","Yung","I","I","I","I","I","I","I","I","I","I","I","I","I","I","Ik","Ik","In","In","In","In","In","In","In","Im","Im","Im","Ip","Ip","Ip","Cang","Cek","Ci","Cip","Cha","Chek"],mC[250]=["Chey","Thak","Thak","Thang","Thayk","Thong","Pho","Phok","Hang","Hang","Hyen","Hwak","Wu","Huo",null,null,"Zhong",null,"Qing",null,null,"Xi","Zhu","Yi","Li","Shen","Xiang","Fu","Jing","Jing","Yu",null,"Hagi",null,"Zhu",null,null,"Yi","Du",null,null,null,"Fan","Si","Guan"],mC[251]=["ff","fi","fl","ffi","ffl","st","st",null,null,null,null,null,null,null,null,null,null,null,null,"mn","me","mi","vn","mkh",null,null,null,null,null,"yi",null,"ay","`",null,"d","h","k","l","m","m","t","+","sh","s","sh","s","a","a",null,"b","g","d","h","v","z",null,"t","y","k","k","l",null,"l",null,"n","n",null,"p","p",null,"ts","ts","r","sh","t","vo","b","k","p","l"],mC[254]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"~",null,null,null,null,null,null,null,null,null,null,null,null,"..","--","-","_","_","(",") ","{","} ","[","] ","[(",")] ","<<",">> ","<","> ","[","] ","{","}",null,null,null,null,null,null,null,null,null,null,null,",",",",".",null,";",":","?","!","-","(",")","{","}","{","}","#","&","*","+","-","<",">","=",null,"\\","$","%","@"],mC[255]=[null,"!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",null,null,".","[","]",",","*","wo","a","i","u","e","o","ya","yu","yo","tu","+","a","i","u","e","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","n",":",";",null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h",null,null,null,"a","ae","ya","yae","eo","e",null,null,"yeo","ye","o","wa","wae","oe",null,null,"yo","u","weo","we","wi","yu",null,null,"eu","yi","i",null,null,null,"/C","PS","!","-","|","Y=","W=",null,"|","-","|","-","|","#","O",null,null,null,null,null,null,null,null,null,null,"{","|","}"];var mw={};for(let e=0;e<mC.length;e++){let i=mC[e];if(i)for(let n=0;n<i.length;n++){let t=i[n];t&&(mw[String.fromCharCode((e<<8)+n)]=t)}}for(let e=44032;e<=55203;e++){let i=e-44032;mw[String.fromCharCode(e)]=my[i/588|0]+mS[i%588/28|0]+mb[i%28]}var mT=/[-[\]/{}()*+?.\\^$|]/g,mx=/[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DBF\u4E00-\u9FFC\uF900-\uFA6D\uFA70-\uFAD9]|\uD81B[\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]/,mL=/[\s!-#%-*,-/:;?@[-\]_{}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;function bundle_esm_min_H(e){return(e||"").replace(mT,"\\$&")}function Iu(e){return mL.test(e)}function bundle_esm_min_Y(e){if(Array.isArray(e))return e.map(e=>bundle_esm_min_Y(e));if(e instanceof Date)return new Date(e.valueOf());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(null!==e&&"object"==typeof e){let i={};for(let n in e)Object.hasOwn(e,n)&&(i[n]=bundle_esm_min_Y(e[n]));return i}return e}function vu(e,i){let n,t=[];for(let n of i){let i=e.indexOf(n);for(;i>-1;)t.push([i,i+n.length-1]),i=e.indexOf(n,i+1)}let a=t.sort((e,i)=>e[0]-i[0]||e[1]-i[1]);for(let e of(t=[],a))!n||e[0]>n[1]+1?(n=e,t.push(n)):e[1]>n[1]&&(n[1]=e[1]);return t}function ii(e,i){return e<i[0]?-1:1*!!(e>i[1])}function bundle_esm_min_s(e,i){if(0===i.length)return!1;let n=0,t=i.length-1;for(;n<=t;){let a=n+t>>>1,r=ii(e,i[a]);if(0===r)return!0;-1===r?t=a-1:n=a+1}return!1}function bundle_esm_min_Q(e,i,n,t=[]){let a=t.length?RegExp(t.map(bundle_esm_min_H).join("|"),"g"):null,r=RegExp(i.source,`${i.flags.replace("g","")}g`),o="",u=0;for(;;){let i=r.exec(e),t="",s=0;if(i){for(;;){let e=a?.exec(i[0]);if(e&&a)t+=e.index>s?n:"",t+=e[0],s=a.lastIndex;else{t+=i[0].length>s?n:"";break}}o+=e.substring(u,i.index)+t,u=r.lastIndex}else{o+=e.substring(u,e.length);break}}return o}var mE=/[\uD800-\uDBFF]/,m_=/[\uDC00-\uDFFF]/,mY=/[^\s\S]/,mD={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},mv=class{get options(){return bundle_esm_min_Y({...mD,...this.confOptions})}constructor(e=bundle_esm_min_Y(mD),i=mw){this.confOptions=e,this.map=i}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}codeMapReplace(e,i,n=[]){let t=0,a="",r=i.fixChineseSpacing&&mx.test(e),o=!1;for(let u=0;u<e.length;u++){let s=mE.test(e[u])&&m_.test(e[u+1])?e[u]+e[u+1]:e[u],l,h=!1;bundle_esm_min_s(t,n)||2===s.length&&bundle_esm_min_s(t+1,n)?(l=s,n.find(e=>e[1]>=t&&e[0]===t)||(h=!0)):l=this.map[s]||i.unknown||"",r&&(!o||h||Iu(l)||(l=` ${l}`),o=!!l&&mx.test(s)),a+=l,t+=s.length,u+=s.length-1}return a}formatReplaceOption(e){if(Array.isArray(e))return bundle_esm_min_Y(e);let i=[];for(let n in e)Object.hasOwn(e,n)&&i.push([n,e[n]]);return i}replaceString(e,i,n=[]){let t=bundle_esm_min_Y(i),a=e;for(let e of t){switch(!0){case e[0]instanceof RegExp:e[0]=RegExp(e[0].source,`${e[0].flags.replace("g","")}g`);break;case"string"==typeof e[0]&&e[0].length>0:e[0]=RegExp(bundle_esm_min_H(e[0]),"g");break;default:e[0]=mY}a=bundle_esm_min_Q(a,e[0],e[1],n)}return a}setData(e,i=!1){if(i&&(this.map=bundle_esm_min_Y(mw)),e&&"object"==typeof e&&Object.keys(e).length)for(let i in this.map=bundle_esm_min_Y(this.map),e)Object.hasOwn(e,i)&&i.length<3&&i<="\uDBFF\uDFFF"&&(this.map[i]=e[i]);return this.map}transliterate(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t="string"==typeof e?e:String(e),a=this.formatReplaceOption(n.replace);a.length&&(t=this.replaceString(t,a,n.ignore));let r=n.ignore&&n.ignore.length>0?vu(t,n.ignore):[];t=this.codeMapReplace(t,n,r),n.trim&&(t=t.trim());let o=this.formatReplaceOption(n.replaceAfter);return o.length&&(t=this.replaceString(t,o)),t}},mA={...bundle_esm_min_Y(mD),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},mN=class extends mv{get options(){return bundle_esm_min_Y({...mA,...this.confOptions})}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}slugify(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t=n.separator?bundle_esm_min_H(n.separator):"",a=this.transliterate(e,n);return a=bundle_esm_min_Q(a,RegExp(`[^${n.allowedChars}]+`,"g"),n.separator??"-",n.ignore??[]),t&&(a=(a=a.replace(RegExp(`${t}+`,"g"),n.separator)).replace(RegExp(`^${t}+|${t}+$`,"g"),"")),n.lowercase&&(a=a.toLowerCase()),n.uppercase&&(a=a.toUpperCase()),a}},mP=new mv,mZ=mP.transliterate.bind(mP);mZ.config=mP.config.bind(mP),mZ.setData=mP.setData.bind(mP);var mR=new mN,mM=mR.slugify.bind(mR);mM.config=mR.config.bind(mR),mM.setData=mR.setData.bind(mR);class mJ{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let mk=/^[A-Za-z0-9._\-/]+$/,mB=!1,mH={baseUrl:"",apiKey:""};function loadReportEnv(){if(mB)return mH;let e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"";if(e&&i)return mB=!0,mH={baseUrl:e,apiKey:i};try{if(E("./node_modules/dotenv/lib/main.js").config(),e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",e&&i)return mB=!0,mH={baseUrl:e,apiKey:i}}catch{}try{let n=`
82
+ `,null,null,null,null,null," ","%0","%00","'","''","'''","`","``","```","^","<",">","*","!!","!?","-","_","-","^","***","--","/","-[","]-",null,"?!","!?","7","PP","(]","[)",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0",null,null,null,"4","5","6","7","8","9","+","-","=","(",")","n","0","1","2","3","4","5","6","7","8","9","+","-","=","(",")",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"ECU","CL","Cr","FF","L","mil","N","Pts","Rs","W","NS","D","EU","K","T","Dr"],mb=["g","gg","n","d","dd","r","m","b","bb","s","ss","","j","jj","c","k","t","p","h"],mC=["a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i"],mw=["","g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h"],mT=[];mT[0]=my,mT[1]=["A","a","A","a","A","a","C","c","C","c","C","c","C","c","D","d","D","d","E","e","E","e","E","e","E","e","E","e","G","g","G","g","G","g","G","g","H","h","H","h","I","i","I","i","I","i","I","i","I","i","IJ","ij","J","j","K","k","k","L","l","L","l","L","l","L","l","L","l","N","n","N","n","N","n","'n","NG","ng","O","o","O","o","O","o","OE","oe","R","r","R","r","R","r","S","s","S","s","S","s","S","s","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","U","u","W","w","Y","y","Y","Z","z","Z","z","Z","z","s","b","B","B","b","6","6","O","C","c","D","D","D","d","d","3","@","E","F","f","G","G","hv","I","I","K","k","l","l","W","N","n","O","O","o","OI","oi","P","p","YR","2","2","SH","sh","t","T","t","T","U","u","Y","V","Y","y","Z","z","ZH","ZH","zh","zh","2","5","5","ts","w","|","||","|=","!","DZ","Dz","dz","LJ","Lj","lj","NJ","Nj","nj","A","a","I","i","O","o","U","u","U","u","U","u","U","u","U","u","@","A","a","A","a","AE","ae","G","g","G","g","K","k","O","o","O","o","ZH","zh","j","DZ","D","dz","G","g","HV","W","N","n","A","a","AE","ae","O","o"],mT[2]=["A","a","A","a","E","e","E","e","I","i","I","i","O","o","O","o","R","r","R","r","U","u","U","u","S","s","T","t","Y","y","H","h","N","d","OU","ou","Z","z","A","a","E","e","O","o","O","o","O","o","O","o","Y","y","l","n","t","j","db","qp","A","C","c","L","T","s","z","?","?","B","U","V","E","e","J","j","Q","q","R","r","Y","y","a","a","a","b","o","c","d","d","e","@","@","e","e","e","e","j","g","g","g","g","u","Y","h","h","i","i","I","l","l","l","lZ","W","W","m","n","n","n","o","OE","O","F","R","R","R","R","r","r","R","R","R","s","S","j","S","S","t","t","U","U","v","^","W","Y","Y","z","z","Z","Z","?","?","?","C","@","B","E","G","H","j","k","L","q","?","?","dz","dZ","dz","ts","tS","tC","fN","ls","lz","WW","]]","h","h","k","h","j","r","r","r","r","w","y","'",'"',"`","'","`","`","'","?","?","<",">","^","V","^","V","'","-","/","\\",",","_","\\","/",":",".","`","'","^","V","+","-","V",".","@",",","~",'"',"R","X","G","l","s","x","?",null,null,null,null,null,null,null,"V","=",'"'],mT[3]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'",",",null,null,null,null,null,null,null,null,"?",null,null,null,null,null,null,null,"A",";","E","I","I",null,"O",null,"U","O","I","A","V","G","D","E","Z","I","Th","I","K","L","M","N","X","O","P","R",null,"S","T","Y","F","H","Ps","O","I","Y","a","e","i","i","y","a","v","g","d","e","z","i","th","i","k","l","m","n","x","o","p","r","s","s","t","y","f","h","ps","o","i","y","o","y","o",null,"b","th","U","U","U","ph","p","&",null,null,"St","st","W","w","Q","q","Sp","sp","Sh","sh","F","f","Kh","kh","H","h","G","g","CH","ch","Ti","ti","k","r","c","j"],mT[4]=["Jo","Yo","Dj","Gj","Ie","Dz","I","Yi","J","Lj","Nj","Tsh","Kj","I","U","Dzh","A","B","V","G","D","E","Zh","Z","I","Y","K","L","M","N","O","P","R","S","T","U","F","H","C","Ch","Sh","Shch",null,"Y",null,"E","Yu","Ya","a","b","v","g","d","e","zh","z","i","y","k","l","m","n","o","p","r","s","t","u","f","h","c","ch","sh","shch",null,"y",null,"e","yu","ya","je","yo","dj","gj","ie","dz","i","yi","j","lj","nj","tsh","kj","i","u","dzh","O","o","E","e","Ie","ie","E","e","Ie","ie","O","o","Io","io","Ks","ks","Ps","ps","F","f","Y","y","Y","y","u","u","O","o","O","o","Ot","ot","Q","q","*1000*",null,null,null,null,null,"*100.000*","*1.000.000*",null,null,'"','"',"R'","r'","G'","g'","G'","g'","G'","g'","Zh'","zh'","Z'","z'","K'","k'","K'","k'","K'","k'","K'","k'","N'","n'","Ng","ng","P'","p'","Kh","kh","S'","s'","T'","t'","U","u","U'","u'","Kh'","kh'","Tts","tts","Ch'","ch'","Ch'","ch'","H","h","Ch","ch","Ch'","ch'","`","Zh","zh","K'","k'",null,null,"N'","n'",null,null,"Ch","ch",null,null,null,"a","a","A","a","Ae","ae","Ie","ie","@","@","@","@","Zh","zh","Z","z","Dz","dz","I","i","I","i","O","o","O","o","O","o","E","e","U","u","U","u","U","u","Ch","ch",null,null,"Y","y"],mT[5]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","Z","E","E","T`","Zh","I","L","Kh","Ts","K","H","Dz","Gh","Ch","M","Y","N","Sh","O","Ch`","P","J","Rh","S","V","T","R","Ts`","W","P`","K`","O","F",null,null,"<","'","/","!",",","?",".",null,"a","b","g","d","e","z","e","e","t`","zh","i","l","kh","ts","k","h","dz","gh","ch","m","y","n","sh","o","ch`","p","j","rh","s","v","t","r","ts`","w","p`","k`","o","f","ew",null,".","-",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"@","e","a","o","i","e","e","a","a","o",null,"u","'",null,null,null,null,null,null,":",null,null,null,null,null,null,null,null,null,null,null,null,null,"b","g","d","h","v","z","kh","t","y","k","k","l","m","m","n","n","s","`","p","p","ts","ts","q","r","sh","t",null,null,null,null,null,"V","oy","i","'",'"'],mT[6]=[null,null,null,null,null,null,null,null,null,null,null,null,",",null,null,null,null,null,null,null,null,null,null,null,null,null,null,";",null,null,null,"?",null,null,"a","'","w'",null,"y'",null,"b","@","t","th","j","H","kh","d","dh","r","z","s","sh","S","D","T","Z","aa","G",null,null,null,null,null,null,"f","q","k","l","m","n","h","w","~","y","an","un","in","a","u","i","W",null,null,"'","'",null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","%",".",",","*",null,null,null,"'","'","'",null,"'","'w","'u","'y","tt","tth","b","t","T","p","th","bh","'h","H","ny","dy","H","ch","cch","dd","D","D","Dt","dh","ddh","d","D","D","rr","R","R","R","R","R","R","j","R","S","S","S","S","S","T","GH","F","F","F","v","f","ph","Q","Q","kh","k","K","K","ng","K","g","G","N","G","G","G","L","L","L","L","N","N","N","N","N","h","Ch","hy","h","H","@","W","oe","oe","u","yu","yu","W","v","y","Y","Y","W",null,null,"y","y'",".","ae",null,null,null,null,null,null,null,"@","#",null,null,null,null,null,null,null,null,null,null,"^",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","Sh","D","Gh","&","+m"],mT[7]=["//","/",",","!","!","-",",",",",";","?","~","{","}","*",null,null,"'",null,"b","g","g","d","d","h","w","z","H","t","t","y","yh","k","l","m","n","s","s","`","p","p","S","q","r","sh","t",null,null,null,"a","a","a","A","A","A","e","e","e","E","i","i","u","u","u","o",null,"`","'",null,null,"X","Q","@","@","|","+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"h","sh","n","r","b","L","k","'","v","m","f","dh","th","l","g","ny","s","d","z","t","y","p","j","ch","tt","hh","kh","th","z","sh","s","d","t","z","`","gh","q","w","a","aa","i","ee","u","oo","e","ey","o","oa"],mT[9]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L","eN","e","e","ai","oN","o","o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","nnn","p","ph","b","bh","m","y","r","rr","l","l","lll","v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN","e","e","ai","oN","o","o","au",null,null,null,"AUM","'","'","`","'",null,null,null,"q","khh","ghh","z","dddh","rh","f","yy","RR","LL","L","LL"," / "," // ","0","1","2","3","4","5","6","7","8","9",".",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l",null,null,null,"sh","ss","s","h",null,null,"'",null,"aa","i","ii","u","uu","R","RR",null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,"rr","rh",null,"yy","RR","LL","L","LL",null,null,"0","1","2","3","4","5","6","7","8","9","r'","r`","Rs","Rs","1/","2/","3/","4/"," 1 - 1/","/16"],mT[10]=[null,null,"N",null,null,"a","aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bb","m","y","r",null,"l","ll",null,"v","sh",null,"s","h",null,null,"'",null,"aa","i","ii","u","uu",null,null,null,null,"ee","ai",null,null,"oo","au",null,null,null,null,null,null,null,null,null,null,null,null,"khh","ghh","z","rr",null,"f",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","N","H",null,null,"G.E.O.",null,null,null,null,null,null,null,null,null,null,null,null,"N","N","H",null,"a","aa","i","ii","u","uu","R",null,"eN",null,"e","ai","oN",null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","ya","r",null,"l","ll",null,"v","sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R","RR","eN",null,"e","ai","oN",null,"o","au",null,null,null,"AUM",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR",null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mT[11]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,null,"e","ai",null,null,"o","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r",null,"l","ll",null,null,"sh","ss","s","h",null,null,"'","'","aa","i","ii","u","uu","R",null,null,null,"e","ai",null,null,"o","au",null,null,null,null,null,null,null,null,null,"+","+",null,null,null,null,"rr","rh",null,"yy","RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au","k",null,null,null,"ng","c",null,"j",null,"ny","tt",null,null,null,"nn","t",null,null,null,"n","nnn","p",null,null,null,"m","y","r","rr","l","ll","lll","v",null,"ss","s","h",null,null,null,null,"aa","i","ii","u","uu",null,null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9","+10+","+100+","+1000+"],mT[12]=[null,"N","N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll",null,"v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R","RR",null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,"+","+",null,null,null,null,null,null,null,"lll",null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9"],mT[13]=[null,null,"N","H",null,"a","aa","i","ii","u","uu","R","L",null,"e","ee","ai",null,"o","oo","au","k","kh","g","gh","ng","c","ch","j","jh","ny","tt","tth","dd","ddh","nn","t","th","d","dh","n",null,"p","ph","b","bh","m","y","r","rr","l","ll","lll","v","sh","ss","s","h",null,null,null,null,"aa","i","ii","u","uu","R",null,null,"e","ee","ai",null,"o","oo","au",null,null,null,null,null,null,null,null,null,null,"+",null,null,null,null,null,null,null,null,"RR","LL",null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"N","H",null,"a","aa","ae","aae","i","ii","u","uu","R","RR","L","LL","e","ee","ai","o","oo","au",null,null,null,"k","kh","g","gh","ng","nng","c","ch","j","jh","ny","jny","nyj","tt","tth","dd","ddh","nn","nndd","t","th","d","dh","n",null,"nd","p","ph","b","bh","m","mb","y","r",null,"l",null,null,"v","sh","ss","s","h","ll","f",null,null,null,null,null,null,null,null,"aa","ae","aae","i","ii","u",null,"uu",null,"R","e","ee","ai","o","oo","au","L",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"RR","LL"," . "],mT[14]=[null,"k","kh","kh","kh","kh","kh","ng","cch","ch","ch","ch","ch","y","d","t","th","th","th","n","d","t","th","th","th","n","b","p","ph","f","ph","f","ph","m","y","r","R","l","L","w","s","s","s","h","l","`","h","~","a","a","aa","am","i","ii","ue","uue","u","uu","'",null,null,null,null,"Bh.","e","ae","o","ai","ai","ao","+",null,null,null,null,null,null,"M",null," * ","0","1","2","3","4","5","6","7","8","9"," // "," /// ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh",null,"kh",null,null,"ng","ch",null,"s",null,null,"ny",null,null,null,null,null,null,"d","h","th","th",null,"n","b","p","ph","f","ph","f",null,"m","y","r",null,"l",null,"w",null,null,"s","h",null,"`",null,"~","a",null,"aa","am","i","ii","y","yy","u","uu",null,"o","l","ny",null,null,"e","ei","o","ay","ai",null,"+",null,null,null,null,null,null,"M",null,null,"0","1","2","3","4","5","6","7","8","9",null,null,"hn","hm"],mT[15]=["AUM",null,null,null,null,null,null,null," // "," * ",null,"-"," / "," / "," // "," -/ "," +/ "," X/ "," /XX/ "," /X/ ",",",null,null,null,null,null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",".5","1.5","2.5","3.5","4.5","5.5","6.5","7.5","8.5","-.5","+","*","^","_",null,"~",null,"]","[[","]]",null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ssh","s","h","a","kss","r",null,null,null,null,null,null,"aa","i","ii","u","uu","R","RR","L","LL","e","ee","o","oo","M","H","i","ii",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j",null,"ny","tt","tth","dd","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","ts","tsh","dz","dzh","w","zh","z","'","y","r","l","sh","ss","s","h","a","kss","w","y","r",null,"X"," :X: "," /O/ "," /o/ "," \\o\\ "," (O) "],mT[16]=["k","kh","g","gh","ng","c","ch","j","jh","ny","nny","tt","tth","dd","ddh","nn","tt","th","d","dh","n","p","ph","b","bh","m","y","r","l","w","s","h","ll","a",null,"i","ii","u","uu","e",null,"o","au",null,"aa","i","ii","u","uu","e","ai",null,null,null,"N","'",":",null,null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9"," / "," // ","n*","r*","l*","e*","sh","ss","R","RR","L","LL","R","RR","L","LL",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","B","G","D","E","V","Z","T`","I","K","L","M","N","O","P","Zh","R","S","T","U","P`","K`","G'","Q","Sh","Ch`","C`","Z'","C","Ch","X","J","H","E","Y","W","Xh","OE",null,null,null,null,null,null,null,null,null,null,"a","b","g","d","e","v","z","t`","i","k","l","m","n","o","p","zh","r","s","t","u","p`","k`","g'","q","sh","ch`","c`","z'","c","ch","x","j","h","e","y","w","xh","oe","f",null,null,null,null," // "],mT[17]=["g","gg","n","d","dd","r","m","b","bb","s","ss",null,"j","jj","c","k","t","p","h","ng","nn","nd","nb","dg","rn","rr","rh","rN","mb","mN","bg","bn",null,"bs","bsg","bst","bsb","bss","bsj","bj","bc","bt","bp","bN","bbN","sg","sn","sd","sr","sm","sb","sbg","sss","s","sj","sc","sk","st","sp","sh",null,null,null,null,"Z","g","d","m","b","s","Z",null,"j","c","t","p","N","j",null,null,null,null,"ck","ch",null,null,"pb","pN","hh","Q",null,null,null,null,null,null,null,"a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i","a-o","a-u","ya-o","ya-yo","eo-o","eo-u","eo-eu","yeo-o","yeo-u","o-eo","o-e","o-ye","o-o","o-u","yo-ya","yo-yae","yo-yeo","yo-o","yo-i","u-a","u-ae","u-eo-eu","u-ye","u-u","yu-a","yu-eo","yu-e","yu-yeo","yu-ye","yu-u","yu-i","eu-u","eu-eu","yi-u","i-a","i-ya","i-o","i-u","i-eu","i-U","U","U-eo","U-u","U-i","UU",null,null,null,null,null,"g","gg","gs","n","nj","nh","d","l","lg","lm","lb","ls","lt","lp","lh","m","b","bs","s","ss","ng","j","c","k","t","p","h","gl","gsg","ng","nd","ns","nZ","nt","dg","tl","lgs","ln","ld","lth","ll","lmg","lms","lbs","lbh","rNp","lss","lZ","lk","lQ","mg","ml","mb","ms","mss","mZ","mc","mh","mN","bl","bp","ph","pN","sg","sd","sl","sb","Z","g","ss",null,"kh","N","Ns","NZ","pb","pN","hn","hl","hm","hb","Q"],mT[18]=["ha","hu","hi","haa","hee","he","ho",null,"la","lu","li","laa","lee","le","lo","lwa","hha","hhu","hhi","hhaa","hhee","hhe","hho","hhwa","ma","mu","mi","maa","mee","me","mo","mwa","sza","szu","szi","szaa","szee","sze","szo","szwa","ra","ru","ri","raa","ree","re","ro","rwa","sa","su","si","saa","see","se","so","swa","sha","shu","shi","shaa","shee","she","sho","shwa","qa","qu","qi","qaa","qee","qe","qo",null,"qwa",null,"qwi","qwaa","qwee","qwe",null,null,"qha","qhu","qhi","qhaa","qhee","qhe","qho",null,"qhwa",null,"qhwi","qhwaa","qhwee","qhwe",null,null,"ba","bu","bi","baa","bee","be","bo","bwa","va","vu","vi","vaa","vee","ve","vo","vwa","ta","tu","ti","taa","tee","te","to","twa","ca","cu","ci","caa","cee","ce","co","cwa","xa","xu","xi","xaa","xee","xe","xo",null,"xwa",null,"xwi","xwaa","xwee","xwe",null,null,"na","nu","ni","naa","nee","ne","no","nwa","nya","nyu","nyi","nyaa","nyee","nye","nyo","nywa","'a","'u",null,"'aa","'ee","'e","'o","'wa","ka","ku","ki","kaa","kee","ke","ko",null,"kwa",null,"kwi","kwaa","kwee","kwe",null,null,"kxa","kxu","kxi","kxaa","kxee","kxe","kxo",null,"kxwa",null,"kxwi","kxwaa","kxwee","kxwe",null,null,"wa","wu","wi","waa","wee","we","wo",null,"`a","`u","`i","`aa","`ee","`e","`o",null,"za","zu","zi","zaa","zee","ze","zo","zwa","zha","zhu","zhi","zhaa","zhee","zhe","zho","zhwa","ya","yu","yi","yaa","yee","ye","yo",null,"da","du","di","daa","dee","de","do","dwa","dda","ddu","ddi","ddaa","ddee","dde","ddo","ddwa"],mT[19]=["ja","ju","ji","jaa","jee","je","jo","jwa","ga","gu","gi","gaa","gee","ge","go",null,"gwa",null,"gwi","gwaa","gwee","gwe",null,null,"gga","ggu","ggi","ggaa","ggee","gge","ggo",null,"tha","thu","thi","thaa","thee","the","tho","thwa","cha","chu","chi","chaa","chee","che","cho","chwa","pha","phu","phi","phaa","phee","phe","pho","phwa","tsa","tsu","tsi","tsaa","tsee","tse","tso","tswa","tza","tzu","tzi","tzaa","tzee","tze","tzo",null,"fa","fu","fi","faa","fee","fe","fo","fwa","pa","pu","pi","paa","pee","pe","po","pwa","rya","mya","fya",null,null,null,null,null,null," ",".",",",";",":",":: ","?","//","1","2","3","4","5","6","7","8","9","10+","20+","30+","40+","50+","60+","70+","80+","90+","100+","10,000+",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"a","e","i","o","u","v","ga","ka","ge","gi","go","gu","gv","ha","he","hi","ho","hu","hv","la","le","li","lo","lu","lv","ma","me","mi","mo","mu","na","hna","nah","ne","ni","no","nu","nv","qua","que","qui","quo","quu","quv","sa","s","se","si","so","su","sv","da","ta","de","te","di","ti","do","du","dv","dla","tla","tle","tli","tlo","tlu","tlv","tsa","tse","tsi","tso","tsu","tsv","wa","we","wi","wo","wu","wv","ya","ye","yi","yo","yu","yv"],mT[20]=[null,"ai","aai","i","ii","u","uu","oo","ee","i","a","aa","we","we","wi","wi","wii","wii","wo","wo","woo","woo","woo","wa","wa","waa","waa","waa","ai","w","'","t","k","sh","s","n","w","n",null,"w","c","?","l","en","in","on","an","pai","paai","pi","pii","pu","puu","poo","hee","hi","pa","paa","pwe","pwe","pwi","pwi","pwii","pwii","pwo","pwo","pwoo","pwoo","pwa","pwa","pwaa","pwaa","pwaa","p","p","h","tai","taai","ti","tii","tu","tuu","too","dee","di","ta","taa","twe","twe","twi","twi","twii","twii","two","two","twoo","twoo","twa","twa","twaa","twaa","twaa","t","tte","tti","tto","tta","kai","kaai","ki","kii","ku","kuu","koo","ka","kaa","kwe","kwe","kwi","kwi","kwii","kwii","kwo","kwo","kwoo","kwoo","kwa","kwa","kwaa","kwaa","kwaa","k","kw","keh","kih","koh","kah","gai","caai","gi","gii","gu","guu","coo","ga","gaa","cwe","cwe","cwi","cwi","cwii","cwii","cwo","cwo","cwoo","cwoo","cwa","cwa","cwaa","cwaa","cwaa","g","th","mai","maai","mi","mii","mu","muu","moo","ma","maa","mwe","mwe","mwi","mwi","mwii","mwii","mwo","mwo","mwoo","mwoo","mwa","mwa","mwaa","mwaa","mwaa","m","m","mh","m","m","nai","naai","ni","nii","nu","nuu","noo","na","naa","nwe","nwe","nwa","nwa","nwaa","nwaa","nwaa","n","ng","nh","lai","laai","li","lii","lu","luu","loo","la","laa","lwe","lwe","lwi","lwi","lwii","lwii","lwo","lwo","lwoo","lwoo","lwa","lwa","lwaa","lwaa","l","l","l","sai","saai","si","sii","su","suu","soo","sa","saa","swe","swe","swi","swi","swii","swii","swo","swo","swoo","swoo"],mT[21]=["swa","swa","swaa","swaa","swaa","s","s","sw","s","sk","skw","sW","spwa","stwa","skwa","scwa","she","shi","shii","sho","shoo","sha","shaa","shwe","shwe","shwi","shwi","shwii","shwii","shwo","shwo","shwoo","shwoo","shwa","shwa","shwaa","shwaa","sh","jai","yaai","ji","jii","ju","juu","yoo","ja","jaa","ywe","ywe","ywi","ywi","ywii","ywii","ywo","ywo","ywoo","ywoo","ywa","ywa","ywaa","ywaa","ywaa","j","y","y","yi","re","rai","le","raai","ri","rii","ru","ruu","lo","ra","raa","la","rwaa","rwaa","r","r","r","vai","faai","vi","vii","vu","vuu","va","vaa","fwaa","fwaa","v","the","the","thi","thi","thii","thii","tho","thoo","tha","thaa","thwaa","thwaa","th","tthe","tthi","ttho","ttha","tth","tye","tyi","tyo","tya","he","hi","hii","ho","hoo","ha","haa","h","h","hk","qaai","qi","qii","qu","quu","qa","qaa","q","tlhe","tlhi","tlho","tlha","re","ri","ro","ra","ngaai","ngi","ngii","ngu","nguu","nga","ngaa","ng","nng","she","shi","sho","sha","the","thi","tho","tha","th","lhi","lhii","lho","lhoo","lha","lhaa","lh","the","thi","thii","tho","thoo","tha","thaa","th","b","e","i","o","a","we","wi","wo","wa","ne","ni","no","na","ke","ki","ko","ka","he","hi","ho","ha","ghu","gho","ghe","ghee","ghi","gha","ru","ro","re","ree","ri","ra","wu","wo","we","wee","wi","wa","hwu","hwo","hwe","hwee","hwi","hwa","thu","tho","the","thee","thi","tha","ttu","tto","tte","ttee","tti","tta","pu","po","pe","pee","pi","pa","p","gu","go","ge","gee","gi","ga","khu","kho","khe","khee","khi","kha","kku","kko","kke","kkee","kki"],mT[22]=["kka","kk","nu","no","ne","nee","ni","na","mu","mo","me","mee","mi","ma","yu","yo","ye","yee","yi","ya","ju","ju","jo","je","jee","ji","ji","ja","jju","jjo","jje","jjee","jji","jja","lu","lo","le","lee","li","la","dlu","dlo","dle","dlee","dli","dla","lhu","lho","lhe","lhee","lhi","lha","tlhu","tlho","tlhe","tlhee","tlhi","tlha","tlu","tlo","tle","tlee","tli","tla","zu","zo","ze","zee","zi","za","z","z","dzu","dzo","dze","dzee","dzi","dza","su","so","se","see","si","sa","shu","sho","she","shee","shi","sha","sh","tsu","tso","tse","tsee","tsi","tsa","chu","cho","che","chee","chi","cha","ttsu","ttso","ttse","ttsee","ttsi","ttsa","X",".","qai","ngai","nngi","nngii","nngo","nngoo","nnga","nngaa",null,null,null,null,null,null,null,null,null," ","b","l","f","s","n","h","d","t","c","q","m","g","ng","z","r","a","o","u","e","i","ch","th","ph","p","x","p","<",">",null,null,null,"f","v","u","yr","y","w","th","th","a","o","ac","ae","o","o","o","oe","on","r","k","c","k","g","ng","g","g","w","h","h","h","h","n","n","n","i","e","j","g","ae","a","eo","p","z","s","s","s","c","z","t","t","d","b","b","p","p","e","m","m","m","l","l","ng","ng","d","o","ear","ior","qu","qu","qu","s","yr","yr","yr","q","x",".",":","+","17","18","19"],mT[23]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"k","kh","g","gh","ng","c","ch","j","jh","ny","t","tth","d","ddh","nn","t","th","d","dh","n","p","ph","b","bh","m","y","r","l","v","sh","ss","s","h","l","q","a","aa","i","ii","u","uk","uu","uuv","ry","ryy","ly","lyy","e","ai","oo","oo","au","a","aa","aa","i","ii","y","yy","u","uu","ua","oe","ya","ie","e","ae","ai","oo","au","M","H","a`",null,null,null,"r",null,"!",null,null,null,null,null,"."," // ",":","+","++"," * "," /// ","KR","'",null,null,null,"0","1","2","3","4","5","6","7","8","9"],mT[24]=[" @ "," ... ",",",". ",": "," // ",null,"-",",",". ",null,null,null,null,null,null,"0","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"a","e","i","o","u","O","U","ee","n","ng","b","p","q","g","m","l","s","sh","t","d","ch","j","y","r","w","f","k","kha","ts","z","h","zr","lh","zh","ch","-","e","i","o","u","O","U","ng","b","p","q","g","m","t","d","ch","j","ts","y","w","k","g","h","jy","ny","dz","e","i","iy","U","u","ng","k","g","h","p","sh","t","d","j","f","g","h","ts","z","r","ch","zh","i","k","r","f","zh",null,null,null,null,null,null,null,null,null,"H","X","W","M"," 3 "," 333 ","a","i","k","ng","c","tt","tth","dd","nn","t","d","p","ph","ss","zh","z","a","t","zh","gh","ng","c","jh","tta","ddh","t","dh","ss","cy","zh","z","u","y","bh","'"],mT[30]=["A","a","B","b","B","b","B","b","C","c","D","d","D","d","D","d","D","d","D","d","E","e","E","e","E","e","E","e","E","e","F","f","G","g","H","h","H","h","H","h","H","h","H","h","I","i","I","i","K","k","K","k","K","k","L","l","L","l","L","l","L","l","M","m","M","m","M","m","N","n","N","n","N","n","N","n","O","o","O","o","O","o","O","o","P","p","P","p","R","r","R","r","R","r","R","r","S","s","S","s","S","s","S","s","S","s","T","t","T","t","T","t","T","t","U","u","U","u","U","u","U","u","U","u","V","v","V","v","W","w","W","w","W","w","W","w","W","w","X","x","X","x","Y","y","Z","z","Z","z","Z","z","h","t","w","y","a","S",null,null,null,null,"A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","A","a","E","e","E","e","E","e","E","e","E","e","E","e","E","e","E","e","I","i","I","i","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","O","o","U","u","U","u","U","u","U","u","U","u","U","u","U","u","Y","y","Y","y","Y","y","Y","y"],mT[31]=["a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e",null,null,"E","E","E","E","E","E",null,null,"e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","i","i","i","i","i","i","i","i","I","I","I","I","I","I","I","I","o","o","o","o","o","o",null,null,"O","O","O","O","O","O",null,null,"u","u","u","u","u","u","u","u",null,"U",null,"U",null,"U",null,"U","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","e","e","e","e","i","i","o","o","u","u","o","o",null,null,"a","a","a","a","a","a","a","a","A","A","A","A","A","A","A","A","e","e","e","e","e","e","e","e","E","E","E","E","E","E","E","E","o","o","o","o","o","o","o","o","O","O","O","O","O","O","O","O","a","a","a","a","a",null,"a","a","A","A","A","A","A","'","i","'","~",'"~',"e","e","e",null,"e","e","E","E","E","E","E","'`","''","'~","i","i","i","i",null,null,"i","i","I","I","I","I",null,"`'","`'","`~","u","u","u","u","R","R","u","u","U","U","U","U","R",'"`',"\"'","`",null,null,"o","o","o",null,"o","o","O","O","O","O","O","'","`"],mT[32]=mS,mT[33]=[null,null,"C",null,null,null,null,null,null,null,"g","H","H","H","h",null,"I","I","L","l","lb","N","no","(p)","P","P","Q","R","R","R",null,null,"(sm)","(tel)","(tm)",null,"Z",null,null,"mho","Z",null,null,null,"B","C","e","e",null,"F",null,"M","o",null,null,null,null,"i","Q","(fax)","pi",null,null,"Pi",null,"G","L","L","Y","D","d","e","i","j",null,null,"per",null,null,null,null,null,null," 1/3 "," 2/3 "," 1/5 "," 2/5 "," 3/5 "," 4/5 "," 1/6 "," 5/6 "," 1/8 "," 3/8 "," 5/8 "," 7/8 "," 1/","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","L","C","D","M","i","ii","iii","iv","v","vi","vii","viii","ix","x","xi","xii","l","c","d","m","(D","D)","((|))",")",null,null,null,null,null,null,null,null,null,null,null,null,"-","|","-","|","-","|","\\","/","\\","/","-","-","~","~","-","|","-","|","-","-","-","|","-","|","|","-","-","-","-","-","-","|","|","|","|","|","|","|","^","V","\\","=","V","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],mT[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],mT[40]=[" ","a","1","b","'","k","2","l","@","c","i","f","/","m","s","p",'"',"e","3","h","9","o","6","r","^","d","j","g",">","n","t","q",",","*","5","<","-","u","8","v",".","%","[","$","+","x","!","&",";",":","4","\\","0","z","7","(","_","?","w","]","#","y",")","=","[d7]","[d17]","[d27]","[d127]","[d37]","[d137]","[d237]","[d1237]","[d47]","[d147]","[d247]","[d1247]","[d347]","[d1347]","[d2347]","[d12347]","[d57]","[d157]","[d257]","[d1257]","[d357]","[d1357]","[d2357]","[d12357]","[d457]","[d1457]","[d2457]","[d12457]","[d3457]","[d13457]","[d23457]","[d123457]","[d67]","[d167]","[d267]","[d1267]","[d367]","[d1367]","[d2367]","[d12367]","[d467]","[d1467]","[d2467]","[d12467]","[d3467]","[d13467]","[d23467]","[d123467]","[d567]","[d1567]","[d2567]","[d12567]","[d3567]","[d13567]","[d23567]","[d123567]","[d4567]","[d14567]","[d24567]","[d124567]","[d34567]","[d134567]","[d234567]","[d1234567]","[d8]","[d18]","[d28]","[d128]","[d38]","[d138]","[d238]","[d1238]","[d48]","[d148]","[d248]","[d1248]","[d348]","[d1348]","[d2348]","[d12348]","[d58]","[d158]","[d258]","[d1258]","[d358]","[d1358]","[d2358]","[d12358]","[d458]","[d1458]","[d2458]","[d12458]","[d3458]","[d13458]","[d23458]","[d123458]","[d68]","[d168]","[d268]","[d1268]","[d368]","[d1368]","[d2368]","[d12368]","[d468]","[d1468]","[d2468]","[d12468]","[d3468]","[d13468]","[d23468]","[d123468]","[d568]","[d1568]","[d2568]","[d12568]","[d3568]","[d13568]","[d23568]","[d123568]","[d4568]","[d14568]","[d24568]","[d124568]","[d34568]","[d134568]","[d234568]","[d1234568]","[d78]","[d178]","[d278]","[d1278]","[d378]","[d1378]","[d2378]","[d12378]","[d478]","[d1478]","[d2478]","[d12478]","[d3478]","[d13478]","[d23478]","[d123478]","[d578]","[d1578]","[d2578]","[d12578]","[d3578]","[d13578]","[d23578]","[d123578]","[d4578]","[d14578]","[d24578]","[d124578]","[d34578]","[d134578]","[d234578]","[d1234578]","[d678]","[d1678]","[d2678]","[d12678]","[d3678]","[d13678]","[d23678]","[d123678]","[d4678]","[d14678]","[d24678]","[d124678]","[d34678]","[d134678]","[d234678]","[d1234678]","[d5678]","[d15678]","[d25678]","[d125678]","[d35678]","[d135678]","[d235678]","[d1235678]","[d45678]","[d145678]","[d245678]","[d1245678]","[d345678]","[d1345678]","[d2345678]","[d12345678]"],mT[48]=[" ",",",". ",'"',"[JIS]",'"',"/","0","<","> ","<<",">> ","[","] ","{","} ","[(",")] ","@","X ","[","] ","[[","]] ","((",")) ","[[","]] ","~ ","``","''",",,","@","1","2","3","4","5","6","7","8","9",null,null,null,null,null,null,"~","+","+","+","+",null,"@"," // ","+10+","+20+","+30+",null,null,null,null,null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu",null,null,null,null,null,null,null,null,'"','"',null,null,"a","a","i","i","u","u","e","e","o","o","ka","ga","ki","gi","ku","gu","ke","ge","ko","go","sa","za","si","zi","su","zu","se","ze","so","zo","ta","da","ti","di","tu","tu","du","te","de","to","do","na","ni","nu","ne","no","ha","ba","pa","hi","bi","pi","hu","bu","pu","he","be","pe","ho","bo","po","ma","mi","mu","me","mo","ya","ya","yu","yu","yo","yo","ra","ri","ru","re","ro","wa","wa","wi","we","wo","n","vu","ka","ke","va","vi","ve","vo",null,null,'"','"'],mT[49]=[null,null,null,null,null,"B","P","M","F","D","T","N","L","G","K","H","J","Q","X","ZH","CH","SH","R","Z","C","S","A","O","E","EH","AI","EI","AU","OU","AN","EN","ANG","ENG","ER","I","U","IU","V","NG","GN",null,null,null,null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h","a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i",null,"nn","nd","ns","nZ","lgs","ld","lbs","lZ","lQ","mb","ms","mZ","mN","bg",null,"bsg","bst","bj","bt","bN","bbN","sg","sn","sd","sb","sj","Z",null,"N","Ns","NZ","pN","hh","Q","yo-ya","yo-yae","yo-i","yu-yeo","yu-ye","yu-i","U","U-i",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"BU","ZI","JI","GU","EE","ENN","OO","ONN","IR","ANN","INN","UNN","IM","NGG","AINN","AUNN","AM","OM","ONG","INNN","P","T","K","H"],mT[50]=["(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)","(ju)",null,null,null,"(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Dai) ","(Hu) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ji) ","(Xiu) ","<<",">>",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"(g)","(n)","(d)","(r)","(m)","(b)","(s)","()","(j)","(c)","(k)","(t)","(p)","(h)","(ga)","(na)","(da)","(ra)","(ma)","(ba)","(sa)","(a)","(ja)","(ca)","(ka)","(ta)","(pa)","(ha)",null,null,null,"KIS ","(1) ","(2) ","(3) ","(4) ","(5) ","(6) ","(7) ","(8) ","(9) ","(10) ","(Yue) ","(Huo) ","(Shui) ","(Mu) ","(Jin) ","(Tu) ","(Ri) ","(Zhu) ","(You) ","(She) ","(Ming) ","(Te) ","(Cai) ","(Zhu) ","(Lao) ","(Mi) ","(Nan) ","(Nu) ","(Shi) ","(You) ","(Yin) ","(Zhu) ","(Xiang) ","(Xiu) ","(Xie) ","(Zheng) ","(Shang) ","(Zhong) ","(Xia) ","(Zuo) ","(You) ","(Yi) ","(Zong) ","(Xue) ","(Jian) ","(Qi) ","(Zi) ","(Xie) ","(Ye) ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1M","2M","3M","4M","5M","6M","7M","8M","9M","10M","11M","12M",null,null,null,null,"a","i","u","u","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","wi","we","wo"],mT[51]=["apartment","alpha","ampere","are","inning","inch","won","escudo","acre","ounce","ohm","kai-ri","carat","calorie","gallon","gamma","giga","guinea","curie","guilder","kilo","kilogram","kilometer","kilowatt","gram","gram ton","cruzeiro","krone","case","koruna","co-op","cycle","centime","shilling","centi","cent","dozen","desi","dollar","ton","nano","knot","heights","percent","parts","barrel","piaster","picul","pico","building","farad","feet","bushel","franc","hectare","peso","pfennig","hertz","pence","page","beta","point","volt","hon","pound","hall","horn","micro","mile","mach","mark","mansion","micron","milli","millibar","mega","megaton","meter","yard","yard","yuan","liter","lira","rupee","ruble","rem","roentgen","watt","0h","1h","2h","3h","4h","5h","6h","7h","8h","9h","10h","11h","12h","13h","14h","15h","16h","17h","18h","19h","20h","21h","22h","23h","24h","HPA","da","AU","bar","oV","pc",null,null,null,null,"Heisei","Syouwa","Taisyou","Meiji","Inc.","pA","nA","microamp","mA","kA","kB","MB","GB","cal","kcal","pF","nF","microFarad","microgram","mg","kg","Hz","kHz","MHz","GHz","THz","microliter","ml","dl","kl","fm","nm","micrometer","mm","cm","km","mm^2","cm^2","m^2","km^2","mm^4","cm^3","m^3","km^3","m/s","m/s^2","Pa","kPa","MPa","GPa","rad","rad/s","rad/s^2","ps","ns","microsecond","ms","pV","nV","microvolt","mV","kV","MV","pW","nW","microwatt","mW","kW","MW","kOhm","MOhm","a.m.","Bq","cc","cd","C/kg","Co.","dB","Gy","ha","HP","in","K.K.","KM","kt","lm","ln","log","lx","mb","mil","mol","pH","p.m.","PPM","PR","sr","Sv","Wb",null,null,"1d","2d","3d","4d","5d","6d","7d","8d","9d","10d","11d","12d","13d","14d","15d","16d","17d","18d","19d","20d","21d","22d","23d","24d","25d","26d","27d","28d","29d","30d","31d"],mT[78]=["Yi","Ding","Kao","Qi","Shang","Xia",null,"Wan","Zhang","San","Shang","Xia","Ji","Bu","Yu","Mian","Gai","Chou","Chou","Zhuan","Qie","Pi","Shi","Shi","Qiu","Bing","Ye","Cong","Dong","Si","Cheng","Diu","Qiu","Liang","Diu","You","Liang","Yan","Bing","Sang","Gun","Jiu","Ge","Ya","Qiang","Zhong","Ji","Jie","Feng","Guan","Chuan","Chan","Lin","Zhuo","Zhu","Ha","Wan","Dan","Wei","Zhu","Jing","Li","Ju","Pie","Fu","Yi","Yi","Nai","Shime","Jiu","Jiu","Zhe","Me","Yi",null,"Zhi","Wu","Zha","Hu","Fa","Le","Zhong","Ping","Pang","Qiao","Hu","Guai","Cheng","Cheng","Yi","Yin",null,"Mie","Jiu","Qi","Ye","Xi","Xiang","Gai","Diu","Hal",null,"Shu","Twul","Shi","Ji","Nang","Jia","Kel","Shi",null,"Ol","Mai","Luan","Cal","Ru","Xue","Yan","Fu","Sha","Na","Gan","Sol","El","Cwul",null,"Gan","Chi","Gui","Gan","Luan","Lin","Yi","Jue","Liao","Ma","Yu","Zheng","Shi","Shi","Er","Chu","Yu","Yu","Yu","Yun","Hu","Qi","Wu","Jing","Si","Sui","Gen","Gen","Ya","Xie","Ya","Qi","Ya","Ji","Tou","Wang","Kang","Ta","Jiao","Hai","Yi","Chan","Heng","Mu",null,"Xiang","Jing","Ting","Liang","Xiang","Jing","Ye","Qin","Bo","You","Xie","Dan","Lian","Duo","Wei","Ren","Ren","Ji","La","Wang","Yi","Shi","Ren","Le","Ding","Ze","Jin","Pu","Chou","Ba","Zhang","Jin","Jie","Bing","Reng","Cong","Fo","San","Lun","Sya","Cang","Zi","Shi","Ta","Zhang","Fu","Xian","Xian","Tuo","Hong","Tong","Ren","Qian","Gan","Yi","Di","Dai","Ling","Yi","Chao","Chang","Sa",null,"Yi","Mu","Men","Ren","Jia","Chao","Yang","Qian","Zhong","Pi","Wan","Wu","Jian","Jie","Yao","Feng","Cang","Ren","Wang","Fen","Di","Fang"],mT[79]=["Zhong","Qi","Pei","Yu","Diao","Dun","Wen","Yi","Xin","Kang","Yi","Ji","Ai","Wu","Ji","Fu","Fa","Xiu","Jin","Bei","Dan","Fu","Tang","Zhong","You","Huo","Hui","Yu","Cui","Chuan","San","Wei","Chuan","Che","Ya","Xian","Shang","Chang","Lun","Cang","Xun","Xin","Wei","Zhu",null,"Xuan","Nu","Bo","Gu","Ni","Ni","Xie","Ban","Xu","Ling","Zhou","Shen","Qu","Si","Beng","Si","Jia","Pi","Yi","Si","Ai","Zheng","Dian","Han","Mai","Dan","Zhu","Bu","Qu","Bi","Shao","Ci","Wei","Di","Zhu","Zuo","You","Yang","Ti","Zhan","He","Bi","Tuo","She","Yu","Yi","Fo","Zuo","Kou","Ning","Tong","Ni","Xuan","Qu","Yong","Wa","Qian",null,"Ka",null,"Pei","Huai","He","Lao","Xiang","Ge","Yang","Bai","Fa","Ming","Jia","Er","Bing","Ji","Hen","Huo","Gui","Quan","Tiao","Jiao","Ci","Yi","Shi","Xing","Shen","Tuo","Kan","Zhi","Gai","Lai","Yi","Chi","Kua","Guang","Li","Yin","Shi","Mi","Zhu","Xu","You","An","Lu","Mou","Er","Lun","Tong","Cha","Chi","Xun","Gong","Zhou","Yi","Ru","Jian","Xia","Jia","Zai","Lu","Ko","Jiao","Zhen","Ce","Qiao","Kuai","Chai","Ning","Nong","Jin","Wu","Hou","Jiong","Cheng","Zhen","Zuo","Chou","Qin","Lu","Ju","Shu","Ting","Shen","Tuo","Bo","Nan","Hao","Bian","Tui","Yu","Xi","Cu","E","Qiu","Xu","Kuang","Ku","Wu","Jun","Yi","Fu","Lang","Zu","Qiao","Li","Yong","Hun","Jing","Xian","San","Pai","Su","Fu","Xi","Li","Fu","Ping","Bao","Yu","Si","Xia","Xin","Xiu","Yu","Ti","Che","Chou",null,"Yan","Lia","Li","Lai",null,"Jian","Xiu","Fu","He","Ju","Xiao","Pai","Jian","Biao","Chu","Fei","Feng","Ya","An","Bei","Yu","Xin","Bi","Jian"],mT[80]=["Chang","Chi","Bing","Zan","Yao","Cui","Lia","Wan","Lai","Cang","Zong","Ge","Guan","Bei","Tian","Shu","Shu","Men","Dao","Tan","Jue","Chui","Xing","Peng","Tang","Hou","Yi","Qi","Ti","Gan","Jing","Jie","Sui","Chang","Jie","Fang","Zhi","Kong","Juan","Zong","Ju","Qian","Ni","Lun","Zhuo","Wei","Luo","Song","Leng","Hun","Dong","Zi","Ben","Wu","Ju","Nai","Cai","Jian","Zhai","Ye","Zhi","Sha","Qing",null,"Ying","Cheng","Jian","Yan","Nuan","Zhong","Chun","Jia","Jie","Wei","Yu","Bing","Ruo","Ti","Wei","Pian","Yan","Feng","Tang","Wo","E","Xie","Che","Sheng","Kan","Di","Zuo","Cha","Ting","Bei","Ye","Huang","Yao","Zhan","Chou","Yan","You","Jian","Xu","Zha","Ci","Fu","Bi","Zhi","Zong","Mian","Ji","Yi","Xie","Xun","Si","Duan","Ce","Zhen","Ou","Tou","Tou","Bei","Za","Lu","Jie","Wei","Fen","Chang","Gui","Sou","Zhi","Su","Xia","Fu","Yuan","Rong","Li","Ru","Yun","Gou","Ma","Bang","Dian","Tang","Hao","Jie","Xi","Shan","Qian","Jue","Cang","Chu","San","Bei","Xiao","Yong","Yao","Tan","Suo","Yang","Fa","Bing","Jia","Dai","Zai","Tang",null,"Bin","Chu","Nuo","Can","Lei","Cui","Yong","Zao","Zong","Peng","Song","Ao","Chuan","Yu","Zhai","Cou","Shang","Qiang","Jing","Chi","Sha","Han","Zhang","Qing","Yan","Di","Xi","Lu","Bei","Piao","Jin","Lian","Lu","Man","Qian","Xian","Tan","Ying","Dong","Zhuan","Xiang","Shan","Qiao","Jiong","Tui","Zun","Pu","Xi","Lao","Chang","Guang","Liao","Qi","Deng","Chan","Wei","Ji","Fan","Hui","Chuan","Jian","Dan","Jiao","Jiu","Seng","Fen","Xian","Jue","E","Jiao","Jian","Tong","Lin","Bo","Gu",null,"Su","Xian","Jiang","Min","Ye","Jin","Jia","Qiao","Pi","Feng","Zhou","Ai","Sai"],mT[81]=["Yi","Jun","Nong","Chan","Yi","Dang","Jing","Xuan","Kuai","Jian","Chu","Dan","Jiao","Sha","Zai",null,"Bin","An","Ru","Tai","Chou","Chai","Lan","Ni","Jin","Qian","Meng","Wu","Ning","Qiong","Ni","Chang","Lie","Lei","Lu","Kuang","Bao","Du","Biao","Zan","Zhi","Si","You","Hao","Chen","Chen","Li","Teng","Wei","Long","Chu","Chan","Rang","Shu","Hui","Li","Luo","Zan","Nuo","Tang","Yan","Lei","Nang","Er","Wu","Yun","Zan","Yuan","Xiong","Chong","Zhao","Xiong","Xian","Guang","Dui","Ke","Dui","Mian","Tu","Chang","Er","Dui","Er","Xin","Tu","Si","Yan","Yan","Shi","Shi","Dang","Qian","Dou","Fen","Mao","Shen","Dou","Bai","Jing","Li","Huang","Ru","Wang","Nei","Quan","Liang","Yu","Ba","Gong","Liu","Xi",null,"Lan","Gong","Tian","Guan","Xing","Bing","Qi","Ju","Dian","Zi","Ppwun","Yang","Jian","Shou","Ji","Yi","Ji","Chan","Jiong","Mao","Ran","Nei","Yuan","Mao","Gang","Ran","Ce","Jiong","Ce","Zai","Gua","Jiong","Mao","Zhou","Mou","Gou","Xu","Mian","Mi","Rong","Yin","Xie","Kan","Jun","Nong","Yi","Mi","Shi","Guan","Meng","Zhong","Ju","Yuan","Ming","Kou","Lam","Fu","Xie","Mi","Bing","Dong","Tai","Gang","Feng","Bing","Hu","Chong","Jue","Hu","Kuang","Ye","Leng","Pan","Fu","Min","Dong","Xian","Lie","Xia","Jian","Jing","Shu","Mei","Tu","Qi","Gu","Zhun","Song","Jing","Liang","Qing","Diao","Ling","Dong","Gan","Jian","Yin","Cou","Yi","Li","Cang","Ming","Zhuen","Cui","Si","Duo","Jin","Lin","Lin","Ning","Xi","Du","Ji","Fan","Fan","Fan","Feng","Ju","Chu","Tako","Feng","Mok","Ci","Fu","Feng","Ping","Feng","Kai","Huang","Kai","Gan","Deng","Ping","Qu","Xiong","Kuai","Tu","Ao","Chu","Ji","Dang","Han","Han","Zao"],mT[82]=["Dao","Diao","Dao","Ren","Ren","Chuang","Fen","Qie","Yi","Ji","Kan","Qian","Cun","Chu","Wen","Ji","Dan","Xing","Hua","Wan","Jue","Li","Yue","Lie","Liu","Ze","Gang","Chuang","Fu","Chu","Qu","Ju","Shan","Min","Ling","Zhong","Pan","Bie","Jie","Jie","Bao","Li","Shan","Bie","Chan","Jing","Gua","Gen","Dao","Chuang","Kui","Ku","Duo","Er","Zhi","Shua","Quan","Cha","Ci","Ke","Jie","Gui","Ci","Gui","Kai","Duo","Ji","Ti","Jing","Lou","Gen","Ze","Yuan","Cuo","Xue","Ke","La","Qian","Cha","Chuang","Gua","Jian","Cuo","Li","Ti","Fei","Pou","Chan","Qi","Chuang","Zi","Gang","Wan","Bo","Ji","Duo","Qing","Yan","Zhuo","Jian","Ji","Bo","Yan","Ju","Huo","Sheng","Jian","Duo","Duan","Wu","Gua","Fu","Sheng","Jian","Ge","Zha","Kai","Chuang","Juan","Chan","Tuan","Lu","Li","Fou","Shan","Piao","Kou","Jiao","Gua","Qiao","Jue","Hua","Zha","Zhuo","Lian","Ju","Pi","Liu","Gui","Jiao","Gui","Jian","Jian","Tang","Huo","Ji","Jian","Yi","Jian","Zhi","Chan","Cuan","Mo","Li","Zhu","Li","Ya","Quan","Ban","Gong","Jia","Wu","Mai","Lie","Jin","Keng","Xie","Zhi","Dong","Zhu","Nu","Jie","Qu","Shao","Yi","Zhu","Miao","Li","Jing","Lao","Lao","Juan","Kou","Yang","Wa","Xiao","Mou","Kuang","Jie","Lie","He","Shi","Ke","Jing","Hao","Bo","Min","Chi","Lang","Yong","Yong","Mian","Ke","Xun","Juan","Qing","Lu","Pou","Meng","Lai","Le","Kai","Mian","Dong","Xu","Xu","Kan","Wu","Yi","Xun","Weng","Sheng","Lao","Mu","Lu","Piao","Shi","Ji","Qin","Qiang","Jiao","Quan","Yang","Yi","Jue","Fan","Juan","Tong","Ju","Dan","Xie","Mai","Xun","Xun","Lu","Li","Che","Rang","Quan","Bao","Shao","Yun","Jiu","Bao","Gou","Wu"],mT[83]=["Yun","Mwun","Nay","Gai","Gai","Bao","Cong",null,"Xiong","Peng","Ju","Tao","Ge","Pu","An","Pao","Fu","Gong","Da","Jiu","Qiong","Bi","Hua","Bei","Nao","Chi","Fang","Jiu","Yi","Za","Jiang","Kang","Jiang","Kuang","Hu","Xia","Qu","Bian","Gui","Qie","Zang","Kuang","Fei","Hu","Tou","Gui","Gui","Hui","Dan","Gui","Lian","Lian","Suan","Du","Jiu","Qu","Xi","Pi","Qu","Yi","Qia","Yan","Bian","Ni","Qu","Shi","Xin","Qian","Nian","Sa","Zu","Sheng","Wu","Hui","Ban","Shi","Xi","Wan","Hua","Xie","Wan","Bei","Zu","Zhuo","Xie","Dan","Mai","Nan","Dan","Ji","Bo","Shuai","Bu","Kuang","Bian","Bu","Zhan","Qia","Lu","You","Lu","Xi","Gua","Wo","Xie","Jie","Jie","Wei","Ang","Qiong","Zhi","Mao","Yin","Wei","Shao","Ji","Que","Luan","Shi","Juan","Xie","Xu","Jin","Que","Wu","Ji","E","Qing","Xi",null,"Han","Zhan","E","Ting","Li","Zhe","Han","Li","Ya","Ya","Yan","She","Zhi","Zha","Pang",null,"He","Ya","Zhi","Ce","Pang","Ti","Li","She","Hou","Ting","Zui","Cuo","Fei","Yuan","Ce","Yuan","Xiang","Yan","Li","Jue","Sha","Dian","Chu","Jiu","Qin","Ao","Gui","Yan","Si","Li","Chang","Lan","Li","Yan","Yan","Yuan","Si","Gong","Lin","Qiu","Qu","Qu","Uk","Lei","Du","Xian","Zhuan","San","Can","Can","Can","Can","Ai","Dai","You","Cha","Ji","You","Shuang","Fan","Shou","Guai","Ba","Fa","Ruo","Shi","Shu","Zhuo","Qu","Shou","Bian","Xu","Jia","Pan","Sou","Gao","Wei","Sou","Die","Rui","Cong","Kou","Gu","Ju","Ling","Gua","Tao","Kou","Zhi","Jiao","Zhao","Ba","Ding","Ke","Tai","Chi","Shi","You","Qiu","Po","Ye","Hao","Si","Tan","Chi","Le","Diao","Ji",null,"Hong"],mT[84]=["Mie","Xu","Mang","Chi","Ge","Xuan","Yao","Zi","He","Ji","Diao","Cun","Tong","Ming","Hou","Li","Tu","Xiang","Zha","Xia","Ye","Lu","A","Ma","Ou","Xue","Yi","Jun","Chou","Lin","Tun","Yin","Fei","Bi","Qin","Qin","Jie","Bu","Fou","Ba","Dun","Fen","E","Han","Ting","Hang","Shun","Qi","Hong","Zhi","Shen","Wu","Wu","Chao","Ne","Xue","Xi","Chui","Dou","Wen","Hou","Ou","Wu","Gao","Ya","Jun","Lu","E","Ge","Mei","Ai","Qi","Cheng","Wu","Gao","Fu","Jiao","Hong","Chi","Sheng","Ne","Tun","Fu","Yi","Dai","Ou","Li","Bai","Yuan","Kuai",null,"Qiang","Wu","E","Shi","Quan","Pen","Wen","Ni","M","Ling","Ran","You","Di","Zhou","Shi","Zhou","Tie","Xi","Yi","Qi","Ping","Zi","Gu","Zi","Wei","Xu","He","Nao","Xia","Pei","Yi","Xiao","Shen","Hu","Ming","Da","Qu","Ju","Gem","Za","Tuo","Duo","Pou","Pao","Bi","Fu","Yang","He","Zha","He","Hai","Jiu","Yong","Fu","Que","Zhou","Wa","Ka","Gu","Ka","Zuo","Bu","Long","Dong","Ning","Tha","Si","Xian","Huo","Qi","Er","E","Guang","Zha","Xi","Yi","Lie","Zi","Mie","Mi","Zhi","Yao","Ji","Zhou","Ge","Shuai","Zan","Xiao","Ke","Hui","Kua","Huai","Tao","Xian","E","Xuan","Xiu","Wai","Yan","Lao","Yi","Ai","Pin","Shen","Tong","Hong","Xiong","Chi","Wa","Ha","Zai","Yu","Di","Pai","Xiang","Ai","Hen","Kuang","Ya","Da","Xiao","Bi","Yue",null,"Hua","Sasou","Kuai","Duo",null,"Ji","Nong","Mou","Yo","Hao","Yuan","Long","Pou","Mang","Ge","E","Chi","Shao","Li","Na","Zu","He","Ku","Xiao","Xian","Lao","Bo","Zhe","Zha","Liang","Ba","Mie","Le","Sui","Fou","Bu","Han","Heng","Geng","Shuo","Ge"],mT[85]=["You","Yan","Gu","Gu","Bai","Han","Suo","Chun","Yi","Ai","Jia","Tu","Xian","Huan","Li","Xi","Tang","Zuo","Qiu","Che","Wu","Zao","Ya","Dou","Qi","Di","Qin","Ma","Mal","Hong","Dou","Kes","Lao","Liang","Suo","Zao","Huan","Lang","Sha","Ji","Zuo","Wo","Feng","Yin","Hu","Qi","Shou","Wei","Shua","Chang","Er","Li","Qiang","An","Jie","Yo","Nian","Yu","Tian","Lai","Sha","Xi","Tuo","Hu","Ai","Zhou","Nou","Ken","Zhuo","Zhuo","Shang","Di","Heng","Lan","A","Xiao","Xiang","Tun","Wu","Wen","Cui","Sha","Hu","Qi","Qi","Tao","Dan","Dan","Ye","Zi","Bi","Cui","Chuo","He","Ya","Qi","Zhe","Pei","Liang","Xian","Pi","Sha","La","Ze","Qing","Gua","Pa","Zhe","Se","Zhuan","Nie","Guo","Luo","Yan","Di","Quan","Tan","Bo","Ding","Lang","Xiao",null,"Tang","Chi","Ti","An","Jiu","Dan","Ke","Yong","Wei","Nan","Shan","Yu","Zhe","La","Jie","Hou","Han","Die","Zhou","Chai","Wai","Re","Yu","Yin","Zan","Yao","Wo","Mian","Hu","Yun","Chuan","Hui","Huan","Huan","Xi","He","Ji","Kui","Zhong","Wei","Sha","Xu","Huang","Du","Nie","Xuan","Liang","Yu","Sang","Chi","Qiao","Yan","Dan","Pen","Can","Li","Yo","Zha","Wei","Miao","Ying","Pen","Phos","Kui","Xi","Yu","Jie","Lou","Ku","Sao","Huo","Ti","Yao","He","A","Xiu","Qiang","Se","Yong","Su","Hong","Xie","Yi","Suo","Ma","Cha","Hai","Ke","Ta","Sang","Tian","Ru","Sou","Wa","Ji","Pang","Wu","Xian","Shi","Ge","Zi","Jie","Luo","Weng","Wa","Si","Chi","Hao","Suo","Jia","Hai","Suo","Qin","Nie","He","Cis","Sai","Ng","Ge","Na","Dia","Ai",null,"Tong","Bi","Ao","Ao","Lian","Cui","Zhe","Mo","Sou","Sou","Tan"],mT[86]=["Di","Qi","Jiao","Chong","Jiao","Kai","Tan","San","Cao","Jia","Ai","Xiao","Piao","Lou","Ga","Gu","Xiao","Hu","Hui","Guo","Ou","Xian","Ze","Chang","Xu","Po","De","Ma","Ma","Hu","Lei","Du","Ga","Tang","Ye","Beng","Ying","Saai","Jiao","Mi","Xiao","Hua","Mai","Ran","Zuo","Peng","Lao","Xiao","Ji","Zhu","Chao","Kui","Zui","Xiao","Si","Hao","Fu","Liao","Qiao","Xi","Xiu","Tan","Tan","Mo","Xun","E","Zun","Fan","Chi","Hui","Zan","Chuang","Cu","Dan","Yu","Tun","Cheng","Jiao","Ye","Xi","Qi","Hao","Lian","Xu","Deng","Hui","Yin","Pu","Jue","Qin","Xun","Nie","Lu","Si","Yan","Ying","Da","Dan","Yu","Zhou","Jin","Nong","Yue","Hui","Qi","E","Zao","Yi","Shi","Jiao","Yuan","Ai","Yong","Jue","Kuai","Yu","Pen","Dao","Ge","Xin","Dun","Dang","Sin","Sai","Pi","Pi","Yin","Zui","Ning","Di","Lan","Ta","Huo","Ru","Hao","Xia","Ya","Duo","Xi","Chou","Ji","Jin","Hao","Ti","Chang",null,null,"Ca","Ti","Lu","Hui","Bo","You","Nie","Yin","Hu","Mo","Huang","Zhe","Li","Liu","Haai","Nang","Xiao","Mo","Yan","Li","Lu","Long","Fu","Dan","Chen","Pin","Pi","Xiang","Huo","Mo","Xi","Duo","Ku","Yan","Chan","Ying","Rang","Dian","La","Ta","Xiao","Jiao","Chuo","Huan","Huo","Zhuan","Nie","Xiao","Ca","Li","Chan","Chai","Li","Yi","Luo","Nang","Zan","Su","Xi","So","Jian","Za","Zhu","Lan","Nie","Nang",null,null,"Wei","Hui","Yin","Qiu","Si","Nin","Jian","Hui","Xin","Yin","Nan","Tuan","Tuan","Dun","Kang","Yuan","Jiong","Pian","Yun","Cong","Hu","Hui","Yuan","You","Guo","Kun","Cong","Wei","Tu","Wei","Lun","Guo","Qun","Ri","Ling","Gu","Guo","Tai","Guo","Tu","You"],mT[87]=["Guo","Yin","Hun","Pu","Yu","Han","Yuan","Lun","Quan","Yu","Qing","Guo","Chuan","Wei","Yuan","Quan","Ku","Fu","Yuan","Yuan","E","Tu","Tu","Tu","Tuan","Lue","Hui","Yi","Yuan","Luan","Luan","Tu","Ya","Tu","Ting","Sheng","Pu","Lu","Iri","Ya","Zai","Wei","Ge","Yu","Wu","Gui","Pi","Yi","Di","Qian","Qian","Zhen","Zhuo","Dang","Qia","Akutsu","Yama","Kuang","Chang","Qi","Nie","Mo","Ji","Jia","Zhi","Zhi","Ban","Xun","Tou","Qin","Fen","Jun","Keng","Tun","Fang","Fen","Ben","Tan","Kan","Pi","Zuo","Keng","Bi","Xing","Di","Jing","Ji","Kuai","Di","Jing","Jian","Tan","Li","Ba","Wu","Fen","Zhui","Po","Pan","Tang","Kun","Qu","Tan","Zhi","Tuo","Gan","Ping","Dian","Gua","Ni","Tai","Pi","Jiong","Yang","Fo","Ao","Liu","Qiu","Mu","Ke","Gou","Xue","Ba","Chi","Che","Ling","Zhu","Fu","Hu","Zhi","Chui","La","Long","Long","Lu","Ao","Tay","Pao",null,"Xing","Dong","Ji","Ke","Lu","Ci","Chi","Lei","Gai","Yin","Hou","Dui","Zhao","Fu","Guang","Yao","Duo","Duo","Gui","Cha","Yang","Yin","Fa","Gou","Yuan","Die","Xie","Ken","Jiong","Shou","E","Ha","Dian","Hong","Wu","Kua",null,"Tao","Dang","Kai","Gake","Nao","An","Xing","Xian","Huan","Bang","Pei","Ba","Yi","Yin","Han","Xu","Chui","Cen","Geng","Ai","Peng","Fang","Que","Yong","Xun","Jia","Di","Mai","Lang","Xuan","Cheng","Yan","Jin","Zhe","Lei","Lie","Bu","Cheng","Gomi","Bu","Shi","Xun","Guo","Jiong","Ye","Nian","Di","Yu","Bu","Ya","Juan","Sui","Pi","Cheng","Wan","Ju","Lun","Zheng","Kong","Chong","Dong","Dai","Tan","An","Cai","Shu","Beng","Kan","Zhi","Duo","Yi","Zhi","Yi","Pei","Ji","Zhun","Qi","Sao","Ju","Ni"],mT[88]=["Ku","Ke","Tang","Kun","Ni","Jian","Dui","Jin","Gang","Yu","E","Peng","Gu","Tu","Leng",null,"Ya","Qian",null,"An",null,"Duo","Nao","Tu","Cheng","Yin","Hun","Bi","Lian","Guo","Die","Zhuan","Hou","Bao","Bao","Yu","Di","Mao","Jie","Ruan","E","Geng","Kan","Zong","Yu","Huang","E","Yao","Yan","Bao","Ji","Mei","Chang","Du","Tuo","Yin","Feng","Zhong","Jie","Zhen","Feng","Gang","Chuan","Jian","Pyeng","Toride","Xiang","Huang","Leng","Duan",null,"Xuan","Ji","Ji","Kuai","Ying","Ta","Cheng","Yong","Kai","Su","Su","Shi","Mi","Ta","Weng","Cheng","Tu","Tang","Que","Zhong","Li","Peng","Bang","Sai","Zang","Dui","Tian","Wu","Cheng","Xun","Ge","Zhen","Ai","Gong","Yan","Kan","Tian","Yuan","Wen","Xie","Liu","Ama","Lang","Chang","Peng","Beng","Chen","Cu","Lu","Ou","Qian","Mei","Mo","Zhuan","Shuang","Shu","Lou","Chi","Man","Biao","Jing","Qi","Shu","Di","Zhang","Kan","Yong","Dian","Chen","Zhi","Xi","Guo","Qiang","Jin","Di","Shang","Mu","Cui","Yan","Ta","Zeng","Qi","Qiang","Liang",null,"Zhui","Qiao","Zeng","Xu","Shan","Shan","Ba","Pu","Kuai","Dong","Fan","Que","Mo","Dun","Dun","Dun","Di","Sheng","Duo","Duo","Tan","Deng","Wu","Fen","Huang","Tan","Da","Ye","Sho","Mama","Yu","Qiang","Ji","Qiao","Ken","Yi","Pi","Bi","Dian","Jiang","Ye","Yong","Bo","Tan","Lan","Ju","Huai","Dang","Rang","Qian","Xun","Lan","Xi","He","Ai","Ya","Dao","Hao","Ruan","Mama","Lei","Kuang","Lu","Yan","Tan","Wei","Huai","Long","Long","Rui","Li","Lin","Rang","Ten","Xun","Yan","Lei","Ba",null,"Shi","Ren",null,"Zhuang","Zhuang","Sheng","Yi","Mai","Ke","Zhu","Zhuang","Hu","Hu","Kun","Yi","Hu","Xu","Kun","Shou","Mang","Zun"],mT[89]=["Shou","Yi","Zhi","Gu","Chu","Jiang","Feng","Bei","Cay","Bian","Sui","Qun","Ling","Fu","Zuo","Xia","Xiong",null,"Nao","Xia","Kui","Xi","Wai","Yuan","Mao","Su","Duo","Duo","Ye","Qing","Uys","Gou","Gou","Qi","Meng","Meng","Yin","Huo","Chen","Da","Ze","Tian","Tai","Fu","Guai","Yao","Yang","Hang","Gao","Shi","Ben","Tai","Tou","Yan","Bi","Yi","Kua","Jia","Duo","Kwu","Kuang","Yun","Jia","Pa","En","Lian","Huan","Di","Yan","Pao","Quan","Qi","Nai","Feng","Xie","Fen","Dian",null,"Kui","Zou","Huan","Qi","Kai","Zha","Ben","Yi","Jiang","Tao","Zang","Ben","Xi","Xiang","Fei","Diao","Xun","Keng","Dian","Ao","She","Weng","Pan","Ao","Wu","Ao","Jiang","Lian","Duo","Yun","Jiang","Shi","Fen","Huo","Bi","Lian","Duo","Nu","Nu","Ding","Nai","Qian","Jian","Ta","Jiu","Nan","Cha","Hao","Xian","Fan","Ji","Shuo","Ru","Fei","Wang","Hong","Zhuang","Fu","Ma","Dan","Ren","Fu","Jing","Yan","Xie","Wen","Zhong","Pa","Du","Ji","Keng","Zhong","Yao","Jin","Yun","Miao","Pei","Shi","Yue","Zhuang","Niu","Yan","Na","Xin","Fen","Bi","Yu","Tuo","Feng","Yuan","Fang","Wu","Yu","Gui","Du","Ba","Ni","Zhou","Zhuo","Zhao","Da","Nai","Yuan","Tou","Xuan","Zhi","E","Mei","Mo","Qi","Bi","Shen","Qie","E","He","Xu","Fa","Zheng","Min","Ban","Mu","Fu","Ling","Zi","Zi","Shi","Ran","Shan","Yang","Man","Jie","Gu","Si","Xing","Wei","Zi","Ju","Shan","Pin","Ren","Yao","Tong","Jiang","Shu","Ji","Gai","Shang","Kuo","Juan","Jiao","Gou","Mu","Jian","Jian","Yi","Nian","Zhi","Ji","Ji","Xian","Heng","Guang","Jun","Kua","Yan","Ming","Lie","Pei","Yan","You","Yan","Cha","Shen","Yin","Chi","Gui","Quan","Zi"],mT[90]=["Song","Wei","Hong","Wa","Lou","Ya","Rao","Jiao","Luan","Ping","Xian","Shao","Li","Cheng","Xiao","Mang","Fu","Suo","Wu","Wei","Ke","Lai","Chuo","Ding","Niang","Xing","Nan","Yu","Nuo","Pei","Nei","Juan","Shen","Zhi","Han","Di","Zhuang","E","Pin","Tui","Han","Mian","Wu","Yan","Wu","Xi","Yan","Yu","Si","Yu","Wa",null,"Xian","Ju","Qu","Shui","Qi","Xian","Zhui","Dong","Chang","Lu","Ai","E","E","Lou","Mian","Cong","Pou","Ju","Po","Cai","Ding","Wan","Biao","Xiao","Shu","Qi","Hui","Fu","E","Wo","Tan","Fei","Wei","Jie","Tian","Ni","Quan","Jing","Hun","Jing","Qian","Dian","Xing","Hu","Wa","Lai","Bi","Yin","Chou","Chuo","Fu","Jing","Lun","Yan","Lan","Kun","Yin","Ya","Ju","Li","Dian","Xian","Hwa","Hua","Ying","Chan","Shen","Ting","Dang","Yao","Wu","Nan","Ruo","Jia","Tou","Xu","Yu","Wei","Ti","Rou","Mei","Dan","Ruan","Qin","Hui","Wu","Qian","Chun","Mao","Fu","Jie","Duan","Xi","Zhong","Mei","Huang","Mian","An","Ying","Xuan","Jie","Wei","Mei","Yuan","Zhen","Qiu","Ti","Xie","Tuo","Lian","Mao","Ran","Si","Pian","Wei","Wa","Jiu","Hu","Ao",null,"Bou","Xu","Tou","Gui","Zou","Yao","Pi","Xi","Yuan","Ying","Rong","Ru","Chi","Liu","Mei","Pan","Ao","Ma","Gou","Kui","Qin","Jia","Sao","Zhen","Yuan","Cha","Yong","Ming","Ying","Ji","Su","Niao","Xian","Tao","Pang","Lang","Nao","Bao","Ai","Pi","Pin","Yi","Piao","Yu","Lei","Xuan","Man","Yi","Zhang","Kang","Yong","Ni","Li","Di","Gui","Yan","Jin","Zhuan","Chang","Ce","Han","Nen","Lao","Mo","Zhe","Hu","Hu","Ao","Nen","Qiang","Ma","Pie","Gu","Wu","Jiao","Tuo","Zhan","Mao","Xian","Xian","Mo","Liao","Lian","Hua"],mT[91]=["Gui","Deng","Zhi","Xu","Yi","Hua","Xi","Hui","Rao","Xi","Yan","Chan","Jiao","Mei","Fan","Fan","Xian","Yi","Wei","Jiao","Fu","Shi","Bi","Shan","Sui","Qiang","Lian","Huan","Xin","Niao","Dong","Yi","Can","Ai","Niang","Neng","Ma","Tiao","Chou","Jin","Ci","Yu","Pin","Yong","Xu","Nai","Yan","Tai","Ying","Can","Niao","Wo","Ying","Mian","Kaka","Ma","Shen","Xing","Ni","Du","Liu","Yuan","Lan","Yan","Shuang","Ling","Jiao","Niang","Lan","Xian","Ying","Shuang","Shuai","Quan","Mi","Li","Luan","Yan","Zhu","Lan","Zi","Jie","Jue","Jue","Kong","Yun","Zi","Zi","Cun","Sun","Fu","Bei","Zi","Xiao","Xin","Meng","Si","Tai","Bao","Ji","Gu","Nu","Xue",null,"Zhuan","Hai","Luan","Sun","Huai","Mie","Cong","Qian","Shu","Chan","Ya","Zi","Ni","Fu","Zi","Li","Xue","Bo","Ru","Lai","Nie","Nie","Ying","Luan","Mian","Ning","Rong","Ta","Gui","Zhai","Qiong","Yu","Shou","An","Tu","Song","Wan","Rou","Yao","Hong","Yi","Jing","Zhun","Mi","Zhu","Dang","Hong","Zong","Guan","Zhou","Ding","Wan","Yi","Bao","Shi","Shi","Chong","Shen","Ke","Xuan","Shi","You","Huan","Yi","Tiao","Shi","Xian","Gong","Cheng","Qun","Gong","Xiao","Zai","Zha","Bao","Hai","Yan","Xiao","Jia","Shen","Chen","Rong","Huang","Mi","Kou","Kuan","Bin","Su","Cai","Zan","Ji","Yuan","Ji","Yin","Mi","Kou","Qing","Que","Zhen","Jian","Fu","Ning","Bing","Huan","Mei","Qin","Han","Yu","Shi","Ning","Qin","Ning","Zhi","Yu","Bao","Kuan","Ning","Qin","Mo","Cha","Ju","Gua","Qin","Hu","Wu","Liao","Shi","Zhu","Zhai","Shen","Wei","Xie","Kuan","Hui","Liao","Jun","Huan","Yi","Yi","Bao","Qin","Chong","Bao","Feng","Cun","Dui","Si","Xun","Dao","Lu","Dui","Shou"],mT[92]=["Po","Feng","Zhuan","Fu","She","Ke","Jiang","Jiang","Zhuan","Wei","Zun","Xun","Shu","Dui","Dao","Xiao","Ji","Shao","Er","Er","Er","Ga","Jian","Shu","Chen","Shang","Shang","Mo","Ga","Chang","Liao","Xian","Xian",null,"Wang","Wang","You","Liao","Liao","Yao","Mang","Wang","Wang","Wang","Ga","Yao","Duo","Kui","Zhong","Jiu","Gan","Gu","Gan","Tui","Gan","Gan","Shi","Yin","Chi","Kao","Ni","Jin","Wei","Niao","Ju","Pi","Ceng","Xi","Bi","Ju","Jie","Tian","Qu","Ti","Jie","Wu","Diao","Shi","Shi","Ping","Ji","Xie","Chen","Xi","Ni","Zhan","Xi",null,"Man","E","Lou","Ping","Ti","Fei","Shu","Xie","Tu","Lu","Lu","Xi","Ceng","Lu","Ju","Xie","Ju","Jue","Liao","Jue","Shu","Xi","Che","Tun","Ni","Shan",null,"Xian","Li","Xue","Nata",null,"Long","Yi","Qi","Ren","Wu","Han","Shen","Yu","Chu","Sui","Qi",null,"Yue","Ban","Yao","Ang","Ya","Wu","Jie","E","Ji","Qian","Fen","Yuan","Qi","Cen","Qian","Qi","Cha","Jie","Qu","Gang","Xian","Ao","Lan","Dao","Ba","Zuo","Zuo","Yang","Ju","Gang","Ke","Gou","Xue","Bei","Li","Tiao","Ju","Yan","Fu","Xiu","Jia","Ling","Tuo","Pei","You","Dai","Kuang","Yue","Qu","Hu","Po","Min","An","Tiao","Ling","Chi","Yuri","Dong","Cem","Kui","Xiu","Mao","Tong","Xue","Yi","Kura","He","Ke","Luo","E","Fu","Xun","Die","Lu","An","Er","Gai","Quan","Tong","Yi","Mu","Shi","An","Wei","Hu","Zhi","Mi","Li","Ji","Tong","Wei","You","Sang","Xia","Li","Yao","Jiao","Zheng","Luan","Jiao","E","E","Yu","Ye","Bu","Qiao","Qun","Feng","Feng","Nao","Li","You","Xian","Hong","Dao","Shen","Cheng","Tu","Geng","Jun","Hao","Xia","Yin","Yu"],mT[93]=["Lang","Kan","Lao","Lai","Xian","Que","Kong","Chong","Chong","Ta","Lin","Hua","Ju","Lai","Qi","Min","Kun","Kun","Zu","Gu","Cui","Ya","Ya","Gang","Lun","Lun","Leng","Jue","Duo","Zheng","Guo","Yin","Dong","Han","Zheng","Wei","Yao","Pi","Yan","Song","Jie","Beng","Zu","Jue","Dong","Zhan","Gu","Yin",null,"Ze","Huang","Yu","Wei","Yang","Feng","Qiu","Dun","Ti","Yi","Zhi","Shi","Zai","Yao","E","Zhu","Kan","Lu","Yan","Mei","Gan","Ji","Ji","Huan","Ting","Sheng","Mei","Qian","Wu","Yu","Zong","Lan","Jue","Yan","Yan","Wei","Zong","Cha","Sui","Rong","Yamashina","Qin","Yu","Kewashii","Lou","Tu","Dui","Xi","Weng","Cang","Dang","Hong","Jie","Ai","Liu","Wu","Song","Qiao","Zi","Wei","Beng","Dian","Cuo","Qian","Yong","Nie","Cuo","Ji",null,"Tao","Song","Zong","Jiang","Liao","Kang","Chan","Die","Cen","Ding","Tu","Lou","Zhang","Zhan","Zhan","Ao","Cao","Qu","Qiang","Zui","Zui","Dao","Dao","Xi","Yu","Bo","Long","Xiang","Ceng","Bo","Qin","Jiao","Yan","Lao","Zhan","Lin","Liao","Liao","Jin","Deng","Duo","Zun","Jiao","Gui","Yao","Qiao","Yao","Jue","Zhan","Yi","Xue","Nao","Ye","Ye","Yi","E","Xian","Ji","Xie","Ke","Xi","Di","Ao","Zui",null,"Ni","Rong","Dao","Ling","Za","Yu","Yue","Yin",null,"Jie","Li","Sui","Long","Long","Dian","Ying","Xi","Ju","Chan","Ying","Kui","Yan","Wei","Nao","Quan","Chao","Cuan","Luan","Dian","Dian",null,"Yan","Yan","Yan","Nao","Yan","Chuan","Gui","Chuan","Zhou","Huang","Jing","Xun","Chao","Chao","Lie","Gong","Zuo","Qiao","Ju","Gong","Kek","Wu","Pwu","Pwu","Chai","Qiu","Qiu","Ji","Yi","Si","Ba","Zhi","Zhao","Xiang","Yi","Jin","Xun","Juan","Phas","Xun","Jin","Fu"],mT[94]=["Za","Bi","Shi","Bu","Ding","Shuai","Fan","Nie","Shi","Fen","Pa","Zhi","Xi","Hu","Dan","Wei","Zhang","Tang","Dai","Ma","Pei","Pa","Tie","Fu","Lian","Zhi","Zhou","Bo","Zhi","Di","Mo","Yi","Yi","Ping","Qia","Juan","Ru","Shuai","Dai","Zheng","Shui","Qiao","Zhen","Shi","Qun","Xi","Bang","Dai","Gui","Chou","Ping","Zhang","Sha","Wan","Dai","Wei","Chang","Sha","Qi","Ze","Guo","Mao","Du","Hou","Zheng","Xu","Mi","Wei","Wo","Fu","Yi","Bang","Ping","Tazuna","Gong","Pan","Huang","Dao","Mi","Jia","Teng","Hui","Zhong","Shan","Man","Mu","Biao","Guo","Ze","Mu","Bang","Zhang","Jiong","Chan","Fu","Zhi","Hu","Fan","Chuang","Bi","Hei",null,"Mi","Qiao","Chan","Fen","Meng","Bang","Chou","Mie","Chu","Jie","Xian","Lan","Gan","Ping","Nian","Qian","Bing","Bing","Xing","Gan","Yao","Huan","You","You","Ji","Guang","Pi","Ting","Ze","Guang","Zhuang","Mo","Qing","Bi","Qin","Dun","Chuang","Gui","Ya","Bai","Jie","Xu","Lu","Wu",null,"Ku","Ying","Di","Pao","Dian","Ya","Miao","Geng","Ci","Fu","Tong","Pang","Fei","Xiang","Yi","Zhi","Tiao","Zhi","Xiu","Du","Zuo","Xiao","Tu","Gui","Ku","Pang","Ting","You","Bu","Ding","Cheng","Lai","Bei","Ji","An","Shu","Kang","Yong","Tuo","Song","Shu","Qing","Yu","Yu","Miao","Sou","Ce","Xiang","Fei","Jiu","He","Hui","Liu","Sha","Lian","Lang","Sou","Jian","Pou","Qing","Jiu","Jiu","Qin","Ao","Kuo","Lou","Yin","Liao","Dai","Lu","Yi","Chu","Chan","Tu","Si","Xin","Miao","Chang","Wu","Fei","Guang","Koc","Kuai","Bi","Qiang","Xie","Lin","Lin","Liao","Lu",null,"Ying","Xian","Ting","Yong","Li","Ting","Yin","Xun","Yan","Ting","Di","Po","Jian","Hui","Nai","Hui","Gong","Nian"],mT[95]=["Kai","Bian","Yi","Qi","Nong","Fen","Ju","Yan","Yi","Zang","Bi","Yi","Yi","Er","San","Shi","Er","Shi","Shi","Gong","Diao","Yin","Hu","Fu","Hong","Wu","Tui","Chi","Jiang","Ba","Shen","Di","Zhang","Jue","Tao","Fu","Di","Mi","Xian","Hu","Chao","Nu","Jing","Zhen","Yi","Mi","Quan","Wan","Shao","Ruo","Xuan","Jing","Dun","Zhang","Jiang","Qiang","Peng","Dan","Qiang","Bi","Bi","She","Dan","Jian","Gou","Sei","Fa","Bi","Kou","Nagi","Bie","Xiao","Dan","Kuo","Qiang","Hong","Mi","Kuo","Wan","Jue","Ji","Ji","Gui","Dang","Lu","Lu","Tuan","Hui","Zhi","Hui","Hui","Yi","Yi","Yi","Yi","Huo","Huo","Shan","Xing","Wen","Tong","Yan","Yan","Yu","Chi","Cai","Biao","Diao","Bin","Peng","Yong","Piao","Zhang","Ying","Chi","Chi","Zhuo","Tuo","Ji","Pang","Zhong","Yi","Wang","Che","Bi","Chi","Ling","Fu","Wang","Zheng","Cu","Wang","Jing","Dai","Xi","Xun","Hen","Yang","Huai","Lu","Hou","Wa","Cheng","Zhi","Xu","Jing","Tu","Cong",null,"Lai","Cong","De","Pai","Xi",null,"Qi","Chang","Zhi","Cong","Zhou","Lai","Yu","Xie","Jie","Jian","Chi","Jia","Bian","Huang","Fu","Xun","Wei","Pang","Yao","Wei","Xi","Zheng","Piao","Chi","De","Zheng","Zheng","Bie","De","Chong","Che","Jiao","Wei","Jiao","Hui","Mei","Long","Xiang","Bao","Qu","Xin","Shu","Bi","Yi","Le","Ren","Dao","Ding","Gai","Ji","Ren","Ren","Chan","Tan","Te","Te","Gan","Qi","Shi","Cun","Zhi","Wang","Mang","Xi","Fan","Ying","Tian","Min","Min","Zhong","Chong","Wu","Ji","Wu","Xi","Ye","You","Wan","Cong","Zhong","Kuai","Yu","Bian","Zhi","Qi","Cui","Chen","Tai","Tun","Qian","Nian","Hun","Xiong","Niu","Wang","Xian","Xin","Kang","Hu","Kai","Fen"],mT[96]=["Huai","Tai","Song","Wu","Ou","Chang","Chuang","Ju","Yi","Bao","Chao","Min","Pei","Zuo","Zen","Yang","Kou","Ban","Nu","Nao","Zheng","Pa","Bu","Tie","Gu","Hu","Ju","Da","Lian","Si","Chou","Di","Dai","Yi","Tu","You","Fu","Ji","Peng","Xing","Yuan","Ni","Guai","Fu","Xi","Bi","You","Qie","Xuan","Cong","Bing","Huang","Xu","Chu","Pi","Xi","Xi","Tan","Koraeru","Zong","Dui",null,"Ki","Yi","Chi","Ren","Xun","Shi","Xi","Lao","Heng","Kuang","Mu","Zhi","Xie","Lian","Tiao","Huang","Die","Hao","Kong","Gui","Heng","Xi","Xiao","Shu","S","Kua","Qiu","Yang","Hui","Hui","Chi","Jia","Yi","Xiong","Guai","Lin","Hui","Zi","Xu","Chi","Xiang","Nu","Hen","En","Ke","Tong","Tian","Gong","Quan","Xi","Qia","Yue","Peng","Ken","De","Hui","E","Kyuu","Tong","Yan","Kai","Ce","Nao","Yun","Mang","Yong","Yong","Yuan","Pi","Kun","Qiao","Yue","Yu","Yu","Jie","Xi","Zhe","Lin","Ti","Han","Hao","Qie","Ti","Bu","Yi","Qian","Hui","Xi","Bei","Man","Yi","Heng","Song","Quan","Cheng","Hui","Wu","Wu","You","Li","Liang","Huan","Cong","Yi","Yue","Li","Nin","Nao","E","Que","Xuan","Qian","Wu","Min","Cong","Fei","Bei","Duo","Cui","Chang","Men","Li","Ji","Guan","Guan","Xing","Dao","Qi","Kong","Tian","Lun","Xi","Kan","Kun","Ni","Qing","Chou","Dun","Guo","Chan","Liang","Wan","Yuan","Jin","Ji","Lin","Yu","Huo","He","Quan","Tan","Ti","Ti","Nie","Wang","Chuo","Bu","Hun","Xi","Tang","Xin","Wei","Hui","E","Rui","Zong","Jian","Yong","Dian","Ju","Can","Cheng","De","Bei","Qie","Can","Dan","Guan","Duo","Nao","Yun","Xiang","Zhui","Die","Huang","Chun","Qiong","Re","Xing","Ce","Bian","Hun","Zong","Ti"],mT[97]=["Qiao","Chou","Bei","Xuan","Wei","Ge","Qian","Wei","Yu","Yu","Bi","Xuan","Huan","Min","Bi","Yi","Mian","Yong","Kai","Dang","Yin","E","Chen","Mou","Ke","Ke","Yu","Ai","Qie","Yan","Nuo","Gan","Yun","Zong","Sai","Leng","Fen",null,"Kui","Kui","Que","Gong","Yun","Su","Su","Qi","Yao","Song","Huang","Ji","Gu","Ju","Chuang","Ni","Xie","Kai","Zheng","Yong","Cao","Sun","Shen","Bo","Kai","Yuan","Xie","Hun","Yong","Yang","Li","Sao","Tao","Yin","Ci","Xu","Qian","Tai","Huang","Yun","Shen","Ming",null,"She","Cong","Piao","Mo","Mu","Guo","Chi","Can","Can","Can","Cui","Min","Te","Zhang","Tong","Ao","Shuang","Man","Guan","Que","Zao","Jiu","Hui","Kai","Lian","Ou","Song","Jin","Yin","Lu","Shang","Wei","Tuan","Man","Qian","She","Yong","Qing","Kang","Di","Zhi","Lou","Juan","Qi","Qi","Yu","Ping","Liao","Cong","You","Chong","Zhi","Tong","Cheng","Qi","Qu","Peng","Bei","Bie","Chun","Jiao","Zeng","Chi","Lian","Ping","Kui","Hui","Qiao","Cheng","Yin","Yin","Xi","Xi","Dan","Tan","Duo","Dui","Dui","Su","Jue","Ce","Xiao","Fan","Fen","Lao","Lao","Chong","Han","Qi","Xian","Min","Jing","Liao","Wu","Can","Jue","Cu","Xian","Tan","Sheng","Pi","Yi","Chu","Xian","Nao","Dan","Tan","Jing","Song","Han","Jiao","Wai","Huan","Dong","Qin","Qin","Qu","Cao","Ken","Xie","Ying","Ao","Mao","Yi","Lin","Se","Jun","Huai","Men","Lan","Ai","Lin","Yan","Gua","Xia","Chi","Yu","Yin","Dai","Meng","Ai","Meng","Dui","Qi","Mo","Lan","Men","Chou","Zhi","Nuo","Nuo","Yan","Yang","Bo","Zhi","Kuang","Kuang","You","Fu","Liu","Mie","Cheng",null,"Chan","Meng","Lan","Huai","Xuan","Rang","Chan","Ji","Ju","Huan","She","Yi"],mT[98]=["Lian","Nan","Mi","Tang","Jue","Gang","Gang","Gang","Ge","Yue","Wu","Jian","Xu","Shu","Rong","Xi","Cheng","Wo","Jie","Ge","Jian","Qiang","Huo","Qiang","Zhan","Dong","Qi","Jia","Die","Zei","Jia","Ji","Shi","Kan","Ji","Kui","Gai","Deng","Zhan","Chuang","Ge","Jian","Jie","Yu","Jian","Yan","Lu","Xi","Zhan","Xi","Xi","Chuo","Dai","Qu","Hu","Hu","Hu","E","Shi","Li","Mao","Hu","Li","Fang","Suo","Bian","Dian","Jiong","Shang","Yi","Yi","Shan","Hu","Fei","Yan","Shou","T","Cai","Zha","Qiu","Le","Bu","Ba","Da","Reng","Fu","Hameru","Zai","Tuo","Zhang","Diao","Kang","Yu","Ku","Han","Shen","Cha","Yi","Gu","Kou","Wu","Tuo","Qian","Zhi","Ren","Kuo","Men","Sao","Yang","Niu","Ban","Che","Rao","Xi","Qian","Ban","Jia","Yu","Fu","Ao","Xi","Pi","Zhi","Zi","E","Dun","Zhao","Cheng","Ji","Yan","Kuang","Bian","Chao","Ju","Wen","Hu","Yue","Jue","Ba","Qin","Zhen","Zheng","Yun","Wan","Nu","Yi","Shu","Zhua","Pou","Tou","Dou","Kang","Zhe","Pou","Fu","Pao","Ba","Ao","Ze","Tuan","Kou","Lun","Qiang",null,"Hu","Bao","Bing","Zhi","Peng","Tan","Pu","Pi","Tai","Yao","Zhen","Zha","Yang","Bao","He","Ni","Yi","Di","Chi","Pi","Za","Mo","Mo","Shen","Ya","Chou","Qu","Min","Chu","Jia","Fu","Zhan","Zhu","Dan","Chai","Mu","Nian","La","Fu","Pao","Ban","Pai","Ling","Na","Guai","Qian","Ju","Tuo","Ba","Tuo","Tuo","Ao","Ju","Zhuo","Pan","Zhao","Bai","Bai","Di","Ni","Ju","Kuo","Long","Jian",null,"Yong","Lan","Ning","Bo","Ze","Qian","Hen","Gua","Shi","Jie","Zheng","Nin","Gong","Gong","Quan","Shuan","Cun","Zan","Kao","Chi","Xie","Ce","Hui","Pin","Zhuai","Shi","Na"],mT[99]=["Bo","Chi","Gua","Zhi","Kuo","Duo","Duo","Zhi","Qie","An","Nong","Zhen","Ge","Jiao","Ku","Dong","Ru","Tiao","Lie","Zha","Lu","Die","Wa","Jue","Mushiru","Ju","Zhi","Luan","Ya","Zhua","Ta","Xie","Nao","Dang","Jiao","Zheng","Ji","Hui","Xun","Ku","Ai","Tuo","Nuo","Cuo","Bo","Geng","Ti","Zhen","Cheng","Suo","Suo","Keng","Mei","Long","Ju","Peng","Jian","Yi","Ting","Shan","Nuo","Wan","Xie","Cha","Feng","Jiao","Wu","Jun","Jiu","Tong","Kun","Huo","Tu","Zhuo","Pou","Le","Ba","Han","Shao","Nie","Juan","Ze","Song","Ye","Jue","Bu","Huan","Bu","Zun","Yi","Zhai","Lu","Sou","Tuo","Lao","Sun","Bang","Jian","Huan","Dao",null,"Wan","Qin","Peng","She","Lie","Min","Men","Fu","Bai","Ju","Dao","Wo","Ai","Juan","Yue","Zong","Chen","Chui","Jie","Tu","Ben","Na","Nian","Nuo","Zu","Wo","Xi","Xian","Cheng","Dian","Sao","Lun","Qing","Gang","Duo","Shou","Diao","Pou","Di","Zhang","Gun","Ji","Tao","Qia","Qi","Pai","Shu","Qian","Ling","Yi","Ya","Jue","Zheng","Liang","Gua","Yi","Huo","Shan","Zheng","Lue","Cai","Tan","Che","Bing","Jie","Ti","Kong","Tui","Yan","Cuo","Zou","Ju","Tian","Qian","Ken","Bai","Shou","Jie","Lu","Guo","Haba",null,"Zhi","Dan","Mang","Xian","Sao","Guan","Peng","Yuan","Nuo","Jian","Zhen","Jiu","Jian","Yu","Yan","Kui","Nan","Hong","Rou","Pi","Wei","Sai","Zou","Xuan","Miao","Ti","Nie","Cha","Shi","Zong","Zhen","Yi","Shun","Heng","Bian","Yang","Huan","Yan","Zuan","An","Xu","Ya","Wo","Ke","Chuai","Ji","Ti","La","La","Cheng","Kai","Jiu","Jiu","Tu","Jie","Hui","Geng","Chong","Shuo","She","Xie","Yuan","Qian","Ye","Cha","Zha","Bei","Yao",null,null,"Lan","Wen","Qin"],mT[100]=["Chan","Ge","Lou","Zong","Geng","Jiao","Gou","Qin","Yong","Que","Chou","Chi","Zhan","Sun","Sun","Bo","Chu","Rong","Beng","Cuo","Sao","Ke","Yao","Dao","Zhi","Nu","Xie","Jian","Sou","Qiu","Gao","Xian","Shuo","Sang","Jin","Mie","E","Chui","Nuo","Shan","Ta","Jie","Tang","Pan","Ban","Da","Li","Tao","Hu","Zhi","Wa","Xia","Qian","Wen","Qiang","Tian","Zhen","E","Xi","Nuo","Quan","Cha","Zha","Ge","Wu","En","She","Kang","She","Shu","Bai","Yao","Bin","Sou","Tan","Sa","Chan","Suo","Liao","Chong","Chuang","Guo","Bing","Feng","Shuai","Di","Qi","Sou","Zhai","Lian","Tang","Chi","Guan","Lu","Luo","Lou","Zong","Gai","Hu","Zha","Chuang","Tang","Hua","Cui","Nai","Mo","Jiang","Gui","Ying","Zhi","Ao","Zhi","Nie","Man","Shan","Kou","Shu","Suo","Tuan","Jiao","Mo","Mo","Zhe","Xian","Keng","Piao","Jiang","Yin","Gou","Qian","Lue","Ji","Ying","Jue","Pie","Pie","Lao","Dun","Xian","Ruan","Kui","Zan","Yi","Xun","Cheng","Cheng","Sa","Nao","Heng","Si","Qian","Huang","Da","Zun","Nian","Lin","Zheng","Hui","Zhuang","Jiao","Ji","Cao","Dan","Dan","Che","Bo","Che","Jue","Xiao","Liao","Ben","Fu","Qiao","Bo","Cuo","Zhuo","Zhuan","Tuo","Pu","Qin","Dun","Nian",null,"Xie","Lu","Jiao","Cuan","Ta","Han","Qiao","Zhua","Jian","Gan","Yong","Lei","Kuo","Lu","Shan","Zhuo","Ze","Pu","Chuo","Ji","Dang","Suo","Cao","Qing","Jing","Huan","Jie","Qin","Kuai","Dan","Xi","Ge","Pi","Bo","Ao","Ju","Ye",null,"Mang","Sou","Mi","Ji","Tai","Zhuo","Dao","Xing","Lan","Ca","Ju","Ye","Ru","Ye","Ye","Ni","Hu","Ji","Bin","Ning","Ge","Zhi","Jie","Kuo","Mo","Jian","Xie","Lie","Tan","Bai","Sou","Lu","Lue","Rao","Zhi"],mT[101]=["Pan","Yang","Lei","Sa","Shu","Zan","Nian","Xian","Jun","Huo","Li","La","Han","Ying","Lu","Long","Qian","Qian","Zan","Qian","Lan","San","Ying","Mei","Rang","Chan",null,"Cuan","Xi","She","Luo","Jun","Mi","Li","Zan","Luan","Tan","Zuan","Li","Dian","Wa","Dang","Jiao","Jue","Lan","Li","Nang","Zhi","Gui","Gui","Qi","Xin","Pu","Sui","Shou","Kao","You","Gai","Yi","Gong","Gan","Ban","Fang","Zheng","Bo","Dian","Kou","Min","Wu","Gu","He","Ce","Xiao","Mi","Chu","Ge","Di","Xu","Jiao","Min","Chen","Jiu","Zhen","Duo","Yu","Chi","Ao","Bai","Xu","Jiao","Duo","Lian","Nie","Bi","Chang","Dian","Duo","Yi","Gan","San","Ke","Yan","Dun","Qi","Dou","Xiao","Duo","Jiao","Jing","Yang","Xia","Min","Shu","Ai","Qiao","Ai","Zheng","Di","Zhen","Fu","Shu","Liao","Qu","Xiong","Xi","Jiao","Sen","Jiao","Zhuo","Yi","Lian","Bi","Li","Xiao","Xiao","Wen","Xue","Qi","Qi","Zhai","Bin","Jue","Zhai",null,"Fei","Ban","Ban","Lan","Yu","Lan","Wei","Dou","Sheng","Liao","Jia","Hu","Xie","Jia","Yu","Zhen","Jiao","Wo","Tou","Chu","Jin","Chi","Yin","Fu","Qiang","Zhan","Qu","Zhuo","Zhan","Duan","Zhuo","Si","Xin","Zhuo","Zhuo","Qin","Lin","Zhuo","Chu","Duan","Zhu","Fang","Xie","Hang","Yu","Shi","Pei","You","Mye","Pang","Qi","Zhan","Mao","Lu","Pei","Pi","Liu","Fu","Fang","Xuan","Jing","Jing","Ni","Zu","Zhao","Yi","Liu","Shao","Jian","Es","Yi","Qi","Zhi","Fan","Piao","Fan","Zhan","Guai","Sui","Yu","Wu","Ji","Ji","Ji","Huo","Ri","Dan","Jiu","Zhi","Zao","Xie","Tiao","Xun","Xu","Xu","Xu","Gan","Han","Tai","Di","Xu","Chan","Shi","Kuang","Yang","Shi","Wang","Min","Min","Tun","Chun","Wu"],mT[102]=["Yun","Bei","Ang","Ze","Ban","Jie","Kun","Sheng","Hu","Fang","Hao","Gui","Chang","Xuan","Ming","Hun","Fen","Qin","Hu","Yi","Xi","Xin","Yan","Ze","Fang","Tan","Shen","Ju","Yang","Zan","Bing","Xing","Ying","Xuan","Pei","Zhen","Ling","Chun","Hao","Mei","Zuo","Mo","Bian","Xu","Hun","Zhao","Zong","Shi","Shi","Yu","Fei","Die","Mao","Ni","Chang","Wen","Dong","Ai","Bing","Ang","Zhou","Long","Xian","Kuang","Tiao","Chao","Shi","Huang","Huang","Xuan","Kui","Xu","Jiao","Jin","Zhi","Jin","Shang","Tong","Hong","Yan","Gai","Xiang","Shai","Xiao","Ye","Yun","Hui","Han","Han","Jun","Wan","Xian","Kun","Zhou","Xi","Cheng","Sheng","Bu","Zhe","Zhe","Wu","Han","Hui","Hao","Chen","Wan","Tian","Zhuo","Zui","Zhou","Pu","Jing","Xi","Shan","Yi","Xi","Qing","Qi","Jing","Gui","Zhen","Yi","Zhi","An","Wan","Lin","Liang","Chang","Wang","Xiao","Zan","Hi","Xuan","Xuan","Yi","Xia","Yun","Hui","Fu","Min","Kui","He","Ying","Du","Wei","Shu","Qing","Mao","Nan","Jian","Nuan","An","Yang","Chun","Yao","Suo","Jin","Ming","Jiao","Kai","Gao","Weng","Chang","Qi","Hao","Yan","Li","Ai","Ji","Gui","Men","Zan","Xie","Hao","Mu","Mo","Cong","Ni","Zhang","Hui","Bao","Han","Xuan","Chuan","Liao","Xian","Dan","Jing","Pie","Lin","Tun","Xi","Yi","Ji","Huang","Tai","Ye","Ye","Li","Tan","Tong","Xiao","Fei","Qin","Zhao","Hao","Yi","Xiang","Xing","Sen","Jiao","Bao","Jing","Yian","Ai","Ye","Ru","Shu","Meng","Xun","Yao","Pu","Li","Chen","Kuang","Die",null,"Yan","Huo","Lu","Xi","Rong","Long","Nang","Luo","Luan","Shai","Tang","Yan","Chu","Yue","Yue","Qu","Yi","Geng","Ye","Hu","He","Shu","Cao","Cao","Noboru","Man","Ceng","Ceng","Ti"],mT[103]=["Zui","Can","Xu","Hui","Yin","Qie","Fen","Pi","Yue","You","Ruan","Peng","Ban","Fu","Ling","Fei","Qu",null,"Nu","Tiao","Shuo","Zhen","Lang","Lang","Juan","Ming","Huang","Wang","Tun","Zhao","Ji","Qi","Ying","Zong","Wang","Tong","Lang",null,"Meng","Long","Mu","Deng","Wei","Mo","Ben","Zha","Zhu","Shu",null,"Zhu","Ren","Ba","Po","Duo","Duo","Dao","Li","Qiu","Ji","Jiu","Bi","Xiu","Ting","Ci","Sha","Eburi","Za","Quan","Qian","Yu","Gan","Wu","Cha","Shan","Xun","Fan","Wu","Zi","Li","Xing","Cai","Cun","Ren","Shao","Tuo","Di","Zhang","Mang","Chi","Yi","Gu","Gong","Du","Yi","Qi","Shu","Gang","Tiao","Moku","Soma","Tochi","Lai","Sugi","Mang","Yang","Ma","Miao","Si","Yuan","Hang","Fei","Bei","Jie","Dong","Gao","Yao","Xian","Chu","Qun","Pa","Shu","Hua","Xin","Chou","Zhu","Chou","Song","Ban","Song","Ji","Yue","Jin","Gou","Ji","Mao","Pi","Bi","Wang","Ang","Fang","Fen","Yi","Fu","Nan","Xi","Hu","Ya","Dou","Xun","Zhen","Yao","Lin","Rui","E","Mei","Zhao","Guo","Zhi","Cong","Yun","Waku","Dou","Shu","Zao",null,"Li","Haze","Jian","Cheng","Matsu","Qiang","Feng","Nan","Xiao","Xian","Ku","Ping","Yi","Xi","Zhi","Guai","Xiao","Jia","Jia","Gou","Fu","Mo","Yi","Ye","Ye","Shi","Nie","Bi","Duo","Yi","Ling","Bing","Ni","La","He","Pan","Fan","Zhong","Dai","Ci","Yang","Fu","Bo","Mou","Gan","Qi","Ran","Rou","Mao","Zhao","Song","Zhe","Xia","You","Shen","Ju","Tuo","Zuo","Nan","Ning","Yong","Di","Zhi","Zha","Cha","Dan","Gu","Pu","Jiu","Ao","Fu","Jian","Bo","Duo","Ke","Nai","Zhu","Bi","Liu","Chai","Zha","Si","Zhu","Pei","Shi","Guai","Cha","Yao","Jue","Jiu","Shi"],mT[104]=["Zhi","Liu","Mei","Hoy","Rong","Zha",null,"Biao","Zhan","Jie","Long","Dong","Lu","Sayng","Li","Lan","Yong","Shu","Xun","Shuan","Qi","Zhen","Qi","Li","Yi","Xiang","Zhen","Li","Su","Gua","Kan","Bing","Ren","Xiao","Bo","Ren","Bing","Zi","Chou","Yi","Jie","Xu","Zhu","Jian","Zui","Er","Er","You","Fa","Gong","Kao","Lao","Zhan","Li","Yin","Yang","He","Gen","Zhi","Chi","Ge","Zai","Luan","Fu","Jie","Hang","Gui","Tao","Guang","Wei","Kuang","Ru","An","An","Juan","Yi","Zhuo","Ku","Zhi","Qiong","Tong","Sang","Sang","Huan","Jie","Jiu","Xue","Duo","Zhui","Yu","Zan","Kasei","Ying","Masu",null,"Zhan","Ya","Nao","Zhen","Dang","Qi","Qiao","Hua","Kuai","Jiang","Zhuang","Xun","Suo","Sha","Zhen","Bei","Ting","Gua","Jing","Bo","Ben","Fu","Rui","Tong","Jue","Xi","Lang","Liu","Feng","Qi","Wen","Jun","Gan","Cu","Liang","Qiu","Ting","You","Mei","Bang","Long","Peng","Zhuang","Di","Xuan","Tu","Zao","Ao","Gu","Bi","Di","Han","Zi","Zhi","Ren","Bei","Geng","Jian","Huan","Wan","Nuo","Jia","Tiao","Ji","Xiao","Lu","Huan","Shao","Cen","Fen","Song","Meng","Wu","Li","Li","Dou","Cen","Ying","Suo","Ju","Ti","Jie","Kun","Zhuo","Shu","Chan","Fan","Wei","Jing","Li","Bing","Fumoto","Shikimi","Tao","Zhi","Lai","Lian","Jian","Zhuo","Ling","Li","Qi","Bing","Zhun","Cong","Qian","Mian","Qi","Qi","Cai","Gun","Chan","Te","Fei","Pai","Bang","Pou","Hun","Zong","Cheng","Zao","Ji","Li","Peng","Yu","Yu","Gu","Hun","Dong","Tang","Gang","Wang","Di","Xi","Fan","Cheng","Zhan","Qi","Yuan","Yan","Yu","Quan","Yi","Sen","Ren","Chui","Leng","Qi","Zhuo","Fu","Ke","Lai","Zou","Zou","Zhuo","Guan","Fen","Fen","Chen","Qiong","Nie"],mT[105]=["Wan","Guo","Lu","Hao","Jie","Yi","Chou","Ju","Ju","Cheng","Zuo","Liang","Qiang","Zhi","Zhui","Ya","Ju","Bei","Jiao","Zhuo","Zi","Bin","Peng","Ding","Chu","Chang","Kunugi","Momiji","Jian","Gui","Xi","Du","Qian","Kunugi","Soko","Shide","Luo","Zhi","Ken","Myeng","Tafu",null,"Peng","Zhan",null,"Tuo","Sen","Duo","Ye","Fou","Wei","Wei","Duan","Jia","Zong","Jian","Yi","Shen","Xi","Yan","Yan","Chuan","Zhan","Chun","Yu","He","Zha","Wo","Pian","Bi","Yao","Huo","Xu","Ruo","Yang","La","Yan","Ben","Hun","Kui","Jie","Kui","Si","Feng","Xie","Tuo","Zhi","Jian","Mu","Mao","Chu","Hu","Hu","Lian","Leng","Ting","Nan","Yu","You","Mei","Song","Xuan","Xuan","Ying","Zhen","Pian","Ye","Ji","Jie","Ye","Chu","Shun","Yu","Cou","Wei","Mei","Di","Ji","Jie","Kai","Qiu","Ying","Rou","Heng","Lou","Le","Hazou","Katsura","Pin","Muro","Gai","Tan","Lan","Yun","Yu","Chen","Lu","Ju","Sakaki",null,"Pi","Xie","Jia","Yi","Zhan","Fu","Nai","Mi","Lang","Rong","Gu","Jian","Ju","Ta","Yao","Zhen","Bang","Sha","Yuan","Zi","Ming","Su","Jia","Yao","Jie","Huang","Gan","Fei","Zha","Qian","Ma","Sun","Yuan","Xie","Rong","Shi","Zhi","Cui","Yun","Ting","Liu","Rong","Tang","Que","Zhai","Si","Sheng","Ta","Ke","Xi","Gu","Qi","Kao","Gao","Sun","Pan","Tao","Ge","Xun","Dian","Nou","Ji","Shuo","Gou","Chui","Qiang","Cha","Qian","Huai","Mei","Xu","Gang","Gao","Zhuo","Tuo","Hashi","Yang","Dian","Jia","Jian","Zui","Kashi","Ori","Bin","Zhu",null,"Xi","Qi","Lian","Hui","Yong","Qian","Guo","Gai","Gai","Tuan","Hua","Cu","Sen","Cui","Beng","You","Hu","Jiang","Hu","Huan","Kui","Yi","Nie","Gao","Kang","Gui","Gui","Cao","Man","Jin"],mT[106]=["Di","Zhuang","Le","Lang","Chen","Cong","Li","Xiu","Qing","Shuang","Fan","Tong","Guan","Ji","Suo","Lei","Lu","Liang","Mi","Lou","Chao","Su","Ke","Shu","Tang","Biao","Lu","Jiu","Shu","Zha","Shu","Zhang","Men","Mo","Niao","Yang","Tiao","Peng","Zhu","Sha","Xi","Quan","Heng","Jian","Cong",null,"Hokuso","Qiang","Tara","Ying","Er","Xin","Zhi","Qiao","Zui","Cong","Pu","Shu","Hua","Kui","Zhen","Zun","Yue","Zhan","Xi","Xun","Dian","Fa","Gan","Mo","Wu","Qiao","Nao","Lin","Liu","Qiao","Xian","Run","Fan","Zhan","Tuo","Lao","Yun","Shun","Tui","Cheng","Tang","Meng","Ju","Cheng","Su","Jue","Jue","Tan","Hui","Ji","Nuo","Xiang","Tuo","Ning","Rui","Zhu","Chuang","Zeng","Fen","Qiong","Ran","Heng","Cen","Gu","Liu","Lao","Gao","Chu","Zusa","Nude","Ca","San","Ji","Dou","Shou","Lu",null,null,"Yuan","Ta","Shu","Jiang","Tan","Lin","Nong","Yin","Xi","Sui","Shan","Zui","Xuan","Cheng","Gan","Ju","Zui","Yi","Qin","Pu","Yan","Lei","Feng","Hui","Dang","Ji","Sui","Bo","Bi","Ding","Chu","Zhua","Kuai","Ji","Jie","Jia","Qing","Zhe","Jian","Qiang","Dao","Yi","Biao","Song","She","Lin","Kunugi","Cha","Meng","Yin","Tao","Tai","Mian","Qi","Toan","Bin","Huo","Ji","Qian","Mi","Ning","Yi","Gao","Jian","Yin","Er","Qing","Yan","Qi","Mi","Zhao","Gui","Chun","Ji","Kui","Po","Deng","Chu",null,"Mian","You","Zhi","Guang","Qian","Lei","Lei","Sa","Lu","Li","Cuan","Lu","Mie","Hui","Ou","Lu","Jie","Gao","Du","Yuan","Li","Fei","Zhuo","Sou","Lian","Tamo","Chu",null,"Zhu","Lu","Yan","Li","Zhu","Chen","Jie","E","Su","Huai","Nie","Yu","Long","Lai",null,"Xian","Kwi","Ju","Xiao","Ling","Ying","Jian","Yin","You","Ying"],mT[107]=["Xiang","Nong","Bo","Chan","Lan","Ju","Shuang","She","Wei","Cong","Quan","Qu","Cang",null,"Yu","Luo","Li","Zan","Luan","Dang","Jue","Em","Lan","Lan","Zhu","Lei","Li","Ba","Nang","Yu","Ling","Tsuki","Qian","Ci","Huan","Xin","Yu","Yu","Qian","Ou","Xu","Chao","Chu","Chi","Kai","Yi","Jue","Xi","Xu","Xia","Yu","Kuai","Lang","Kuan","Shuo","Xi","Ai","Yi","Qi","Hu","Chi","Qin","Kuan","Kan","Kuan","Kan","Chuan","Sha","Gua","Yin","Xin","Xie","Yu","Qian","Xiao","Yi","Ge","Wu","Tan","Jin","Ou","Hu","Ti","Huan","Xu","Pen","Xi","Xiao","Xu","Xi","Sen","Lian","Chu","Yi","Kan","Yu","Chuo","Huan","Zhi","Zheng","Ci","Bu","Wu","Qi","Bu","Bu","Wai","Ju","Qian","Chi","Se","Chi","Se","Zhong","Sui","Sui","Li","Cuo","Yu","Li","Gui","Dai","Dai","Si","Jian","Zhe","Mo","Mo","Yao","Mo","Cu","Yang","Tian","Sheng","Dai","Shang","Xu","Xun","Shu","Can","Jue","Piao","Qia","Qiu","Su","Qing","Yun","Lian","Yi","Fou","Zhi","Ye","Can","Hun","Dan","Ji","Ye","Zhen","Yun","Wen","Chou","Bin","Ti","Jin","Shang","Yin","Diao","Cu","Hui","Cuan","Yi","Dan","Du","Jiang","Lian","Bin","Du","Tsukusu","Jian","Shu","Ou","Duan","Zhu","Yin","Qing","Yi","Sha","Que","Ke","Yao","Jun","Dian","Hui","Hui","Gu","Que","Ji","Yi","Ou","Hui","Duan","Yi","Xiao","Wu","Guan","Mu","Mei","Mei","Ai","Zuo","Du","Yu","Bi","Bi","Bi","Pi","Pi","Bi","Chan","Mao",null,null,"Pu","Mushiru","Jia","Zhan","Sai","Mu","Tuo","Xun","Er","Rong","Xian","Ju","Mu","Hao","Qiu","Dou","Mushiru","Tan","Pei","Ju","Duo","Cui","Bi","San",null,"Mao","Sui","Yu","Yu","Tuo","He","Jian","Ta","San"],mT[108]=["Lu","Mu","Li","Tong","Rong","Chang","Pu","Luo","Zhan","Sao","Zhan","Meng","Luo","Qu","Die","Shi","Di","Min","Jue","Mang","Qi","Pie","Nai","Qi","Dao","Xian","Chuan","Fen","Ri","Nei",null,"Fu","Shen","Dong","Qing","Qi","Yin","Xi","Hai","Yang","An","Ya","Ke","Qing","Ya","Dong","Dan","Lu","Qing","Yang","Yun","Yun","Shui","San","Zheng","Bing","Yong","Dang","Shitamizu","Le","Ni","Tun","Fan","Gui","Ting","Zhi","Qiu","Bin","Ze","Mian","Cuan","Hui","Diao","Han","Cha","Zhuo","Chuan","Wan","Fan","Dai","Xi","Tuo","Mang","Qiu","Qi","Shan","Pai","Han","Qian","Wu","Wu","Xun","Si","Ru","Gong","Jiang","Chi","Wu","Tsuchi",null,"Tang","Zhi","Chi","Qian","Mi","Yu","Wang","Qing","Jing","Rui","Jun","Hong","Tai","Quan","Ji","Bian","Bian","Gan","Wen","Zhong","Fang","Xiong","Jue","Hang","Niou","Qi","Fen","Xu","Xu","Qin","Yi","Wo","Yun","Yuan","Hang","Yan","Shen","Chen","Dan","You","Dun","Hu","Huo","Qie","Mu","Rou","Mei","Ta","Mian","Wu","Chong","Tian","Bi","Sha","Zhi","Pei","Pan","Zhui","Za","Gou","Liu","Mei","Ze","Feng","Ou","Li","Lun","Cang","Feng","Wei","Hu","Mo","Mei","Shu","Ju","Zan","Tuo","Tuo","Tuo","He","Li","Mi","Yi","Fa","Fei","You","Tian","Zhi","Zhao","Gu","Zhan","Yan","Si","Kuang","Jiong","Ju","Xie","Qiu","Yi","Jia","Zhong","Quan","Bo","Hui","Mi","Ben","Zhuo","Chu","Le","You","Gu","Hong","Gan","Fa","Mao","Si","Hu","Ping","Ci","Fan","Chi","Su","Ning","Cheng","Ling","Pao","Bo","Qi","Si","Ni","Ju","Yue","Zhu","Sheng","Lei","Xuan","Xue","Fu","Pan","Min","Tai","Yang","Ji","Yong","Guan","Beng","Xue","Long","Lu",null,"Bo","Xie","Po","Ze","Jing","Yin"],mT[109]=["Zhou","Ji","Yi","Hui","Hui","Zui","Cheng","Yin","Wei","Hou","Jian","Yang","Lie","Si","Ji","Er","Xing","Fu","Sa","Suo","Zhi","Yin","Wu","Xi","Kao","Zhu","Jiang","Luo",null,"An","Dong","Yi","Mou","Lei","Yi","Mi","Quan","Jin","Mo","Wei","Xiao","Xie","Hong","Xu","Shuo","Kuang","Tao","Qie","Ju","Er","Zhou","Ru","Ping","Xun","Xiong","Zhi","Guang","Huan","Ming","Huo","Wa","Qia","Pai","Wu","Qu","Liu","Yi","Jia","Jing","Qian","Jiang","Jiao","Cheng","Shi","Zhuo","Ce","Pal","Kuai","Ji","Liu","Chan","Hun","Hu","Nong","Xun","Jin","Lie","Qiu","Wei","Zhe","Jun","Han","Bang","Mang","Zhuo","You","Xi","Bo","Dou","Wan","Hong","Yi","Pu","Ying","Lan","Hao","Lang","Han","Li","Geng","Fu","Wu","Lian","Chun","Feng","Yi","Yu","Tong","Lao","Hai","Jin","Jia","Chong","Weng","Mei","Sui","Cheng","Pei","Xian","Shen","Tu","Kun","Pin","Nie","Han","Jing","Xiao","She","Nian","Tu","Yong","Xiao","Xian","Ting","E","Su","Tun","Juan","Cen","Ti","Li","Shui","Si","Lei","Shui","Tao","Du","Lao","Lai","Lian","Wei","Wo","Yun","Huan","Di",null,"Run","Jian","Zhang","Se","Fu","Guan","Xing","Shou","Shuan","Ya","Chuo","Zhang","Ye","Kong","Wo","Han","Tuo","Dong","He","Wo","Ju","Gan","Liang","Hun","Ta","Zhuo","Dian","Qie","De","Juan","Zi","Xi","Yao","Qi","Gu","Guo","Han","Lin","Tang","Zhou","Peng","Hao","Chang","Shu","Qi","Fang","Chi","Lu","Nao","Ju","Tao","Cong","Lei","Zhi","Peng","Fei","Song","Tian","Pi","Dan","Yu","Ni","Yu","Lu","Gan","Mi","Jing","Ling","Lun","Yin","Cui","Qu","Huai","Yu","Nian","Shen","Piao","Chun","Wa","Yuan","Lai","Hun","Qing","Yan","Qian","Tian","Miao","Zhi","Yin","Mi"],mT[110]=["Ben","Yuan","Wen","Re","Fei","Qing","Yuan","Ke","Ji","She","Yuan","Shibui","Lu","Zi","Du",null,"Jian","Min","Pi","Tani","Yu","Yuan","Shen","Shen","Rou","Huan","Zhu","Jian","Nuan","Yu","Qiu","Ting","Qu","Du","Feng","Zha","Bo","Wo","Wo","Di","Wei","Wen","Ru","Xie","Ce","Wei","Ge","Gang","Yan","Hong","Xuan","Mi","Ke","Mao","Ying","Yan","You","Hong","Miao","Xing","Mei","Zai","Hun","Nai","Kui","Shi","E","Pai","Mei","Lian","Qi","Qi","Mei","Tian","Cou","Wei","Can","Tuan","Mian","Hui","Mo","Xu","Ji","Pen","Jian","Jian","Hu","Feng","Xiang","Yi","Yin","Zhan","Shi","Jie","Cheng","Huang","Tan","Yu","Bi","Min","Shi","Tu","Sheng","Yong","Qu","Zhong","Suei","Jiu","Jiao","Qiou","Yin","Tang","Long","Huo","Yuan","Nan","Ban","You","Quan","Chui","Liang","Chan","Yan","Chun","Nie","Zi","Wan","Shi","Man","Ying","Ratsu","Kui",null,"Jian","Xu","Lu","Gui","Gai",null,null,"Po","Jin","Gui","Tang","Yuan","Suo","Yuan","Lian","Yao","Meng","Zhun","Sheng","Ke","Tai","Da","Wa","Liu","Gou","Sao","Ming","Zha","Shi","Yi","Lun","Ma","Pu","Wei","Li","Cai","Wu","Xi","Wen","Qiang","Ze","Shi","Su","Yi","Zhen","Sou","Yun","Xiu","Yin","Rong","Hun","Su","Su","Ni","Ta","Shi","Ru","Wei","Pan","Chu","Chu","Pang","Weng","Cang","Mie","He","Dian","Hao","Huang","Xi","Zi","Di","Zhi","Ying","Fu","Jie","Hua","Ge","Zi","Tao","Teng","Sui","Bi","Jiao","Hui","Gun","Yin","Gao","Long","Zhi","Yan","She","Man","Ying","Chun","Lu","Lan","Luan",null,"Bin","Tan","Yu","Sou","Hu","Bi","Biao","Zhi","Jiang","Kou","Shen","Shang","Di","Mi","Ao","Lu","Hu","Hu","You","Chan","Fan","Yong","Gun","Man"],mT[111]=["Qing","Yu","Piao","Ji","Ya","Jiao","Qi","Xi","Ji","Lu","Lu","Long","Jin","Guo","Cong","Lou","Zhi","Gai","Qiang","Li","Yan","Cao","Jiao","Cong","Qun","Tuan","Ou","Teng","Ye","Xi","Mi","Tang","Mo","Shang","Han","Lian","Lan","Wa","Li","Qian","Feng","Xuan","Yi","Man","Zi","Mang","Kang","Lei","Peng","Shu","Zhang","Zhang","Chong","Xu","Huan","Kuo","Jian","Yan","Chuang","Liao","Cui","Ti","Yang","Jiang","Cong","Ying","Hong","Xun","Shu","Guan","Ying","Xiao",null,null,"Xu","Lian","Zhi","Wei","Pi","Jue","Jiao","Po","Dang","Hui","Jie","Wu","Pa","Ji","Pan","Gui","Xiao","Qian","Qian","Xi","Lu","Xi","Xuan","Dun","Huang","Min","Run","Su","Liao","Zhen","Zhong","Yi","Di","Wan","Dan","Tan","Chao","Xun","Kui","Yie","Shao","Tu","Zhu","San","Hei","Bi","Shan","Chan","Chan","Shu","Tong","Pu","Lin","Wei","Se","Se","Cheng","Jiong","Cheng","Hua","Jiao","Lao","Che","Gan","Cun","Heng","Si","Shu","Peng","Han","Yun","Liu","Hong","Fu","Hao","He","Xian","Jian","Shan","Xi","Oki",null,"Lan",null,"Yu","Lin","Min","Zao","Dang","Wan","Ze","Xie","Yu","Li","Shi","Xue","Ling","Man","Zi","Yong","Kuai","Can","Lian","Dian","Ye","Ao","Huan","Zhen","Chan","Man","Dan","Dan","Yi","Sui","Pi","Ju","Ta","Qin","Ji","Zhuo","Lian","Nong","Guo","Jin","Fen","Se","Ji","Sui","Hui","Chu","Ta","Song","Ding",null,"Zhu","Lai","Bin","Lian","Mi","Shi","Shu","Mi","Ning","Ying","Ying","Meng","Jin","Qi","Pi","Ji","Hao","Ru","Zui","Wo","Tao","Yin","Yin","Dui","Ci","Huo","Jing","Lan","Jun","Ai","Pu","Zhuo","Wei","Bin","Gu","Qian","Xing","Hama","Kuo","Fei",null,"Boku","Jian","Wei","Luo","Zan","Lu","Li"],mT[112]=["You","Yang","Lu","Si","Jie","Ying","Du","Wang","Hui","Xie","Pan","Shen","Biao","Chan","Mo","Liu","Jian","Pu","Se","Cheng","Gu","Bin","Huo","Xian","Lu","Qin","Han","Ying","Yong","Li","Jing","Xiao","Ying","Sui","Wei","Xie","Huai","Hao","Zhu","Long","Lai","Dui","Fan","Hu","Lai",null,null,"Ying","Mi","Ji","Lian","Jian","Ying","Fen","Lin","Yi","Jian","Yue","Chan","Dai","Rang","Jian","Lan","Fan","Shuang","Yuan","Zhuo","Feng","She","Lei","Lan","Cong","Qu","Yong","Qian","Fa","Guan","Que","Yan","Hao","Hyeng","Sa","Zan","Luan","Yan","Li","Mi","Shan","Tan","Dang","Jiao","Chan",null,"Hao","Ba","Zhu","Lan","Lan","Nang","Wan","Luan","Xun","Xian","Yan","Gan","Yan","Yu","Huo","Si","Mie","Guang","Deng","Hui","Xiao","Xiao","Hu","Hong","Ling","Zao","Zhuan","Jiu","Zha","Xie","Chi","Zhuo","Zai","Zai","Can","Yang","Qi","Zhong","Fen","Niu","Jiong","Wen","Po","Yi","Lu","Chui","Pi","Kai","Pan","Yan","Kai","Pang","Mu","Chao","Liao","Gui","Kang","Tun","Guang","Xin","Zhi","Guang","Guang","Wei","Qiang",null,"Da","Xia","Zheng","Zhu","Ke","Zhao","Fu","Ba","Duo","Duo","Ling","Zhuo","Xuan","Ju","Tan","Pao","Jiong","Pao","Tai","Tai","Bing","Yang","Tong","Han","Zhu","Zha","Dian","Wei","Shi","Lian","Chi","Huang",null,"Hu","Shuo","Lan","Jing","Jiao","Xu","Xing","Quan","Lie","Huan","Yang","Xiao","Xiu","Xian","Yin","Wu","Zhou","Yao","Shi","Wei","Tong","Xue","Zai","Kai","Hong","Luo","Xia","Zhu","Xuan","Zheng","Po","Yan","Hui","Guang","Zhe","Hui","Kao",null,"Fan","Shao","Ye","Hui",null,"Tang","Jin","Re",null,"Xi","Fu","Jiong","Che","Pu","Jing","Zhuo","Ting","Wan","Hai","Peng","Lang","Shan","Hu","Feng","Chi","Rong"],mT[113]=["Hu","Xi","Shu","He","Xun","Ku","Jue","Xiao","Xi","Yan","Han","Zhuang","Jun","Di","Xie","Ji","Wu",null,null,"Han","Yan","Huan","Men","Ju","Chou","Bei","Fen","Lin","Kun","Hun","Tun","Xi","Cui","Wu","Hong","Ju","Fu","Wo","Jiao","Cong","Feng","Ping","Qiong","Ruo","Xi","Qiong","Xin","Zhuo","Yan","Yan","Yi","Jue","Yu","Gang","Ran","Pi","Gu",null,"Sheng","Chang","Shao",null,null,null,null,"Chen","He","Kui","Zhong","Duan","Xia","Hui","Feng","Lian","Xuan","Xing","Huang","Jiao","Jian","Bi","Ying","Zhu","Wei","Tuan","Tian","Xi","Nuan","Nuan","Chan","Yan","Jiong","Jiong","Yu","Mei","Sha","Wei","Ye","Xin","Qiong","Rou","Mei","Huan","Xu","Zhao","Wei","Fan","Qiu","Sui","Yang","Lie","Zhu","Jie","Gao","Gua","Bao","Hu","Yun","Xia",null,null,"Bian","Gou","Tui","Tang","Chao","Shan","N","Bo","Huang","Xie","Xi","Wu","Xi","Yun","He","He","Xi","Yun","Xiong","Nai","Shan","Qiong","Yao","Xun","Mi","Lian","Ying","Wen","Rong","Oozutsu",null,"Qiang","Liu","Xi","Bi","Biao","Zong","Lu","Jian","Shou","Yi","Lou","Feng","Sui","Yi","Tong","Jue","Zong","Yun","Hu","Yi","Zhi","Ao","Wei","Liao","Han","Ou","Re","Jiong","Man",null,"Shang","Cuan","Zeng","Jian","Xi","Xi","Xi","Yi","Xiao","Chi","Huang","Chan","Ye","Qian","Ran","Yan","Xian","Qiao","Zun","Deng","Dun","Shen","Jiao","Fen","Si","Liao","Yu","Lin","Tong","Shao","Fen","Fan","Yan","Xun","Lan","Mei","Tang","Yi","Jing","Men",null,null,"Ying","Yu","Yi","Xue","Lan","Tai","Zao","Can","Sui","Xi","Que","Cong","Lian","Hui","Zhu","Xie","Ling","Wei","Yi","Xie","Zhao","Hui","Tatsu","Nung","Lan","Ru","Xian","Kao","Xun","Jin","Chou","Chou","Yao"],mT[114]=["He","Lan","Biao","Rong","Li","Mo","Bao","Ruo","Lu","La","Ao","Xun","Kuang","Shuo",null,"Li","Lu","Jue","Liao","Yan","Xi","Xie","Long","Ye",null,"Rang","Yue","Lan","Cong","Jue","Tong","Guan",null,"Che","Mi","Tang","Lan","Zhu",null,"Ling","Cuan","Yu","Zhua","Tsumekanmuri","Pa","Zheng","Pao","Cheng","Yuan","Ai","Wei",null,"Jue","Jue","Fu","Ye","Ba","Die","Ye","Yao","Zu","Shuang","Er","Qiang","Chuang","Ge","Zang","Die","Qiang","Yong","Qiang","Pian","Ban","Pan","Shao","Jian","Pai","Du","Chuang","Tou","Zha","Bian","Die","Bang","Bo","Chuang","You",null,"Du","Ya","Cheng","Niu","Ushihen","Pin","Jiu","Mou","Tuo","Mu","Lao","Ren","Mang","Fang","Mao","Mu","Gang","Wu","Yan","Ge","Bei","Si","Jian","Gu","You","Ge","Sheng","Mu","Di","Qian","Quan","Quan","Zi","Te","Xi","Mang","Keng","Qian","Wu","Gu","Xi","Li","Li","Pou","Ji","Gang","Zhi","Ben","Quan","Run","Du","Ju","Jia","Jian","Feng","Pian","Ke","Ju","Kao","Chu","Xi","Bei","Luo","Jie","Ma","San","Wei","Li","Dun","Tong",null,"Jiang","Ikenie","Li","Du","Lie","Pi","Piao","Bao","Xi","Chou","Wei","Kui","Chou","Quan","Fan","Ba","Fan","Qiu","Ji","Cai","Chuo","An","Jie","Zhuang","Guang","Ma","You","Kang","Bo","Hou","Ya","Yin","Huan","Zhuang","Yun","Kuang","Niu","Di","Qing","Zhong","Mu","Bei","Pi","Ju","Ni","Sheng","Pao","Xia","Tuo","Hu","Ling","Fei","Pi","Ni","Ao","You","Gou","Yue","Ju","Dan","Po","Gu","Xian","Ning","Huan","Hen","Jiao","He","Zhao","Ji","Xun","Shan","Ta","Rong","Shou","Tong","Lao","Du","Xia","Shi","Hua","Zheng","Yu","Sun","Yu","Bi","Mang","Xi","Juan","Li","Xia","Yin","Suan","Lang","Bei","Zhi","Yan"],mT[115]=["Sha","Li","Han","Xian","Jing","Pai","Fei","Yao","Ba","Qi","Ni","Biao","Yin","Lai","Xi","Jian","Qiang","Kun","Yan","Guo","Zong","Mi","Chang","Yi","Zhi","Zheng","Ya","Meng","Cai","Cu","She","Kari","Cen","Luo","Hu","Zong","Ji","Wei","Feng","Wo","Yuan","Xing","Zhu","Mao","Wei","Yuan","Xian","Tuan","Ya","Nao","Xie","Jia","Hou","Bian","You","You","Mei","Zha","Yao","Sun","Bo","Ming","Hua","Yuan","Sou","Ma","Yuan","Dai","Yu","Shi","Hao",null,"Yi","Zhen","Chuang","Hao","Man","Jing","Jiang","Mu","Zhang","Chan","Ao","Ao","Hao","Cui","Fen","Jue","Bi","Bi","Huang","Pu","Lin","Yu","Tong","Yao","Liao","Shuo","Xiao","Swu","Ton","Xi","Ge","Juan","Du","Hui","Kuai","Xian","Xie","Ta","Xian","Xun","Ning","Pin","Huo","Nou","Meng","Lie","Nao","Guang","Shou","Lu","Ta","Xian","Mi","Rang","Huan","Nao","Luo","Xian","Qi","Jue","Xuan","Miao","Zi","Lu","Lu","Yu","Su","Wang","Qiu","Ga","Ding","Le","Ba","Ji","Hong","Di","Quan","Gan","Jiu","Yu","Ji","Yu","Yang","Ma","Gong","Wu","Fu","Wen","Jie","Ya","Fen","Bian","Beng","Yue","Jue","Yun","Jue","Wan","Jian","Mei","Dan","Pi","Wei","Huan","Xian","Qiang","Ling","Dai","Yi","An","Ping","Dian","Fu","Xuan","Xi","Bo","Ci","Gou","Jia","Shao","Po","Ci","Ke","Ran","Sheng","Shen","Yi","Zu","Jia","Min","Shan","Liu","Bi","Zhen","Zhen","Jue","Fa","Long","Jin","Jiao","Jian","Li","Guang","Xian","Zhou","Gong","Yan","Xiu","Yang","Xu","Luo","Su","Zhu","Qin","Ken","Xun","Bao","Er","Xiang","Yao","Xia","Heng","Gui","Chong","Xu","Ban","Pei",null,"Dang","Ei","Hun","Wen","E","Cheng","Ti","Wu","Wu","Cheng","Jun","Mei","Bei","Ting","Xian","Chuo"],mT[116]=["Han","Xuan","Yan","Qiu","Quan","Lang","Li","Xiu","Fu","Liu","Ye","Xi","Ling","Li","Jin","Lian","Suo","Chiisai",null,"Wan","Dian","Pin","Zhan","Cui","Min","Yu","Ju","Chen","Lai","Wen","Sheng","Wei","Dian","Chu","Zhuo","Pei","Cheng","Hu","Qi","E","Kun","Chang","Qi","Beng","Wan","Lu","Cong","Guan","Yan","Diao","Bei","Lin","Qin","Pi","Pa","Que","Zhuo","Qin","Fa",null,"Qiong","Du","Jie","Hun","Yu","Mao","Mei","Chun","Xuan","Ti","Xing","Dai","Rou","Min","Zhen","Wei","Ruan","Huan","Jie","Chuan","Jian","Zhuan","Yang","Lian","Quan","Xia","Duan","Yuan","Ye","Nao","Hu","Ying","Yu","Huang","Rui","Se","Liu","Shi","Rong","Suo","Yao","Wen","Wu","Jin","Jin","Ying","Ma","Tao","Liu","Tang","Li","Lang","Gui","Zhen","Qiang","Cuo","Jue","Zhao","Yao","Ai","Bin","Tu","Chang","Kun","Zhuan","Cong","Jin","Yi","Cui","Cong","Qi","Li","Ying","Suo","Qiu","Xuan","Ao","Lian","Man","Zhang","Yin",null,"Ying","Zhi","Lu","Wu","Deng","Xiou","Zeng","Xun","Qu","Dang","Lin","Liao","Qiong","Su","Huang","Gui","Pu","Jing","Fan","Jin","Liu","Ji",null,"Jing","Ai","Bi","Can","Qu","Zao","Dang","Jiao","Gun","Tan","Hui","Huan","Se","Sui","Tian",null,"Yu","Jin","Lu","Bin","Shou","Wen","Zui","Lan","Xi","Ji","Xuan","Ruan","Huo","Gai","Lei","Du","Li","Zhi","Rou","Li","Zan","Qiong","Zhe","Gui","Sui","La","Long","Lu","Li","Zan","Lan","Ying","Mi","Xiang","Xi","Guan","Dao","Zan","Huan","Gua","Bo","Die","Bao","Hu","Zhi","Piao","Ban","Rang","Li","Wa","Dekaguramu","Jiang","Qian","Fan","Pen","Fang","Dan","Weng","Ou","Deshiguramu","Miriguramu","Thon","Hu","Ling","Yi","Ping","Ci","Hekutogura","Juan","Chang","Chi","Sarake","Dang","Meng","Pou"],mT[117]=["Zhui","Ping","Bian","Zhou","Zhen","Senchigura","Ci","Ying","Qi","Xian","Lou","Di","Ou","Meng","Zhuan","Peng","Lin","Zeng","Wu","Pi","Dan","Weng","Ying","Yan","Gan","Dai","Shen","Tian","Tian","Han","Chang","Sheng","Qing","Sheng","Chan","Chan","Rui","Sheng","Su","Sen","Yong","Shuai","Lu","Fu","Yong","Beng","Feng","Ning","Tian","You","Jia","Shen","Zha","Dian","Fu","Nan","Dian","Ping","Ting","Hua","Ting","Quan","Zi","Meng","Bi","Qi","Liu","Xun","Liu","Chang","Mu","Yun","Fan","Fu","Geng","Tian","Jie","Jie","Quan","Wei","Fu","Tian","Mu","Tap","Pan","Jiang","Wa","Da","Nan","Liu","Ben","Zhen","Chu","Mu","Mu","Ce","Cen","Gai","Bi","Da","Zhi","Lue","Qi","Lue","Pan","Kesa","Fan","Hua","Yu","Yu","Mu","Jun","Yi","Liu","Yu","Die","Chou","Hua","Dang","Chuo","Ji","Wan","Jiang","Sheng","Chang","Tuan","Lei","Ji","Cha","Liu","Tatamu","Tuan","Lin","Jiang","Jiang","Chou","Bo","Die","Die","Pi","Nie","Dan","Shu","Shu","Zhi","Yi","Chuang","Nai","Ding","Bi","Jie","Liao","Gong","Ge","Jiu","Zhou","Xia","Shan","Xu","Nue","Li","Yang","Chen","You","Ba","Jie","Jue","Zhi","Xia","Cui","Bi","Yi","Li","Zong","Chuang","Feng","Zhu","Pao","Pi","Gan","Ke","Ci","Xie","Qi","Dan","Zhen","Fa","Zhi","Teng","Ju","Ji","Fei","Qu","Dian","Jia","Xian","Cha","Bing","Ni","Zheng","Yong","Jing","Quan","Chong","Tong","Yi","Kai","Wei","Hui","Duo","Yang","Chi","Zhi","Hen","Ya","Mei","Dou","Jing","Xiao","Tong","Tu","Mang","Pi","Xiao","Suan","Pu","Li","Zhi","Cuo","Duo","Wu","Sha","Lao","Shou","Huan","Xian","Yi","Peng","Zhang","Guan","Tan","Fei","Ma","Lin","Chi","Ji","Dian","An","Chi","Bi","Bei","Min","Gu","Dui","E","Wei"],mT[118]=["Yu","Cui","Ya","Zhu","Cu","Dan","Shen","Zhung","Ji","Yu","Hou","Feng","La","Yang","Shen","Tu","Yu","Gua","Wen","Huan","Ku","Jia","Yin","Yi","Lu","Sao","Jue","Chi","Xi","Guan","Yi","Wen","Ji","Chuang","Ban","Lei","Liu","Chai","Shou","Nue","Dian","Da","Pie","Tan","Zhang","Biao","Shen","Cu","Luo","Yi","Zong","Chou","Zhang","Zhai","Sou","Suo","Que","Diao","Lou","Lu","Mo","Jin","Yin","Ying","Huang","Fu","Liao","Long","Qiao","Liu","Lao","Xian","Fei","Dan","Yin","He","Ai","Ban","Xian","Guan","Guai","Nong","Yu","Wei","Yi","Yong","Pi","Lei","Li","Shu","Dan","Lin","Dian","Lin","Lai","Pie","Ji","Chi","Yang","Xian","Jie","Zheng",null,"Li","Huo","Lai","Shaku","Dian","Xian","Ying","Yin","Qu","Yong","Tan","Dian","Luo","Luan","Luan","Bo",null,"Gui","Po","Fa","Deng","Fa","Bai","Bai","Qie","Bi","Zao","Zao","Mao","De","Pa","Jie","Huang","Gui","Ci","Ling","Gao","Mo","Ji","Jiao","Peng","Gao","Ai","E","Hao","Han","Bi","Wan","Chou","Qian","Xi","Ai","Jiong","Hao","Huang","Hao","Ze","Cui","Hao","Xiao","Ye","Po","Hao","Jiao","Ai","Xing","Huang","Li","Piao","He","Jiao","Pi","Gan","Pao","Zhou","Jun","Qiu","Cun","Que","Zha","Gu","Jun","Jun","Zhou","Zha","Gu","Zhan","Du","Min","Qi","Ying","Yu","Bei","Zhao","Zhong","Pen","He","Ying","He","Yi","Bo","Wan","He","Ang","Zhan","Yan","Jian","He","Yu","Kui","Fan","Gai","Dao","Pan","Fu","Qiu","Sheng","Dao","Lu","Zhan","Meng","Li","Jin","Xu","Jian","Pan","Guan","An","Lu","Shu","Zhou","Dang","An","Gu","Li","Mu","Cheng","Gan","Xu","Mang","Mang","Zhi","Qi","Ruan","Tian","Xiang","Dun","Xin","Xi","Pan","Feng","Dun","Min"],mT[119]=["Ming","Sheng","Shi","Yun","Mian","Pan","Fang","Miao","Dan","Mei","Mao","Kan","Xian","Ou","Shi","Yang","Zheng","Yao","Shen","Huo","Da","Zhen","Kuang","Ju","Shen","Chi","Sheng","Mei","Mo","Zhu","Zhen","Zhen","Mian","Di","Yuan","Die","Yi","Zi","Zi","Chao","Zha","Xuan","Bing","Mi","Long","Sui","Dong","Mi","Die","Yi","Er","Ming","Xuan","Chi","Kuang","Juan","Mou","Zhen","Tiao","Yang","Yan","Mo","Zhong","Mai","Zhao","Zheng","Mei","Jun","Shao","Han","Huan","Di","Cheng","Cuo","Juan","E","Wan","Xian","Xi","Kun","Lai","Jian","Shan","Tian","Hun","Wan","Ling","Shi","Qiong","Lie","Yai","Jing","Zheng","Li","Lai","Sui","Juan","Shui","Sui","Du","Bi","Bi","Mu","Hun","Ni","Lu","Yi","Jie","Cai","Zhou","Yu","Hun","Ma","Xia","Xing","Xi","Gun","Cai","Chun","Jian","Mei","Du","Hou","Xuan","Ti","Kui","Gao","Rui","Mou","Xu","Fa","Wen","Miao","Chou","Kui","Mi","Weng","Kou","Dang","Chen","Ke","Sou","Xia","Qiong","Mao","Ming","Man","Shui","Ze","Zhang","Yi","Diao","Ou","Mo","Shun","Cong","Lou","Chi","Man","Piao","Cheng","Ji","Meng",null,"Run","Pie","Xi","Qiao","Pu","Zhu","Deng","Shen","Shun","Liao","Che","Xian","Kan","Ye","Xu","Tong","Mou","Lin","Kui","Xian","Ye","Ai","Hui","Zhan","Jian","Gu","Zhao","Qu","Wei","Chou","Sao","Ning","Xun","Yao","Huo","Meng","Mian","Bin","Mian","Li","Kuang","Jue","Xuan","Mian","Huo","Lu","Meng","Long","Guan","Man","Xi","Chu","Tang","Kan","Zhu","Mao","Jin","Lin","Yu","Shuo","Ce","Jue","Shi","Yi","Shen","Zhi","Hou","Shen","Ying","Ju","Zhou","Jiao","Cuo","Duan","Ai","Jiao","Zeng","Huo","Bai","Shi","Ding","Qi","Ji","Zi","Gan","Wu","Tuo","Ku","Qiang","Xi","Fan","Kuang"],mT[120]=["Dang","Ma","Sha","Dan","Jue","Li","Fu","Min","Nuo","Huo","Kang","Zhi","Qi","Kan","Jie","Fen","E","Ya","Pi","Zhe","Yan","Sui","Zhuan","Che","Dun","Pan","Yan",null,"Feng","Fa","Mo","Zha","Qu","Yu","Luo","Tuo","Tuo","Di","Zhai","Zhen","Ai","Fei","Mu","Zhu","Li","Bian","Nu","Ping","Peng","Ling","Pao","Le","Po","Bo","Po","Shen","Za","Nuo","Li","Long","Tong",null,"Li","Aragane","Chu","Keng","Quan","Zhu","Kuang","Huo","E","Nao","Jia","Lu","Wei","Ai","Luo","Ken","Xing","Yan","Tong","Peng","Xi",null,"Hong","Shuo","Xia","Qiao",null,"Wei","Qiao",null,"Keng","Xiao","Que","Chan","Lang","Hong","Yu","Xiao","Xia","Mang","Long","Iong","Che","Che","E","Liu","Ying","Mang","Que","Yan","Sha","Kun","Yu",null,"Kaki","Lu","Chen","Jian","Nue","Song","Zhuo","Keng","Peng","Yan","Zhui","Kong","Ceng","Qi","Zong","Qing","Lin","Jun","Bo","Ding","Min","Diao","Jian","He","Lu","Ai","Sui","Que","Ling","Bei","Yin","Dui","Wu","Qi","Lun","Wan","Dian","Gang","Pei","Qi","Chen","Ruan","Yan","Die","Ding","Du","Tuo","Jie","Ying","Bian","Ke","Bi","Wei","Shuo","Zhen","Duan","Xia","Dang","Ti","Nao","Peng","Jian","Di","Tan","Cha","Seki","Qi",null,"Feng","Xuan","Que","Que","Ma","Gong","Nian","Su","E","Ci","Liu","Si","Tang","Bang","Hua","Pi","Wei","Sang","Lei","Cuo","Zhen","Xia","Qi","Lian","Pan","Wei","Yun","Dui","Zhe","Ke","La",null,"Qing","Gun","Zhuan","Chan","Qi","Ao","Peng","Lu","Lu","Kan","Qiang","Chen","Yin","Lei","Biao","Qi","Mo","Qi","Cui","Zong","Qing","Chuo",null,"Ji","Shan","Lao","Qu","Zeng","Deng","Jian","Xi","Lin","Ding","Dian","Huang","Pan","Za","Qiao","Di","Li"],mT[121]=["Tani","Jiao",null,"Zhang","Qiao","Dun","Xian","Yu","Zhui","He","Huo","Zhai","Lei","Ke","Chu","Ji","Que","Dang","Yi","Jiang","Pi","Pi","Yu","Pin","Qi","Ai","Kai","Jian","Yu","Ruan","Meng","Pao","Ci",null,null,"Mie","Ca","Xian","Kuang","Lei","Lei","Zhi","Li","Li","Fan","Que","Pao","Ying","Li","Long","Long","Mo","Bo","Shuang","Guan","Lan","Zan","Yan","Shi","Shi","Li","Reng","She","Yue","Si","Qi","Ta","Ma","Xie","Xian","Xian","Zhi","Qi","Zhi","Beng","Dui","Zhong",null,"Yi","Shi","You","Zhi","Tiao","Fu","Fu","Mi","Zu","Zhi","Suan","Mei","Zuo","Qu","Hu","Zhu","Shen","Sui","Ci","Chai","Mi","Lu","Yu","Xiang","Wu","Tiao","Piao","Zhu","Gui","Xia","Zhi","Ji","Gao","Zhen","Gao","Shui","Jin","Chen","Gai","Kun","Di","Dao","Huo","Tao","Qi","Gu","Guan","Zui","Ling","Lu","Bing","Jin","Dao","Zhi","Lu","Shan","Bei","Zhe","Hui","You","Xi","Yin","Zi","Huo","Zhen","Fu","Yuan","Wu","Xian","Yang","Ti","Yi","Mei","Si","Di",null,"Zhuo","Zhen","Yong","Ji","Gao","Tang","Si","Ma","Ta",null,"Xuan","Qi","Yu","Xi","Ji","Si","Chan","Tan","Kuai","Sui","Li","Nong","Ni","Dao","Li","Rang","Yue","Ti","Zan","Lei","Rou","Yu","Yu","Chi","Xie","Qin","He","Tu","Xiu","Si","Ren","Tu","Zi","Cha","Gan","Yi","Xian","Bing","Nian","Qiu","Qiu","Zhong","Fen","Hao","Yun","Ke","Miao","Zhi","Geng","Bi","Zhi","Yu","Mi","Ku","Ban","Pi","Ni","Li","You","Zu","Pi","Ba","Ling","Mo","Cheng","Nian","Qin","Yang","Zuo","Zhi","Zhi","Shu","Ju","Zi","Huo","Ji","Cheng","Tong","Zhi","Huo","He","Yin","Zi","Zhi","Jie","Ren","Du","Yi","Zhu","Hui","Nong","Fu"],mT[122]=["Xi","Kao","Lang","Fu","Ze","Shui","Lu","Kun","Gan","Geng","Ti","Cheng","Tu","Shao","Shui","Ya","Lun","Lu","Gu","Zuo","Ren","Zhun","Bang","Bai","Ji","Zhi","Zhi","Kun","Leng","Peng","Ke","Bing","Chou","Zu","Yu","Su","Lue",null,"Yi","Xi","Bian","Ji","Fu","Bi","Nuo","Jie","Zhong","Zong","Xu","Cheng","Dao","Wen","Lian","Zi","Yu","Ji","Xu","Zhen","Zhi","Dao","Jia","Ji","Gao","Gao","Gu","Rong","Sui","You","Ji","Kang","Mu","Shan","Men","Zhi","Ji","Lu","Su","Ji","Ying","Wen","Qiu","Se",null,"Yi","Huang","Qie","Ji","Sui","Xiao","Pu","Jiao","Zhuo","Tong","Sai","Lu","Sui","Nong","Se","Hui","Rang","Nuo","Yu","Bin","Ji","Tui","Wen","Cheng","Huo","Gong","Lu","Biao",null,"Rang","Zhuo","Li","Zan","Xue","Wa","Jiu","Qiong","Xi","Qiong","Kong","Yu","Sen","Jing","Yao","Chuan","Zhun","Tu","Lao","Qie","Zhai","Yao","Bian","Bao","Yao","Bing","Wa","Zhu","Jiao","Qiao","Diao","Wu","Gui","Yao","Zhi","Chuang","Yao","Tiao","Jiao","Chuang","Jiong","Xiao","Cheng","Kou","Cuan","Wo","Dan","Ku","Ke","Zhui","Xu","Su","Guan","Kui","Dou",null,"Yin","Wo","Wa","Ya","Yu","Ju","Qiong","Yao","Yao","Tiao","Chao","Yu","Tian","Diao","Ju","Liao","Xi","Wu","Kui","Chuang","Zhao",null,"Kuan","Long","Cheng","Cui","Piao","Zao","Cuan","Qiao","Qiong","Dou","Zao","Long","Qie","Li","Chu","Shi","Fou","Qian","Chu","Hong","Qi","Qian","Gong","Shi","Shu","Miao","Ju","Zhan","Zhu","Ling","Long","Bing","Jing","Jing","Zhang","Yi","Si","Jun","Hong","Tong","Song","Jing","Diao","Yi","Shu","Jing","Qu","Jie","Ping","Duan","Shao","Zhuan","Ceng","Deng","Cui","Huai","Jing","Kan","Jing","Zhu","Zhu","Le","Peng","Yu","Chi","Gan"],mT[123]=["Mang","Zhu","Utsubo","Du","Ji","Xiao","Ba","Suan","Ji","Zhen","Zhao","Sun","Ya","Zhui","Yuan","Hu","Gang","Xiao","Cen","Pi","Bi","Jian","Yi","Dong","Shan","Sheng","Xia","Di","Zhu","Na","Chi","Gu","Li","Qie","Min","Bao","Tiao","Si","Fu","Ce","Ben","Pei","Da","Zi","Di","Ling","Ze","Nu","Fu","Gou","Fan","Jia","Ge","Fan","Shi","Mao","Po","Sey","Jian","Qiong","Long","Souke","Bian","Luo","Gui","Qu","Chi","Yin","Yao","Xian","Bi","Qiong","Gua","Deng","Jiao","Jin","Quan","Sun","Ru","Fa","Kuang","Zhu","Tong","Ji","Da","Xing","Ce","Zhong","Kou","Lai","Bi","Shai","Dang","Zheng","Ce","Fu","Yun","Tu","Pa","Li","Lang","Ju","Guan","Jian","Han","Tong","Xia","Zhi","Cheng","Suan","Shi","Zhu","Zuo","Xiao","Shao","Ting","Ce","Yan","Gao","Kuai","Gan","Chou","Kago","Gang","Yun","O","Qian","Xiao","Jian","Pu","Lai","Zou","Bi","Bi","Bi","Ge","Chi","Guai","Yu","Jian","Zhao","Gu","Chi","Zheng","Jing","Sha","Zhou","Lu","Bo","Ji","Lin","Suan","Jun","Fu","Zha","Gu","Kong","Qian","Quan","Jun","Chui","Guan","Yuan","Ce","Ju","Bo","Ze","Qie","Tuo","Luo","Dan","Xiao","Ruo","Jian","Xuan","Bian","Sun","Xiang","Xian","Ping","Zhen","Sheng","Hu","Shi","Zhu","Yue","Chun","Lu","Wu","Dong","Xiao","Ji","Jie","Huang","Xing","Mei","Fan","Chui","Zhuan","Pian","Feng","Zhu","Hong","Qie","Hou","Qiu","Miao","Qian",null,"Kui","Sik","Lou","Yun","He","Tang","Yue","Chou","Gao","Fei","Ruo","Zheng","Gou","Nie","Qian","Xiao","Cuan","Gong","Pang","Du","Li","Bi","Zhuo","Chu","Shai","Chi","Zhu","Qiang","Long","Lan","Jian","Bu","Li","Hui","Bi","Di","Cong","Yan","Peng","Sen","Zhuan","Pai","Piao","Dou","Yu","Mie","Zhuan"],mT[124]=["Ze","Xi","Guo","Yi","Hu","Chan","Kou","Cu","Ping","Chou","Ji","Gui","Su","Lou","Zha","Lu","Nian","Suo","Cuan","Sasara","Suo","Le","Duan","Yana","Xiao","Bo","Mi","Si","Dang","Liao","Dan","Dian","Fu","Jian","Min","Kui","Dai","Qiao","Deng","Huang","Sun","Lao","Zan","Xiao","Du","Shi","Zan",null,"Pai","Hata","Pai","Gan","Ju","Du","Lu","Yan","Bo","Dang","Sai","Ke","Long","Qian","Lian","Bo","Zhou","Lai",null,"Lan","Kui","Yu","Yue","Hao","Zhen","Tai","Ti","Mi","Chou","Ji",null,"Hata","Teng","Zhuan","Zhou","Fan","Sou","Zhou","Kuji","Zhuo","Teng","Lu","Lu","Jian","Tuo","Ying","Yu","Lai","Long","Shinshi","Lian","Lan","Qian","Yue","Zhong","Qu","Lian","Bian","Duan","Zuan","Li","Si","Luo","Ying","Yue","Zhuo","Xu","Mi","Di","Fan","Shen","Zhe","Shen","Nu","Xie","Lei","Xian","Zi","Ni","Cun",null,"Qian","Kume","Bi","Ban","Wu","Sha","Kang","Rou","Fen","Bi","Cui",null,"Li","Chi","Nukamiso","Ro","Ba","Li","Gan","Ju","Po","Mo","Cu","Nian","Zhou","Li","Su","Tiao","Li","Qi","Su","Hong","Tong","Zi","Ce","Yue","Zhou","Lin","Zhuang","Bai",null,"Fen","Ji",null,"Sukumo","Liang","Xian","Fu","Liang","Can","Geng","Li","Yue","Lu","Ju","Qi","Cui","Bai","Zhang","Lin","Zong","Jing","Guo","Kouji","San","San","Tang","Bian","Rou","Mian","Hou","Xu","Zong","Hu","Jian","Zan","Ci","Li","Xie","Fu","Ni","Bei","Gu","Xiu","Gao","Tang","Qiu","Sukumo","Cao","Zhuang","Tang","Mi","San","Fen","Zao","Kang","Jiang","Mo","San","San","Nuo","Xi","Liang","Jiang","Kuai","Bo","Huan",null,"Zong","Xian","Nuo","Tuan","Nie","Li","Zuo","Di","Nie","Tiao","Lan","Mi","Jiao","Jiu","Xi","Gong","Zheng","Jiu","You"],mT[125]=["Ji","Cha","Zhou","Xun","Yue","Hong","Yu","He","Wan","Ren","Wen","Wen","Qiu","Na","Zi","Tou","Niu","Fou","Jie","Shu","Chun","Pi","Yin","Sha","Hong","Zhi","Ji","Fen","Yun","Ren","Dan","Jin","Su","Fang","Suo","Cui","Jiu","Zha","Kinu","Jin","Fu","Zhi","Ci","Zi","Chou","Hong","Zha","Lei","Xi","Fu","Xie","Shen","Bei","Zhu","Qu","Ling","Zhu","Shao","Gan","Yang","Fu","Tuo","Zhen","Dai","Zhuo","Shi","Zhong","Xian","Zu","Jiong","Ban","Ju","Mo","Shu","Zui","Wata","Jing","Ren","Heng","Xie","Jie","Zhu","Chou","Gua","Bai","Jue","Kuang","Hu","Ci","Geng","Geng","Tao","Xie","Ku","Jiao","Quan","Gai","Luo","Xuan","Bing","Xian","Fu","Gei","Tong","Rong","Tiao","Yin","Lei","Xie","Quan","Xu","Lun","Die","Tong","Si","Jiang","Xiang","Hui","Jue","Zhi","Jian","Juan","Chi","Mian","Zhen","Lu","Cheng","Qiu","Shu","Bang","Tong","Xiao","Wan","Qin","Geng","Xiu","Ti","Xiu","Xie","Hong","Xi","Fu","Ting","Sui","Dui","Kun","Fu","Jing","Hu","Zhi","Yan","Jiong","Feng","Ji","Sok","Kase","Zong","Lin","Duo","Li","Lu","Liang","Chou","Quan","Shao","Qi","Qi","Zhun","Qi","Wan","Qian","Xian","Shou","Wei","Qi","Tao","Wan","Gang","Wang","Beng","Zhui","Cai","Guo","Cui","Lun","Liu","Qi","Zhan","Bei","Chuo","Ling","Mian","Qi","Qie","Tan","Zong","Gun","Zou","Yi","Zi","Xing","Liang","Jin","Fei","Rui","Min","Yu","Zong","Fan","Lu","Xu","Yingl","Zhang","Kasuri","Xu","Xiang","Jian","Ke","Xian","Ruan","Mian","Qi","Duan","Zhong","Di","Min","Miao","Yuan","Xie","Bao","Si","Qiu","Bian","Huan","Geng","Cong","Mian","Wei","Fu","Wei","Yu","Gou","Miao","Xie","Lian","Zong","Bian","Yun","Yin","Ti","Gua","Zhi","Yun","Cheng","Chan","Dai"],mT[126]=["Xia","Yuan","Zong","Xu","Nawa","Odoshi","Geng","Sen","Ying","Jin","Yi","Zhui","Ni","Bang","Gu","Pan","Zhou","Jian","Cuo","Quan","Shuang","Yun","Xia","Shuai","Xi","Rong","Tao","Fu","Yun","Zhen","Gao","Ru","Hu","Zai","Teng","Xian","Su","Zhen","Zong","Tao","Horo","Cai","Bi","Feng","Cu","Li","Suo","Yin","Xi","Zong","Lei","Zhuan","Qian","Man","Zhi","Lu","Mo","Piao","Lian","Mi","Xuan","Zong","Ji","Shan","Sui","Fan","Shuai","Beng","Yi","Sao","Mou","Zhou","Qiang","Hun","Sem","Xi","Jung","Xiu","Ran","Xuan","Hui","Qiao","Zeng","Zuo","Zhi","Shan","San","Lin","Yu","Fan","Liao","Chuo","Zun","Jian","Rao","Chan","Rui","Xiu","Hui","Hua","Zuan","Xi","Qiang","Un","Da","Sheng","Hui","Xi","Se","Jian","Jiang","Huan","Zao","Cong","Jie","Jiao","Bo","Chan","Yi","Nao","Sui","Yi","Shai","Xu","Ji","Bin","Qian","Lan","Pu","Xun","Zuan","Qi","Peng","Li","Mo","Lei","Xie","Zuan","Kuang","You","Xu","Lei","Xian","Chan","Kou","Lu","Chan","Ying","Cai","Xiang","Xian","Zui","Zuan","Luo","Xi","Dao","Lan","Lei","Lian","Si","Jiu","Yu","Hong","Zhou","Xian","He","Yue","Ji","Wan","Kuang","Ji","Ren","Wei","Yun","Hong","Chun","Pi","Sha","Gang","Na","Ren","Zong","Lun","Fen","Zhi","Wen","Fang","Zhu","Yin","Niu","Shu","Xian","Gan","Xie","Fu","Lian","Zu","Shen","Xi","Zhi","Zhong","Zhou","Ban","Fu","Zhuo","Shao","Yi","Jing","Dai","Bang","Rong","Jie","Ku","Rao","Die","Heng","Hui","Gei","Xuan","Jiang","Luo","Jue","Jiao","Tong","Geng","Xiao","Juan","Xiu","Xi","Sui","Tao","Ji","Ti","Ji","Xu","Ling",null,"Xu","Qi","Fei","Chuo","Zhang","Gun","Sheng","Wei","Mian","Shou","Beng","Chou","Tao","Liu","Quan","Zong","Zhan","Wan","Lu"],mT[127]=["Zhui","Zi","Ke","Xiang","Jian","Mian","Lan","Ti","Miao","Qi","Yun","Hui","Si","Duo","Duan","Bian","Xian","Gou","Zhui","Huan","Di","Lu","Bian","Min","Yuan","Jin","Fu","Ru","Zhen","Feng","Shuai","Gao","Chan","Li","Yi","Jian","Bin","Piao","Man","Lei","Ying","Suo","Mou","Sao","Xie","Liao","Shan","Zeng","Jiang","Qian","Zao","Huan","Jiao","Zuan","Fou","Xie","Gang","Fou","Que","Fou","Kaakeru","Bo","Ping","Hou",null,"Gang","Ying","Ying","Qing","Xia","Guan","Zun","Tan","Chang","Qi","Weng","Ying","Lei","Tan","Lu","Guan","Wang","Wang","Gang","Wang","Han",null,"Luo","Fu","Mi","Fa","Gu","Zhu","Ju","Mao","Gu","Min","Gang","Ba","Gua","Ti","Juan","Fu","Lin","Yan","Zhao","Zui","Gua","Zhuo","Yu","Zhi","An","Fa","Nan","Shu","Si","Pi","Ma","Liu","Ba","Fa","Li","Chao","Wei","Bi","Ji","Zeng","Tong","Liu","Ji","Juan","Mi","Zhao","Luo","Pi","Ji","Ji","Luan","Yang","Mie","Qiang","Ta","Mei","Yang","You","You","Fen","Ba","Gao","Yang","Gu","Qiang","Zang","Gao","Ling","Yi","Zhu","Di","Xiu","Qian","Yi","Xian","Rong","Qun","Qun","Qian","Huan","Zui","Xian","Yi","Yashinau","Qiang","Xian","Yu","Geng","Jie","Tang","Yuan","Xi","Fan","Shan","Fen","Shan","Lian","Lei","Geng","Nou","Qiang","Chan","Yu","Gong","Yi","Chong","Weng","Fen","Hong","Chi","Chi","Cui","Fu","Xia","Pen","Yi","La","Yi","Pi","Ling","Liu","Zhi","Qu","Xi","Xie","Xiang","Xi","Xi","Qi","Qiao","Hui","Hui","Xiao","Se","Hong","Jiang","Di","Cui","Fei","Tao","Sha","Chi","Zhu","Jian","Xuan","Shi","Pian","Zong","Wan","Hui","Hou","He","He","Han","Ao","Piao","Yi","Lian","Qu",null,"Lin","Pen","Qiao","Ao","Fan","Yi","Hui","Xuan","Dao"],mT[128]=["Yao","Lao",null,"Kao","Mao","Zhe","Qi","Gou","Gou","Gou","Die","Die","Er","Shua","Ruan","Er","Nai","Zhuan","Lei","Ting","Zi","Geng","Chao","Hao","Yun","Pa","Pi","Chi","Si","Chu","Jia","Ju","He","Chu","Lao","Lun","Ji","Tang","Ou","Lou","Nou","Gou","Pang","Ze","Lou","Ji","Lao","Huo","You","Mo","Huai","Er","Zhe","Ting","Ye","Da","Song","Qin","Yun","Chi","Dan","Dan","Hong","Geng","Zhi",null,"Nie","Dan","Zhen","Che","Ling","Zheng","You","Wa","Liao","Long","Zhi","Ning","Tiao","Er","Ya","Die","Gua",null,"Lian","Hao","Sheng","Lie","Pin","Jing","Ju","Bi","Di","Guo","Wen","Xu","Ping","Cong","Shikato",null,"Ting","Yu","Cong","Kui","Tsuraneru","Kui","Cong","Lian","Weng","Kui","Lian","Lian","Cong","Ao","Sheng","Song","Ting","Kui","Nie","Zhi","Dan","Ning","Qie","Ji","Ting","Ting","Long","Yu","Yu","Zhao","Si","Su","Yi","Su","Si","Zhao","Zhao","Rou","Yi","Le","Ji","Qiu","Ken","Cao","Ge","Di","Huan","Huang","Yi","Ren","Xiao","Ru","Zhou","Yuan","Du","Gang","Rong","Gan","Cha","Wo","Chang","Gu","Zhi","Han","Fu","Fei","Fen","Pei","Pang","Jian","Fang","Zhun","You","Na","Hang","Ken","Ran","Gong","Yu","Wen","Yao","Jin","Pi","Qian","Xi","Xi","Fei","Ken","Jing","Tai","Shen","Zhong","Zhang","Xie","Shen","Wei","Zhou","Die","Dan","Fei","Ba","Bo","Qu","Tian","Bei","Gua","Tai","Zi","Ku","Zhi","Ni","Ping","Zi","Fu","Pang","Zhen","Xian","Zuo","Pei","Jia","Sheng","Zhi","Bao","Mu","Qu","Hu","Ke","Yi","Yin","Xu","Yang","Long","Dong","Ka","Lu","Jing","Nu","Yan","Pang","Kua","Yi","Guang","Gai","Ge","Dong","Zhi","Xiao","Xiong","Xiong","Er","E","Xing","Pian","Neng","Zi","Gui"],mT[129]=["Cheng","Tiao","Zhi","Cui","Mei","Xie","Cui","Xie","Mo","Mai","Ji","Obiyaakasu",null,"Kuai","Sa","Zang","Qi","Nao","Mi","Nong","Luan","Wan","Bo","Wen","Guan","Qiu","Jiao","Jing","Rou","Heng","Cuo","Lie","Shan","Ting","Mei","Chun","Shen","Xie","De","Zui","Cu","Xiu","Xin","Tuo","Pao","Cheng","Nei","Fu","Dou","Tuo","Niao","Noy","Pi","Gu","Gua","Li","Lian","Zhang","Cui","Jie","Liang","Zhou","Pi","Biao","Lun","Pian","Guo","Kui","Chui","Dan","Tian","Nei","Jing","Jie","La","Yi","An","Ren","Shen","Chuo","Fu","Fu","Ju","Fei","Qiang","Wan","Dong","Pi","Guo","Zong","Ding","Wu","Mei","Ruan","Zhuan","Zhi","Cou","Gua","Ou","Di","An","Xing","Nao","Yu","Chuan","Nan","Yun","Zhong","Rou","E","Sai","Tu","Yao","Jian","Wei","Jiao","Yu","Jia","Duan","Bi","Chang","Fu","Xian","Ni","Mian","Wa","Teng","Tui","Bang","Qian","Lu","Wa","Sou","Tang","Su","Zhui","Ge","Yi","Bo","Liao","Ji","Pi","Xie","Gao","Lu","Bin","Ou","Chang","Lu","Guo","Pang","Chuai","Piao","Jiang","Fu","Tang","Mo","Xi","Zhuan","Lu","Jiao","Ying","Lu","Zhi","Tara","Chun","Lian","Tong","Peng","Ni","Zha","Liao","Cui","Gui","Xiao","Teng","Fan","Zhi","Jiao","Shan","Wu","Cui","Run","Xiang","Sui","Fen","Ying","Tan","Zhua","Dan","Kuai","Nong","Tun","Lian","Bi","Yong","Jue","Chu","Yi","Juan","La","Lian","Sao","Tun","Gu","Qi","Cui","Bin","Xun","Ru","Huo","Zang","Xian","Biao","Xing","Kuan","La","Yan","Lu","Huo","Zang","Luo","Qu","Zang","Luan","Ni","Zang","Chen","Qian","Wo","Guang","Zang","Lin","Guang","Zi","Jiao","Nie","Chou","Ji","Gao","Chou","Mian","Nie","Zhi","Zhi","Ge","Jian","Die","Zhi","Xiu","Tai","Zhen","Jiu","Xian","Yu","Cha"],mT[130]=["Yao","Yu","Chong","Xi","Xi","Jiu","Yu","Yu","Xing","Ju","Jiu","Xin","She","She","Yadoru","Jiu","Shi","Tan","Shu","Shi","Tian","Dan","Pu","Pu","Guan","Hua","Tan","Chuan","Shun","Xia","Wu","Zhou","Dao","Gang","Shan","Yi",null,"Pa","Tai","Fan","Ban","Chuan","Hang","Fang","Ban","Que","Hesaki","Zhong","Jian","Cang","Ling","Zhu","Ze","Duo","Bo","Xian","Ge","Chuan","Jia","Lu","Hong","Pang","Xi",null,"Fu","Zao","Feng","Li","Shao","Yu","Lang","Ting",null,"Wei","Bo","Meng","Nian","Ju","Huang","Shou","Zong","Bian","Mao","Die",null,"Bang","Cha","Yi","Sao","Cang","Cao","Lou","Dai","Sori","Yao","Tong","Yofune","Dang","Tan","Lu","Yi","Jie","Jian","Huo","Meng","Qi","Lu","Lu","Chan","Shuang","Gen","Liang","Jian","Jian","Se","Yan","Fu","Ping","Yan","Yan","Cao","Cao","Yi","Le","Ting","Qiu","Ai","Nai","Tiao","Jiao","Jie","Peng","Wan","Yi","Chai","Mian","Mie","Gan","Qian","Yu","Yu","Shuo","Qiong","Tu","Xia","Qi","Mang","Zi","Hui","Sui","Zhi","Xiang","Bi","Fu","Tun","Wei","Wu","Zhi","Qi","Shan","Wen","Qian","Ren","Fou","Kou","Jie","Lu","Xu","Ji","Qin","Qi","Yuan","Fen","Ba","Rui","Xin","Ji","Hua","Hua","Fang","Wu","Jue","Gou","Zhi","Yun","Qin","Ao","Chu","Mao","Ya","Fei","Reng","Hang","Cong","Yin","You","Bian","Yi","Susa","Wei","Li","Pi","E","Xian","Chang","Cang","Meng","Su","Yi","Yuan","Ran","Ling","Tai","Tiao","Di","Miao","Qiong","Li","Yong","Ke","Mu","Pei","Bao","Gou","Min","Yi","Yi","Ju","Pi","Ruo","Ku","Zhu","Ni","Bo","Bing","Shan","Qiu","Yao","Xian","Ben","Hong","Ying","Zha","Dong","Ju","Die","Nie","Gan","Hu","Ping","Mei","Fu","Sheng","Gu","Bi","Wei"],mT[131]=["Fu","Zhuo","Mao","Fan","Qie","Mao","Mao","Ba","Zi","Mo","Zi","Di","Chi","Ji","Jing","Long",null,"Niao",null,"Xue","Ying","Qiong","Ge","Ming","Li","Rong","Yin","Gen","Qian","Chai","Chen","Yu","Xiu","Zi","Lie","Wu","Ji","Kui","Ce","Chong","Ci","Gou","Guang","Mang","Chi","Jiao","Jiao","Fu","Yu","Zhu","Zi","Jiang","Hui","Yin","Cha","Fa","Rong","Ru","Chong","Mang","Tong","Zhong",null,"Zhu","Xun","Huan","Kua","Quan","Gai","Da","Jing","Xing","Quan","Cao","Jing","Er","An","Shou","Chi","Ren","Jian","Ti","Huang","Ping","Li","Jin","Lao","Shu","Zhuang","Da","Jia","Rao","Bi","Ze","Qiao","Hui","Qi","Dang",null,"Rong","Hun","Ying","Luo","Ying","Xun","Jin","Sun","Yin","Mai","Hong","Zhou","Yao","Du","Wei","Chu","Dou","Fu","Ren","Yin","He","Bi","Bu","Yun","Di","Tu","Sui","Sui","Cheng","Chen","Wu","Bie","Xi","Geng","Li","Fu","Zhu","Mo","Li","Zhuang","Ji","Duo","Qiu","Sha","Suo","Chen","Feng","Ju","Mei","Meng","Xing","Jing","Che","Xin","Jun","Yan","Ting","Diao","Cuo","Wan","Han","You","Cuo","Jia","Wang","You","Niu","Shao","Xian","Lang","Fu","E","Mo","Wen","Jie","Nan","Mu","Kan","Lai","Lian","Shi","Wo","Usagi","Lian","Huo","You","Ying","Ying","Nuc","Chun","Mang","Mang","Ci","Wan","Jing","Di","Qu","Dong","Jian","Zou","Gu","La","Lu","Ju","Wei","Jun","Nie","Kun","He","Pu","Zi","Gao","Guo","Fu","Lun","Chang","Chou","Song","Chui","Zhan","Men","Cai","Ba","Li","Tu","Bo","Han","Bao","Qin","Juan","Xi","Qin","Di","Jie","Pu","Dang","Jin","Zhao","Tai","Geng","Hua","Gu","Ling","Fei","Jin","An","Wang","Beng","Zhou","Yan","Ju","Jian","Lin","Tan","Shu","Tian","Dao"],mT[132]=["Hu","Qi","He","Cui","Tao","Chun","Bei","Chang","Huan","Fei","Lai","Qi","Meng","Ping","Wei","Dan","Sha","Huan","Yan","Yi","Tiao","Qi","Wan","Ce","Nai","Kutabireru","Tuo","Jiu","Tie","Luo",null,null,"Meng",null,"Yaji",null,"Ying","Ying","Ying","Xiao","Sa","Qiu","Ke","Xiang","Wan","Yu","Yu","Fu","Lian","Xuan","Yuan","Nan","Ze","Wo","Chun","Xiao","Yu","Pian","Mao","An","E","Luo","Ying","Huo","Gua","Jiang","Mian","Zuo","Zuo","Ju","Bao","Rou","Xi","Xie","An","Qu","Jian","Fu","Lu","Jing","Pen","Feng","Hong","Hong","Hou","Yan","Tu","Zhu","Zi","Xiang","Shen","Ge","Jie","Jing","Mi","Huang","Shen","Pu","Gai","Dong","Zhou","Qian","Wei","Bo","Wei","Pa","Ji","Hu","Zang","Jia","Duan","Yao","Jun","Cong","Quan","Wei","Xian","Kui","Ting","Hun","Xi","Shi","Qi","Lan","Zong","Yao","Yuan","Mei","Yun","Shu","Di","Zhuan","Guan","Sukumo","Xue","Chan","Kai","Kui",null,"Jiang","Lou","Wei","Pai",null,"Sou","Yin","Shi","Chun","Shi","Yun","Zhen","Lang","Nu","Meng","He","Que","Suan","Yuan","Li","Ju","Xi","Pang","Chu","Xu","Tu","Liu","Wo","Zhen","Qian","Zu","Po","Cuo","Yuan","Chu","Yu","Kuai","Pan","Pu","Pu","Na","Shuo","Xi","Fen","Yun","Zheng","Jian","Ji","Ruo","Cang","En","Mi","Hao","Sun","Zhen","Ming","Sou","Xu","Liu","Xi","Gu","Lang","Rong","Weng","Gai","Cuo","Shi","Tang","Luo","Ru","Suo","Xian","Bei","Yao","Gui","Bi","Zong","Gun","Za","Xiu","Ce","Hai","Lan",null,"Ji","Li","Can","Lang","Yu",null,"Ying","Mo","Diao","Tiao","Mao","Tong","Zhu","Peng","An","Lian","Cong","Xi","Ping","Qiu","Jin","Chun","Jie","Wei","Tui","Cao","Yu","Yi","Ji","Liao","Bi","Lu","Su"],mT[133]=["Bu","Zhang","Luo","Jiang","Man","Yan","Ling","Ji","Piao","Gun","Han","Di","Su","Lu","She","Shang","Di","Mie","Xun","Man","Bo","Di","Cuo","Zhe","Sen","Xuan","Wei","Hu","Ao","Mi","Lou","Cu","Zhong","Cai","Po","Jiang","Mi","Cong","Niao","Hui","Jun","Yin","Jian","Yan","Shu","Yin","Kui","Chen","Hu","Sha","Kou","Qian","Ma","Zang","Sonoko","Qiang","Dou","Lian","Lin","Kou","Ai","Bi","Li","Wei","Ji","Xun","Sheng","Fan","Meng","Ou","Chan","Dian","Xun","Jiao","Rui","Rui","Lei","Yu","Qiao","Chu","Hua","Jian","Mai","Yun","Bao","You","Qu","Lu","Rao","Hui","E","Teng","Fei","Jue","Zui","Fa","Ru","Fen","Kui","Shun","Rui","Ya","Xu","Fu","Jue","Dang","Wu","Tong","Si","Xiao","Xi","Long","Yun",null,"Qi","Jian","Yun","Sun","Ling","Yu","Xia","Yong","Ji","Hong","Si","Nong","Lei","Xuan","Yun","Yu","Xi","Hao","Bo","Hao","Ai","Wei","Hui","Wei","Ji","Ci","Xiang","Luan","Mie","Yi","Leng","Jiang","Can","Shen","Qiang","Lian","Ke","Yuan","Da","Ti","Tang","Xie","Bi","Zhan","Sun","Lian","Fan","Ding","Jie","Gu","Xie","Shu","Jian","Kao","Hong","Sa","Xin","Xun","Yao","Hie","Sou","Shu","Xun","Dui","Pin","Wei","Neng","Chou","Mai","Ru","Piao","Tai","Qi","Zao","Chen","Zhen","Er","Ni","Ying","Gao","Cong","Xiao","Qi","Fa","Jian","Xu","Kui","Jie","Bian","Diao","Mi","Lan","Jin","Cang","Miao","Qiong","Qie","Xian",null,"Ou","Xian","Su","Lu","Yi","Xu","Xie","Li","Yi","La","Lei","Xiao","Di","Zhi","Bei","Teng","Yao","Mo","Huan","Piao","Fan","Sou","Tan","Tui","Qiong","Qiao","Wei","Liu","Hui",null,"Gao","Yun",null,"Li","Shu","Chu","Ai","Lin","Zao","Xuan","Chen","Lai","Huo"],mT[134]=["Tuo","Wu","Rui","Rui","Qi","Heng","Lu","Su","Tui","Mang","Yun","Pin","Yu","Xun","Ji","Jiong","Xian","Mo","Hagi","Su","Jiong",null,"Nie","Bo","Rang","Yi","Xian","Yu","Ju","Lian","Lian","Yin","Qiang","Ying","Long","Tong","Wei","Yue","Ling","Qu","Yao","Fan","Mi","Lan","Kui","Lan","Ji","Dang","Katsura","Lei","Lei","Hua","Feng","Zhi","Wei","Kui","Zhan","Huai","Li","Ji","Mi","Lei","Huai","Luo","Ji","Kui","Lu","Jian","San",null,"Lei","Quan","Xiao","Yi","Luan","Men","Bie","Hu","Hu","Lu","Nue","Lu","Si","Xiao","Qian","Chu","Hu","Xu","Cuo","Fu","Xu","Xu","Lu","Hu","Yu","Hao","Jiao","Ju","Guo","Bao","Yan","Zhan","Zhan","Kui","Ban","Xi","Shu","Chong","Qiu","Diao","Ji","Qiu","Cheng","Shi",null,"Di","Zhe","She","Yu","Gan","Zi","Hong","Hui","Meng","Ge","Sui","Xia","Chai","Shi","Yi","Ma","Xiang","Fang","E","Pa","Chi","Qian","Wen","Wen","Rui","Bang","Bi","Yue","Yue","Jun","Qi","Ran","Yin","Qi","Tian","Yuan","Jue","Hui","Qin","Qi","Zhong","Ya","Ci","Mu","Wang","Fen","Fen","Hang","Gong","Zao","Fu","Ran","Jie","Fu","Chi","Dou","Piao","Xian","Ni","Te","Qiu","You","Zha","Ping","Chi","You","He","Han","Ju","Li","Fu","Ran","Zha","Gou","Pi","Bo","Xian","Zhu","Diao","Bie","Bing","Gu","Ran","Qu","She","Tie","Ling","Gu","Dan","Gu","Ying","Li","Cheng","Qu","Mou","Ge","Ci","Hui","Hui","Mang","Fu","Yang","Wa","Lie","Zhu","Yi","Xian","Kuo","Jiao","Li","Yi","Ping","Ji","Ha","She","Yi","Wang","Mo","Qiong","Qie","Gui","Gong","Zhi","Man","Ebi","Zhi","Jia","Rao","Si","Qi","Xing","Lie","Qiu","Shao","Yong","Jia","Shui","Che","Bai","E","Han"],mT[135]=["Shu","Xuan","Feng","Shen","Zhen","Fu","Xian","Zhe","Wu","Fu","Li","Lang","Bi","Chu","Yuan","You","Jie","Dan","Yan","Ting","Dian","Shui","Hui","Gua","Zhi","Song","Fei","Ju","Mi","Qi","Qi","Yu","Jun","Zha","Meng","Qiang","Si","Xi","Lun","Li","Die","Tiao","Tao","Kun","Gan","Han","Yu","Bang","Fei","Pi","Wei","Dun","Yi","Yuan","Su","Quan","Qian","Rui","Ni","Qing","Wei","Liang","Guo","Wan","Dong","E","Ban","Di","Wang","Can","Yang","Ying","Guo","Chan",null,"La","Ke","Ji","He","Ting","Mai","Xu","Mian","Yu","Jie","Shi","Xuan","Huang","Yan","Bian","Rou","Wei","Fu","Yuan","Mei","Wei","Fu","Ruan","Xie","You","Qiu","Mao","Xia","Ying","Shi","Chong","Tang","Zhu","Zong","Ti","Fu","Yuan","Hui","Meng","La","Du","Hu","Qiu","Die","Li","Gua","Yun","Ju","Nan","Lou","Qun","Rong","Ying","Jiang",null,"Lang","Pang","Si","Xi","Ci","Xi","Yuan","Weng","Lian","Sou","Ban","Rong","Rong","Ji","Wu","Qiu","Han","Qin","Yi","Bi","Hua","Tang","Yi","Du","Nai","He","Hu","Hui","Ma","Ming","Yi","Wen","Ying","Teng","Yu","Cang","So","Ebi","Man",null,"Shang","Zhe","Cao","Chi","Di","Ao","Lu","Wei","Zhi","Tang","Chen","Piao","Qu","Pi","Yu","Jian","Luo","Lou","Qin","Zhong","Yin","Jiang","Shuai","Wen","Jiao","Wan","Zhi","Zhe","Ma","Ma","Guo","Liu","Mao","Xi","Cong","Li","Man","Xiao","Kamakiri","Zhang","Mang","Xiang","Mo","Zui","Si","Qiu","Te","Zhi","Peng","Peng","Jiao","Qu","Bie","Liao","Pan","Gui","Xi","Ji","Zhuan","Huang","Fei","Lao","Jue","Jue","Hui","Yin","Chan","Jiao","Shan","Rao","Xiao","Mou","Chong","Xun","Si",null,"Cheng","Dang","Li","Xie","Shan","Yi","Jing","Da","Chan","Qi"],mT[136]=["Ci","Xiang","She","Luo","Qin","Ying","Chai","Li","Ze","Xuan","Lian","Zhu","Ze","Xie","Mang","Xie","Qi","Rong","Jian","Meng","Hao","Ruan","Huo","Zhuo","Jie","Bin","He","Mie","Fan","Lei","Jie","La","Mi","Li","Chun","Li","Qiu","Nie","Lu","Du","Xiao","Zhu","Long","Li","Long","Feng","Ye","Beng","Shang","Gu","Juan","Ying",null,"Xi","Can","Qu","Quan","Du","Can","Man","Jue","Jie","Zhu","Zha","Xie","Huang","Niu","Pei","Nu","Xin","Zhong","Mo","Er","Ke","Mie","Xi","Xing","Yan","Kan","Yuan",null,"Ling","Xuan","Shu","Xian","Tong","Long","Jie","Xian","Ya","Hu","Wei","Dao","Chong","Wei","Dao","Zhun","Heng","Qu","Yi","Yi","Bu","Gan","Yu","Biao","Cha","Yi","Shan","Chen","Fu","Gun","Fen","Shuai","Jie","Na","Zhong","Dan","Ri","Zhong","Zhong","Xie","Qi","Xie","Ran","Zhi","Ren","Qin","Jin","Jun","Yuan","Mei","Chai","Ao","Niao","Hui","Ran","Jia","Tuo","Ling","Dai","Bao","Pao","Yao","Zuo","Bi","Shao","Tan","Ju","He","Shu","Xiu","Zhen","Yi","Pa","Bo","Di","Wa","Fu","Gun","Zhi","Zhi","Ran","Pan","Yi","Mao","Tuo","Na","Kou","Xian","Chan","Qu","Bei","Gun","Xi","Ne","Bo","Horo","Fu","Yi","Chi","Ku","Ren","Jiang","Jia","Cun","Mo","Jie","Er","Luo","Ru","Zhu","Gui","Yin","Cai","Lie","Kamishimo","Yuki","Zhuang","Dang",null,"Kun","Ken","Niao","Shu","Jia","Kun","Cheng","Li","Juan","Shen","Pou","Ge","Yi","Yu","Zhen","Liu","Qiu","Qun","Ji","Yi","Bu","Zhuang","Shui","Sha","Qun","Li","Lian","Lian","Ku","Jian","Fou","Chan","Bi","Gun","Tao","Yuan","Ling","Chi","Chang","Chou","Duo","Biao","Liang","Chang","Pei","Pei","Fei","Yuan","Luo","Guo","Yan","Du","Xi","Zhi","Ju","Qi"],mT[137]=["Ji","Zhi","Gua","Ken","Che","Ti","Ti","Fu","Chong","Xie","Bian","Die","Kun","Duan","Xiu","Xiu","He","Yuan","Bao","Bao","Fu","Yu","Tuan","Yan","Hui","Bei","Chu","Lu","Ena","Hitoe","Yun","Da","Gou","Da","Huai","Rong","Yuan","Ru","Nai","Jiong","Suo","Ban","Tun","Chi","Sang","Niao","Ying","Jie","Qian","Huai","Ku","Lian","Bao","Li","Zhe","Shi","Lu","Yi","Die","Xie","Xian","Wei","Biao","Cao","Ji","Jiang","Sen","Bao","Xiang","Chihaya","Pu","Jian","Zhuan","Jian","Zui","Ji","Dan","Za","Fan","Bo","Xiang","Xin","Bie","Rao","Man","Lan","Ao","Duo","Gui","Cao","Sui","Nong","Chan","Lian","Bi","Jin","Dang","Shu","Tan","Bi","Lan","Pu","Ru","Zhi",null,"Shu","Wa","Shi","Bai","Xie","Bo","Chen","Lai","Long","Xi","Xian","Lan","Zhe","Dai","Tasuki","Zan","Shi","Jian","Pan","Yi","Ran","Ya","Xi","Xi","Yao","Feng","Tan",null,"Biao","Fu","Ba","He","Ji","Ji","Jian","Guan","Bian","Yan","Gui","Jue","Pian","Mao","Mi","Mi","Mie","Shi","Si","Zhan","Luo","Jue","Mi","Tiao","Lian","Yao","Zhi","Jun","Xi","Shan","Wei","Xi","Tian","Yu","Lan","E","Du","Qin","Pang","Ji","Ming","Ying","Gou","Qu","Zhan","Jin","Guan","Deng","Jian","Luo","Qu","Jian","Wei","Jue","Qu","Luo","Lan","Shen","Di","Guan","Jian","Guan","Yan","Gui","Mi","Shi","Zhan","Lan","Jue","Ji","Xi","Di","Tian","Yu","Gou","Jin","Qu","Jiao","Jiu","Jin","Cu","Jue","Zhi","Chao","Ji","Gu","Dan","Zui","Di","Shang","Hua","Quan","Ge","Chi","Jie","Gui","Gong","Chu","Jie","Hun","Qiu","Xing","Su","Ni","Ji","Lu","Zhi","Zha","Bi","Xing","Hu","Shang","Gong","Zhi","Xue","Chu","Xi","Yi","Lu","Jue","Xi","Yan","Xi"],mT[138]=["Yan","Yan","Ding","Fu","Qiu","Qiu","Jiao","Hong","Ji","Fan","Xun","Diao","Hong","Cha","Tao","Xu","Jie","Yi","Ren","Xun","Yin","Shan","Qi","Tuo","Ji","Xun","Yin","E","Fen","Ya","Yao","Song","Shen","Yin","Xin","Jue","Xiao","Ne","Chen","You","Zhi","Xiong","Fang","Xin","Chao","She","Xian","Sha","Tun","Xu","Yi","Yi","Su","Chi","He","Shen","He","Xu","Zhen","Zhu","Zheng","Gou","Zi","Zi","Zhan","Gu","Fu","Quan","Die","Ling","Di","Yang","Li","Nao","Pan","Zhou","Gan","Yi","Ju","Ao","Zha","Tuo","Yi","Qu","Zhao","Ping","Bi","Xiong","Qu","Ba","Da","Zu","Tao","Zhu","Ci","Zhe","Yong","Xu","Xun","Yi","Huang","He","Shi","Cha","Jiao","Shi","Hen","Cha","Gou","Gui","Quan","Hui","Jie","Hua","Gai","Xiang","Wei","Shen","Chou","Tong","Mi","Zhan","Ming","E","Hui","Yan","Xiong","Gua","Er","Beng","Tiao","Chi","Lei","Zhu","Kuang","Kua","Wu","Yu","Teng","Ji","Zhi","Ren","Su","Lang","E","Kuang","E","Shi","Ting","Dan","Bo","Chan","You","Heng","Qiao","Qin","Shua","An","Yu","Xiao","Cheng","Jie","Xian","Wu","Wu","Gao","Song","Pu","Hui","Jing","Shuo","Zhen","Shuo","Du","Yasashi","Chang","Shui","Jie","Ke","Qu","Cong","Xiao","Sui","Wang","Xuan","Fei","Chi","Ta","Yi","Na","Yin","Diao","Pi","Chuo","Chan","Chen","Zhun","Ji","Qi","Tan","Zhui","Wei","Ju","Qing","Jian","Zheng","Ze","Zou","Qian","Zhuo","Liang","Jian","Zhu","Hao","Lun","Shen","Biao","Huai","Pian","Yu","Die","Xu","Pian","Shi","Xuan","Shi","Hun","Hua","E","Zhong","Di","Xie","Fu","Pu","Ting","Jian","Qi","Yu","Zi","Chuan","Xi","Hui","Yin","An","Xian","Nan","Chen","Feng","Zhu","Yang","Yan","Heng","Xuan","Ge","Nuo","Qi"],mT[139]=["Mou","Ye","Wei",null,"Teng","Zou","Shan","Jian","Bo","Ku","Huang","Huo","Ge","Ying","Mi","Xiao","Mi","Xi","Qiang","Chen","Nue","Ti","Su","Bang","Chi","Qian","Shi","Jiang","Yuan","Xie","Xue","Tao","Yao","Yao",null,"Yu","Biao","Cong","Qing","Li","Mo","Mo","Shang","Zhe","Miu","Jian","Ze","Jie","Lian","Lou","Can","Ou","Guan","Xi","Zhuo","Ao","Ao","Jin","Zhe","Yi","Hu","Jiang","Man","Chao","Han","Hua","Chan","Xu","Zeng","Se","Xi","She","Dui","Zheng","Nao","Lan","E","Ying","Jue","Ji","Zun","Jiao","Bo","Hui","Zhuan","Mu","Zen","Zha","Shi","Qiao","Tan","Zen","Pu","Sheng","Xuan","Zao","Tan","Dang","Sui","Qian","Ji","Jiao","Jing","Lian","Nou","Yi","Ai","Zhan","Pi","Hui","Hua","Yi","Yi","Shan","Rang","Nou","Qian","Zhui","Ta","Hu","Zhou","Hao","Ye","Ying","Jian","Yu","Jian","Hui","Du","Zhe","Xuan","Zan","Lei","Shen","Wei","Chan","Li","Yi","Bian","Zhe","Yan","E","Chou","Wei","Chou","Yao","Chan","Rang","Yin","Lan","Chen","Huo","Zhe","Huan","Zan","Yi","Dang","Zhan","Yan","Du","Yan","Ji","Ding","Fu","Ren","Ji","Jie","Hong","Tao","Rang","Shan","Qi","Tuo","Xun","Yi","Xun","Ji","Ren","Jiang","Hui","Ou","Ju","Ya","Ne","Xu","E","Lun","Xiong","Song","Feng","She","Fang","Jue","Zheng","Gu","He","Ping","Zu","Shi","Xiong","Zha","Su","Zhen","Di","Zou","Ci","Qu","Zhao","Bi","Yi","Yi","Kuang","Lei","Shi","Gua","Shi","Jie","Hui","Cheng","Zhu","Shen","Hua","Dan","Gou","Quan","Gui","Xun","Yi","Zheng","Gai","Xiang","Cha","Hun","Xu","Zhou","Jie","Wu","Yu","Qiao","Wu","Gao","You","Hui","Kuang","Shuo","Song","Ai","Qing","Zhu","Zou","Nuo","Du","Zhuo","Fei","Ke","Wei"],mT[140]=["Yu","Shui","Shen","Diao","Chan","Liang","Zhun","Sui","Tan","Shen","Yi","Mou","Chen","Die","Huang","Jian","Xie","Nue","Ye","Wei","E","Yu","Xuan","Chan","Zi","An","Yan","Di","Mi","Pian","Xu","Mo","Dang","Su","Xie","Yao","Bang","Shi","Qian","Mi","Jin","Man","Zhe","Jian","Miu","Tan","Zen","Qiao","Lan","Pu","Jue","Yan","Qian","Zhan","Chen","Gu","Qian","Hong","Xia","Jue","Hong","Han","Hong","Xi","Xi","Huo","Liao","Han","Du","Long","Dou","Jiang","Qi","Shi","Li","Deng","Wan","Bi","Shu","Xian","Feng","Zhi","Zhi","Yan","Yan","Shi","Chu","Hui","Tun","Yi","Tun","Yi","Jian","Ba","Hou","E","Cu","Xiang","Huan","Jian","Ken","Gai","Qu","Fu","Xi","Bin","Hao","Yu","Zhu","Jia",null,"Xi","Bo","Wen","Huan","Bin","Di","Zong","Fen","Yi","Zhi","Bao","Chai","Han","Pi","Na","Pi","Gou","Na","You","Diao","Mo","Si","Xiu","Huan","Kun","He","He","Mo","Han","Mao","Li","Ni","Bi","Yu","Jia","Tuan","Mao","Pi","Xi","E","Ju","Mo","Chu","Tan","Huan","Jue","Bei","Zhen","Yuan","Fu","Cai","Gong","Te","Yi","Hang","Wan","Pin","Huo","Fan","Tan","Guan","Ze","Zhi","Er","Zhu","Shi","Bi","Zi","Er","Gui","Pian","Bian","Mai","Dai","Sheng","Kuang","Fei","Tie","Yi","Chi","Mao","He","Bi","Lu","Ren","Hui","Gai","Pian","Zi","Jia","Xu","Zei","Jiao","Gai","Zang","Jian","Ying","Xun","Zhen","She","Bin","Bin","Qiu","She","Chuan","Zang","Zhou","Lai","Zan","Si","Chen","Shang","Tian","Pei","Geng","Xian","Mai","Jian","Sui","Fu","Tan","Cong","Cong","Zhi","Ji","Zhang","Du","Jin","Xiong","Shun","Yun","Bao","Zai","Lai","Feng","Cang","Ji","Sheng","Ai","Zhuan","Fu","Gou","Sai","Ze","Liao"],mT[141]=["Wei","Bai","Chen","Zhuan","Zhi","Zhui","Biao","Yun","Zeng","Tan","Zan","Yan",null,"Shan","Wan","Ying","Jin","Gan","Xian","Zang","Bi","Du","Shu","Yan",null,"Xuan","Long","Gan","Zang","Bei","Zhen","Fu","Yuan","Gong","Cai","Ze","Xian","Bai","Zhang","Huo","Zhi","Fan","Tan","Pin","Bian","Gou","Zhu","Guan","Er","Jian","Bi","Shi","Tie","Gui","Kuang","Dai","Mao","Fei","He","Yi","Zei","Zhi","Jia","Hui","Zi","Ren","Lu","Zang","Zi","Gai","Jin","Qiu","Zhen","Lai","She","Fu","Du","Ji","Shu","Shang","Si","Bi","Zhou","Geng","Pei","Tan","Lai","Feng","Zhui","Fu","Zhuan","Sai","Ze","Yan","Zan","Yun","Zeng","Shan","Ying","Gan","Chi","Xi","She","Nan","Xiong","Xi","Cheng","He","Cheng","Zhe","Xia","Tang","Zou","Zou","Li","Jiu","Fu","Zhao","Gan","Qi","Shan","Qiong","Qin","Xian","Ci","Jue","Qin","Chi","Ci","Chen","Chen","Die","Ju","Chao","Di","Se","Zhan","Zhu","Yue","Qu","Jie","Chi","Chu","Gua","Xue","Ci","Tiao","Duo","Lie","Gan","Suo","Cu","Xi","Zhao","Su","Yin","Ju","Jian","Que","Tang","Chuo","Cui","Lu","Qu","Dang","Qiu","Zi","Ti","Qu","Chi","Huang","Qiao","Qiao","Yao","Zao","Ti",null,"Zan","Zan","Zu","Pa","Bao","Ku","Ke","Dun","Jue","Fu","Chen","Jian","Fang","Zhi","Sa","Yue","Pa","Qi","Yue","Qiang","Tuo","Tai","Yi","Nian","Ling","Mei","Ba","Die","Ku","Tuo","Jia","Ci","Pao","Qia","Zhu","Ju","Die","Zhi","Fu","Pan","Ju","Shan","Bo","Ni","Ju","Li","Gen","Yi","Ji","Dai","Xian","Jiao","Duo","Zhu","Zhuan","Kua","Zhuai","Gui","Qiong","Kui","Xiang","Chi","Lu","Beng","Zhi","Jia","Tiao","Cai","Jian","Ta","Qiao","Bi","Xian","Duo","Ji","Ju","Ji","Shu","Tu"],mT[142]=["Chu","Jing","Nie","Xiao","Bo","Chi","Qun","Mou","Shu","Lang","Yong","Jiao","Chou","Qiao",null,"Ta","Jian","Qi","Wo","Wei","Zhuo","Jie","Ji","Nie","Ju","Ju","Lun","Lu","Leng","Huai","Ju","Chi","Wan","Quan","Ti","Bo","Zu","Qie","Ji","Cu","Zong","Cai","Zong","Peng","Zhi","Zheng","Dian","Zhi","Yu","Duo","Dun","Chun","Yong","Zhong","Di","Zhe","Chen","Chuai","Jian","Gua","Tang","Ju","Fu","Zu","Die","Pian","Rou","Nuo","Ti","Cha","Tui","Jian","Dao","Cuo","Xi","Ta","Qiang","Zhan","Dian","Ti","Ji","Nie","Man","Liu","Zhan","Bi","Chong","Lu","Liao","Cu","Tang","Dai","Suo","Xi","Kui","Ji","Zhi","Qiang","Di","Man","Zong","Lian","Beng","Zao","Nian","Bie","Tui","Ju","Deng","Ceng","Xian","Fan","Chu","Zhong","Dun","Bo","Cu","Zu","Jue","Jue","Lin","Ta","Qiao","Qiao","Pu","Liao","Dun","Cuan","Kuang","Zao","Ta","Bi","Bi","Zhu","Ju","Chu","Qiao","Dun","Chou","Ji","Wu","Yue","Nian","Lin","Lie","Zhi","Li","Zhi","Chan","Chu","Duan","Wei","Long","Lin","Xian","Wei","Zuan","Lan","Xie","Rang","Xie","Nie","Ta","Qu","Jie","Cuan","Zuan","Xi","Kui","Jue","Lin","Shen","Gong","Dan","Segare","Qu","Ti","Duo","Duo","Gong","Lang","Nerau","Luo","Ai","Ji","Ju","Tang","Utsuke",null,"Yan","Shitsuke","Kang","Qu","Lou","Lao","Tuo","Zhi","Yagate","Ti","Dao","Yagate","Yu","Che","Ya","Gui","Jun","Wei","Yue","Xin","Di","Xuan","Fan","Ren","Shan","Qiang","Shu","Tun","Chen","Dai","E","Na","Qi","Mao","Ruan","Ren","Fan","Zhuan","Hong","Hu","Qu","Huang","Di","Ling","Dai","Ao","Zhen","Fan","Kuang","Ang","Peng","Bei","Gu","Ku","Pao","Zhu","Rong","E","Ba","Zhou","Zhi","Yao","Ke","Yi","Qing","Shi","Ping"],mT[143]=["Er","Qiong","Ju","Jiao","Guang","Lu","Kai","Quan","Zhou","Zai","Zhi","She","Liang","Yu","Shao","You","Huan","Yun","Zhe","Wan","Fu","Qing","Zhou","Ni","Ling","Zhe","Zhan","Liang","Zi","Hui","Wang","Chuo","Guo","Kan","Yi","Peng","Qian","Gun","Nian","Pian","Guan","Bei","Lun","Pai","Liang","Ruan","Rou","Ji","Yang","Xian","Chuan","Cou","Qun","Ge","You","Hong","Shu","Fu","Zi","Fu","Wen","Ben","Zhan","Yu","Wen","Tao","Gu","Zhen","Xia","Yuan","Lu","Jiu","Chao","Zhuan","Wei","Hun","Sori","Che","Jiao","Zhan","Pu","Lao","Fen","Fan","Lin","Ge","Se","Kan","Huan","Yi","Ji","Dui","Er","Yu","Xian","Hong","Lei","Pei","Li","Li","Lu","Lin","Che","Ya","Gui","Xuan","Di","Ren","Zhuan","E","Lun","Ruan","Hong","Ku","Ke","Lu","Zhou","Zhi","Yi","Hu","Zhen","Li","Yao","Qing","Shi","Zai","Zhi","Jiao","Zhou","Quan","Lu","Jiao","Zhe","Fu","Liang","Nian","Bei","Hui","Gun","Wang","Liang","Chuo","Zi","Cou","Fu","Ji","Wen","Shu","Pei","Yuan","Xia","Zhan","Lu","Che","Lin","Xin","Gu","Ci","Ci","Pi","Zui","Bian","La","La","Ci","Xue","Ban","Bian","Bian","Bian",null,"Bian","Ban","Ci","Bian","Bian","Chen","Ru","Nong","Nong","Zhen","Chuo","Chuo","Suberu","Reng","Bian","Bian","Sip","Ip","Liao","Da","Chan","Gan","Qian","Yu","Yu","Qi","Xun","Yi","Guo","Mai","Qi","Za","Wang","Jia","Zhun","Ying","Ti","Yun","Jin","Hang","Ya","Fan","Wu","Da","E","Huan","Zhe","Totemo","Jin","Yuan","Wei","Lian","Chi","Che","Ni","Tiao","Zhi","Yi","Jiong","Jia","Chen","Dai","Er","Di","Po","Wang","Die","Ze","Tao","Shu","Tuo","Kep","Jing","Hui","Tong","You","Mi","Beng","Ji","Nai","Yi","Jie","Zhui","Lie","Xun"],mT[144]=["Tui","Song","Gua","Tao","Pang","Hou","Ni","Dun","Jiong","Xuan","Xun","Bu","You","Xiao","Qiu","Tou","Zhu","Qiu","Di","Di","Tu","Jing","Ti","Dou","Yi","Zhe","Tong","Guang","Wu","Shi","Cheng","Su","Zao","Qun","Feng","Lian","Suo","Hui","Li","Sako","Lai","Ben","Cuo","Jue","Beng","Huan","Dai","Lu","You","Zhou","Jin","Yu","Chuo","Kui","Wei","Ti","Yi","Da","Yuan","Luo","Bi","Nuo","Yu","Dang","Sui","Dun","Sui","Yan","Chuan","Chi","Ti","Yu","Shi","Zhen","You","Yun","E","Bian","Guo","E","Xia","Huang","Qiu","Dao","Da","Wei","Appare","Yi","Gou","Yao","Chu","Liu","Xun","Ta","Di","Chi","Yuan","Su","Ta","Qian",null,"Yao","Guan","Zhang","Ao","Shi","Ce","Chi","Su","Zao","Zhe","Dun","Di","Lou","Chi","Cuo","Lin","Zun","Rao","Qian","Xuan","Yu","Yi","Wu","Liao","Ju","Shi","Bi","Yao","Mai","Xie","Sui","Huan","Zhan","Teng","Er","Miao","Bian","Bian","La","Li","Yuan","Yao","Luo","Li","Yi","Ting","Deng","Qi","Yong","Shan","Han","Yu","Mang","Ru","Qiong",null,"Kuang","Fu","Kang","Bin","Fang","Xing","Na","Xin","Shen","Bang","Yuan","Cun","Huo","Xie","Bang","Wu","Ju","You","Han","Tai","Qiu","Bi","Pei","Bing","Shao","Bei","Wa","Di","Zou","Ye","Lin","Kuang","Gui","Zhu","Shi","Ku","Yu","Gai","Ge","Xi","Zhi","Ji","Xun","Hou","Xing","Jiao","Xi","Gui","Nuo","Lang","Jia","Kuai","Zheng","Otoko","Yun","Yan","Cheng","Dou","Chi","Lu","Fu","Wu","Fu","Gao","Hao","Lang","Jia","Geng","Jun","Ying","Bo","Xi","Bei","Li","Yun","Bu","Xiao","Qi","Pi","Qing","Guo","Zhou","Tan","Zou","Ping","Lai","Ni","Chen","You","Bu","Xiang","Dan","Ju","Yong","Qiao","Yi","Du","Yan","Mei"],mT[145]=["Ruo","Bei","E","Yu","Juan","Yu","Yun","Hou","Kui","Xiang","Xiang","Sou","Tang","Ming","Xi","Ru","Chu","Zi","Zou","Ju","Wu","Xiang","Yun","Hao","Yong","Bi","Mo","Chao","Fu","Liao","Yin","Zhuan","Hu","Qiao","Yan","Zhang","Fan","Qiao","Xu","Deng","Bi","Xin","Bi","Ceng","Wei","Zheng","Mao","Shan","Lin","Po","Dan","Meng","Ye","Cao","Kuai","Feng","Meng","Zou","Kuang","Lian","Zan","Chan","You","Qi","Yan","Chan","Zan","Ling","Huan","Xi","Feng","Zan","Li","You","Ding","Qiu","Zhuo","Pei","Zhou","Yi","Hang","Yu","Jiu","Yan","Zui","Mao","Dan","Xu","Tou","Zhen","Fen","Sakenomoto",null,"Yun","Tai","Tian","Qia","Tuo","Zuo","Han","Gu","Su","Po","Chou","Zai","Ming","Luo","Chuo","Chou","You","Tong","Zhi","Xian","Jiang","Cheng","Yin","Tu","Xiao","Mei","Ku","Suan","Lei","Pu","Zui","Hai","Yan","Xi","Niang","Wei","Lu","Lan","Yan","Tao","Pei","Zhan","Chun","Tan","Zui","Chuo","Cu","Kun","Ti","Mian","Du","Hu","Xu","Xing","Tan","Jiu","Chun","Yun","Po","Ke","Sou","Mi","Quan","Chou","Cuo","Yun","Yong","Ang","Zha","Hai","Tang","Jiang","Piao","Shan","Yu","Li","Zao","Lao","Yi","Jiang","Pu","Jiao","Xi","Tan","Po","Nong","Yi","Li","Ju","Jiao","Yi","Niang","Ru","Xun","Chou","Yan","Ling","Mi","Mi","Niang","Xin","Jiao","Xi","Mi","Yan","Bian","Cai","Shi","You","Shi","Shi","Li","Chong","Ye","Liang","Li","Jin","Jin","Qiu","Yi","Diao","Dao","Zhao","Ding","Po","Qiu","He","Fu","Zhen","Zhi","Ba","Luan","Fu","Nai","Diao","Shan","Qiao","Kou","Chuan","Zi","Fan","Yu","Hua","Han","Gong","Qi","Mang","Ri","Di","Si","Xi","Yi","Chai","Shi","Tu","Xi","Nu","Qian","Ishiyumi","Jian","Pi","Ye","Yin"],mT[146]=["Ba","Fang","Chen","Xing","Tou","Yue","Yan","Fu","Pi","Na","Xin","E","Jue","Dun","Gou","Yin","Qian","Ban","Ji","Ren","Chao","Niu","Fen","Yun","Ji","Qin","Pi","Guo","Hong","Yin","Jun","Shi","Yi","Zhong","Nie","Gai","Ri","Huo","Tai","Kang","Habaki","Irori","Ngaak",null,"Duo","Zi","Ni","Tu","Shi","Min","Gu","E","Ling","Bing","Yi","Gu","Ba","Pi","Yu","Si","Zuo","Bu","You","Dian","Jia","Zhen","Shi","Shi","Tie","Ju","Zhan","Shi","She","Xuan","Zhao","Bao","He","Bi","Sheng","Chu","Shi","Bo","Zhu","Chi","Za","Po","Tong","Qian","Fu","Zhai","Liu","Qian","Fu","Li","Yue","Pi","Yang","Ban","Bo","Jie","Gou","Shu","Zheng","Mu","Ni","Nie","Di","Jia","Mu","Dan","Shen","Yi","Si","Kuang","Ka","Bei","Jian","Tong","Xing","Hong","Jiao","Chi","Er","Ge","Bing","Shi","Mou","Jia","Yin","Jun","Zhou","Chong","Shang","Tong","Mo","Lei","Ji","Yu","Xu","Ren","Zun","Zhi","Qiong","Shan","Chi","Xian","Xing","Quan","Pi","Tie","Zhu","Hou","Ming","Kua","Yao","Xian","Xian","Xiu","Jun","Cha","Lao","Ji","Pi","Ru","Mi","Yi","Yin","Guang","An","Diou","You","Se","Kao","Qian","Luan","Kasugai","Ai","Diao","Han","Rui","Shi","Keng","Qiu","Xiao","Zhe","Xiu","Zang","Ti","Cuo","Gua","Gong","Zhong","Dou","Lu","Mei","Lang","Wan","Xin","Yun","Bei","Wu","Su","Yu","Chan","Ting","Bo","Han","Jia","Hong","Cuan","Feng","Chan","Wan","Zhi","Si","Xuan","Wu","Wu","Tiao","Gong","Zhuo","Lue","Xing","Qian","Shen","Han","Lue","Xie","Chu","Zheng","Ju","Xian","Tie","Mang","Pu","Li","Pan","Rui","Cheng","Gao","Li","Te","Pyeng","Zhu",null,"Tu","Liu","Zui","Ju","Chang","Yuan","Jian","Gang","Diao","Tao","Chang"],mT[147]=["Lun","Kua","Ling","Bei","Lu","Li","Qiang","Pou","Juan","Min","Zui","Peng","An","Pi","Xian","Ya","Zhui","Lei","A","Kong","Ta","Kun","Du","Wei","Chui","Zi","Zheng","Ben","Nie","Cong","Qun","Tan","Ding","Qi","Qian","Zhuo","Qi","Yu","Jin","Guan","Mao","Chang","Tian","Xi","Lian","Tao","Gu","Cuo","Shu","Zhen","Lu","Meng","Lu","Hua","Biao","Ga","Lai","Ken","Kazari","Bu","Nai","Wan","Zan",null,"De","Xian",null,"Huo","Liang",null,"Men","Kai","Ying","Di","Lian","Guo","Xian","Du","Tu","Wei","Cong","Fu","Rou","Ji","E","Rou","Chen","Ti","Zha","Hong","Yang","Duan","Xia","Yu","Keng","Xing","Huang","Wei","Fu","Zhao","Cha","Qie","She","Hong","Kui","Tian","Mou","Qiao","Qiao","Hou","Tou","Cong","Huan","Ye","Min","Jian","Duan","Jian","Song","Kui","Hu","Xuan","Duo","Jie","Zhen","Bian","Zhong","Zi","Xiu","Ye","Mei","Pai","Ai","Jie",null,"Mei","Chuo","Ta","Bang","Xia","Lian","Suo","Xi","Liu","Zu","Ye","Nou","Weng","Rong","Tang","Suo","Qiang","Ge","Shuo","Chui","Bo","Pan","Sa","Bi","Sang","Gang","Zi","Wu","Ying","Huang","Tiao","Liu","Kai","Sun","Sha","Sou","Wan","Hao","Zhen","Zhen","Luo","Yi","Yuan","Tang","Nie","Xi","Jia","Ge","Ma","Juan","Kasugai","Habaki","Suo",null,null,null,"Na","Lu","Suo","Ou","Zu","Tuan","Xiu","Guan","Xuan","Lian","Shou","Ao","Man","Mo","Luo","Bi","Wei","Liu","Di","Qiao","Cong","Yi","Lu","Ao","Keng","Qiang","Cui","Qi","Chang","Tang","Man","Yong","Chan","Feng","Jing","Biao","Shu","Lou","Xiu","Cong","Long","Zan","Jian","Cao","Li","Xia","Xi","Kang",null,"Beng",null,null,"Zheng","Lu","Hua","Ji","Pu","Hui","Qiang","Po","Lin","Suo","Xiu","San","Cheng"],mT[148]=["Kui","Si","Liu","Nao","Heng","Pie","Sui","Fan","Qiao","Quan","Yang","Tang","Xiang","Jue","Jiao","Zun","Liao","Jie","Lao","Dui","Tan","Zan","Ji","Jian","Zhong","Deng","Ya","Ying","Dui","Jue","Nou","Ti","Pu","Tie",null,null,"Ding","Shan","Kai","Jian","Fei","Sui","Lu","Juan","Hui","Yu","Lian","Zhuo","Qiao","Qian","Zhuo","Lei","Bi","Tie","Huan","Ye","Duo","Guo","Dang","Ju","Fen","Da","Bei","Yi","Ai","Zong","Xun","Diao","Zhu","Heng","Zhui","Ji","Nie","Ta","Huo","Qing","Bin","Ying","Kui","Ning","Xu","Jian","Jian","Yari","Cha","Zhi","Mie","Li","Lei","Ji","Zuan","Kuang","Shang","Peng","La","Du","Shuo","Chuo","Lu","Biao","Bao","Lu",null,null,"Long","E","Lu","Xin","Jian","Lan","Bo","Jian","Yao","Chan","Xiang","Jian","Xi","Guan","Cang","Nie","Lei","Cuan","Qu","Pan","Luo","Zuan","Luan","Zao","Nie","Jue","Tang","Shu","Lan","Jin","Qiu","Yi","Zhen","Ding","Zhao","Po","Diao","Tu","Qian","Chuan","Shan","Ji","Fan","Diao","Men","Nu","Xi","Chai","Xing","Gai","Bu","Tai","Ju","Dun","Chao","Zhong","Na","Bei","Gang","Ban","Qian","Yao","Qin","Jun","Wu","Gou","Kang","Fang","Huo","Tou","Niu","Ba","Yu","Qian","Zheng","Qian","Gu","Bo","E","Po","Bu","Ba","Yue","Zuan","Mu","Dan","Jia","Dian","You","Tie","Bo","Ling","Shuo","Qian","Liu","Bao","Shi","Xuan","She","Bi","Ni","Pi","Duo","Xing","Kao","Lao","Er","Mang","Ya","You","Cheng","Jia","Ye","Nao","Zhi","Dang","Tong","Lu","Diao","Yin","Kai","Zha","Zhu","Xian","Ting","Diu","Xian","Hua","Quan","Sha","Jia","Yao","Ge","Ming","Zheng","Se","Jiao","Yi","Chan","Chong","Tang","An","Yin","Ru","Zhu","Lao","Pu","Wu","Lai","Te","Lian","Keng"],mT[149]=["Xiao","Suo","Li","Zheng","Chu","Guo","Gao","Tie","Xiu","Cuo","Lue","Feng","Xin","Liu","Kai","Jian","Rui","Ti","Lang","Qian","Ju","A","Qiang","Duo","Tian","Cuo","Mao","Ben","Qi","De","Kua","Kun","Chang","Xi","Gu","Luo","Chui","Zhui","Jin","Zhi","Xian","Juan","Huo","Pou","Tan","Ding","Jian","Ju","Meng","Zi","Qie","Ying","Kai","Qiang","Song","E","Cha","Qiao","Zhong","Duan","Sou","Huang","Huan","Ai","Du","Mei","Lou","Zi","Fei","Mei","Mo","Zhen","Bo","Ge","Nie","Tang","Juan","Nie","Na","Liu","Hao","Bang","Yi","Jia","Bin","Rong","Biao","Tang","Man","Luo","Beng","Yong","Jing","Di","Zu","Xuan","Liu","Tan","Jue","Liao","Pu","Lu","Dui","Lan","Pu","Cuan","Qiang","Deng","Huo","Lei","Huan","Zhuo","Lian","Yi","Cha","Biao","La","Chan","Xiang","Chang","Chang","Jiu","Ao","Die","Qu","Liao","Mi","Chang","Men","Ma","Shuan","Shan","Huo","Men","Yan","Bi","Han","Bi","San","Kai","Kang","Beng","Hong","Run","San","Xian","Xian","Jian","Min","Xia","Yuru","Dou","Zha","Nao","Jian","Peng","Xia","Ling","Bian","Bi","Run","He","Guan","Ge","Ge","Fa","Chu","Hong","Gui","Min","Se","Kun","Lang","Lu","Ting","Sha","Ju","Yue","Yue","Chan","Qu","Lin","Chang","Shai","Kun","Yan","Min","Yan","E","Hun","Yu","Wen","Xiang","Bao","Xiang","Qu","Yao","Wen","Ban","An","Wei","Yin","Kuo","Que","Lan","Du",null,"Phwung","Tian","Nie","Ta","Kai","He","Que","Chuang","Guan","Dou","Qi","Kui","Tang","Guan","Piao","Kan","Xi","Hui","Chan","Pi","Dang","Huan","Ta","Wen",null,"Men","Shuan","Shan","Yan","Han","Bi","Wen","Chuang","Run","Wei","Xian","Hong","Jian","Min","Kang","Men","Zha","Nao","Gui","Wen","Ta","Min","Lu","Kai"],mT[150]=["Fa","Ge","He","Kun","Jiu","Yue","Lang","Du","Yu","Yan","Chang","Xi","Wen","Hun","Yan","E","Chan","Lan","Qu","Hui","Kuo","Que","Ge","Tian","Ta","Que","Kan","Huan","Fu","Fu","Le","Dui","Xin","Qian","Wu","Yi","Tuo","Yin","Yang","Dou","E","Sheng","Ban","Pei","Keng","Yun","Ruan","Zhi","Pi","Jing","Fang","Yang","Yin","Zhen","Jie","Cheng","E","Qu","Di","Zu","Zuo","Dian","Ling","A","Tuo","Tuo","Po","Bing","Fu","Ji","Lu","Long","Chen","Xing","Duo","Lou","Mo","Jiang","Shu","Duo","Xian","Er","Gui","Yu","Gai","Shan","Xun","Qiao","Xing","Chun","Fu","Bi","Xia","Shan","Sheng","Zhi","Pu","Dou","Yuan","Zhen","Chu","Xian","Tou","Nie","Yun","Xian","Pei","Pei","Zou","Yi","Dui","Lun","Yin","Ju","Chui","Chen","Pi","Ling","Tao","Xian","Lu","Sheng","Xian","Yin","Zhu","Yang","Reng","Shan","Chong","Yan","Yin","Yu","Ti","Yu","Long","Wei","Wei","Nie","Dui","Sui","An","Huang","Jie","Sui","Yin","Gai","Yan","Hui","Ge","Yun","Wu","Wei","Ai","Xi","Tang","Ji","Zhang","Dao","Ao","Xi","Yin",null,"Rao","Lin","Tui","Deng","Pi","Sui","Sui","Yu","Xian","Fen","Ni","Er","Ji","Dao","Xi","Yin","E","Hui","Long","Xi","Li","Li","Li","Zhui","He","Zhi","Zhun","Jun","Nan","Yi","Que","Yan","Qian","Ya","Xiong","Ya","Ji","Gu","Huan","Zhi","Gou","Jun","Ci","Yong","Ju","Chu","Hu","Za","Luo","Yu","Chou","Diao","Sui","Han","Huo","Shuang","Guan","Chu","Za","Yong","Ji","Xi","Chou","Liu","Li","Nan","Xue","Za","Ji","Ji","Yu","Yu","Xue","Na","Fou","Se","Mu","Wen","Fen","Pang","Yun","Li","Li","Ang","Ling","Lei","An","Bao","Meng","Dian","Dang","Xing","Wu","Zhao"],mT[151]=["Xu","Ji","Mu","Chen","Xiao","Zha","Ting","Zhen","Pei","Mei","Ling","Qi","Chou","Huo","Sha","Fei","Weng","Zhan","Yin","Ni","Chou","Tun","Lin",null,"Dong","Ying","Wu","Ling","Shuang","Ling","Xia","Hong","Yin","Mo","Mai","Yun","Liu","Meng","Bin","Wu","Wei","Huo","Yin","Xi","Yi","Ai","Dan","Deng","Xian","Yu","Lu","Long","Dai","Ji","Pang","Yang","Ba","Pi","Wei",null,"Xi","Ji","Mai","Meng","Meng","Lei","Li","Huo","Ai","Fei","Dai","Long","Ling","Ai","Feng","Li","Bao",null,"He","He","Bing","Qing","Qing","Jing","Tian","Zhen","Jing","Cheng","Qing","Jing","Jing","Dian","Jing","Tian","Fei","Fei","Kao","Mi","Mian","Mian","Pao","Ye","Tian","Hui","Ye","Ge","Ding","Cha","Jian","Ren","Di","Du","Wu","Ren","Qin","Jin","Xue","Niu","Ba","Yin","Sa","Na","Mo","Zu","Da","Ban","Yi","Yao","Tao","Tuo","Jia","Hong","Pao","Yang","Tomo","Yin","Jia","Tao","Ji","Xie","An","An","Hen","Gong","Kohaze","Da","Qiao","Ting","Wan","Ying","Sui","Tiao","Qiao","Xuan","Kong","Beng","Ta","Zhang","Bing","Kuo","Ju","La","Xie","Rou","Bang","Yi","Qiu","Qiu","He","Xiao","Mu","Ju","Jian","Bian","Di","Jian","On","Tao","Gou","Ta","Bei","Xie","Pan","Ge","Bi","Kuo","Tang","Lou","Gui","Qiao","Xue","Ji","Jian","Jiang","Chan","Da","Huo","Xian","Qian","Du","Wa","Jian","Lan","Wei","Ren","Fu","Mei","Juan","Ge","Wei","Qiao","Han","Chang",null,"Rou","Xun","She","Wei","Ge","Bei","Tao","Gou","Yun",null,"Bi","Wei","Hui","Du","Wa","Du","Wei","Ren","Fu","Han","Wei","Yun","Tao","Jiu","Jiu","Xian","Xie","Xian","Ji","Yin","Za","Yun","Shao","Le","Peng","Heng","Ying","Yun","Peng","Yin","Yin","Xiang"],mT[152]=["Hu","Ye","Ding","Qing","Pan","Xiang","Shun","Han","Xu","Yi","Xu","Gu","Song","Kui","Qi","Hang","Yu","Wan","Ban","Dun","Di","Dan","Pan","Po","Ling","Ce","Jing","Lei","He","Qiao","E","E","Wei","Jie","Gua","Shen","Yi","Shen","Hai","Dui","Pian","Ping","Lei","Fu","Jia","Tou","Hui","Kui","Jia","Le","Tian","Cheng","Ying","Jun","Hu","Han","Jing","Tui","Tui","Pin","Lai","Tui","Zi","Zi","Chui","Ding","Lai","Yan","Han","Jian","Ke","Cui","Jiong","Qin","Yi","Sai","Ti","E","E","Yan","Hun","Kan","Yong","Zhuan","Yan","Xian","Xin","Yi","Yuan","Sang","Dian","Dian","Jiang","Ku","Lei","Liao","Piao","Yi","Man","Qi","Rao","Hao","Qiao","Gu","Xun","Qian","Hui","Zhan","Ru","Hong","Bin","Xian","Pin","Lu","Lan","Nie","Quan","Ye","Ding","Qing","Han","Xiang","Shun","Xu","Xu","Wan","Gu","Dun","Qi","Ban","Song","Hang","Yu","Lu","Ling","Po","Jing","Jie","Jia","Tian","Han","Ying","Jiong","Hai","Yi","Pin","Hui","Tui","Han","Ying","Ying","Ke","Ti","Yong","E","Zhuan","Yan","E","Nie","Man","Dian","Sang","Hao","Lei","Zhan","Ru","Pin","Quan","Feng","Biao","Oroshi","Fu","Xia","Zhan","Biao","Sa","Ba","Tai","Lie","Gua","Xuan","Shao","Ju","Bi","Si","Wei","Yang","Yao","Sou","Kai","Sao","Fan","Liu","Xi","Liao","Piao","Piao","Liu","Biao","Biao","Biao","Liao",null,"Se","Feng","Biao","Feng","Yang","Zhan","Biao","Sa","Ju","Si","Sou","Yao","Liu","Piao","Biao","Biao","Fei","Fan","Fei","Fei","Shi","Shi","Can","Ji","Ding","Si","Tuo","Zhan","Sun","Xiang","Tun","Ren","Yu","Juan","Chi","Yin","Fan","Fan","Sun","Yin","Zhu","Yi","Zhai","Bi","Jie","Tao","Liu","Ci","Tie","Si","Bao","Shi","Duo"],mT[153]=["Hai","Ren","Tian","Jiao","Jia","Bing","Yao","Tong","Ci","Xiang","Yang","Yang","Er","Yan","Le","Yi","Can","Bo","Nei","E","Bu","Jun","Dou","Su","Yu","Shi","Yao","Hun","Guo","Shi","Jian","Zhui","Bing","Xian","Bu","Ye","Tan","Fei","Zhang","Wei","Guan","E","Nuan","Hun","Hu","Huang","Tie","Hui","Jian","Hou","He","Xing","Fen","Wei","Gu","Cha","Song","Tang","Bo","Gao","Xi","Kui","Liu","Sou","Tao","Ye","Yun","Mo","Tang","Man","Bi","Yu","Xiu","Jin","San","Kui","Zhuan","Shan","Chi","Dan","Yi","Ji","Rao","Cheng","Yong","Tao","Hui","Xiang","Zhan","Fen","Hai","Meng","Yan","Mo","Chan","Xiang","Luo","Zuan","Nang","Shi","Ding","Ji","Tuo","Xing","Tun","Xi","Ren","Yu","Chi","Fan","Yin","Jian","Shi","Bao","Si","Duo","Yi","Er","Rao","Xiang","Jia","Le","Jiao","Yi","Bing","Bo","Dou","E","Yu","Nei","Jun","Guo","Hun","Xian","Guan","Cha","Kui","Gu","Sou","Chan","Ye","Mo","Bo","Liu","Xiu","Jin","Man","San","Zhuan","Nang","Shou","Kui","Guo","Xiang","Fen","Ba","Ni","Bi","Bo","Tu","Han","Fei","Jian","An","Ai","Fu","Xian","Wen","Xin","Fen","Bin","Xing","Ma","Yu","Feng","Han","Di","Tuo","Tuo","Chi","Xun","Zhu","Zhi","Pei","Xin","Ri","Sa","Yin","Wen","Zhi","Dan","Lu","You","Bo","Bao","Kuai","Tuo","Yi","Qu",null,"Qu","Jiong","Bo","Zhao","Yuan","Peng","Zhou","Ju","Zhu","Nu","Ju","Pi","Zang","Jia","Ling","Zhen","Tai","Fu","Yang","Shi","Bi","Tuo","Tuo","Si","Liu","Ma","Pian","Tao","Zhi","Rong","Teng","Dong","Xun","Quan","Shen","Jiong","Er","Hai","Bo","Zhu","Yin","Luo","Shuu","Dan","Xie","Liu","Ju","Song","Qin","Mang","Liang","Han","Tu","Xuan","Tui","Jun"],mT[154]=["E","Cheng","Xin","Ai","Lu","Zhui","Zhou","She","Pian","Kun","Tao","Lai","Zong","Ke","Qi","Qi","Yan","Fei","Sao","Yan","Jie","Yao","Wu","Pian","Cong","Pian","Qian","Fei","Huang","Jian","Huo","Yu","Ti","Quan","Xia","Zong","Kui","Rou","Si","Gua","Tuo","Kui","Sou","Qian","Cheng","Zhi","Liu","Pang","Teng","Xi","Cao","Du","Yan","Yuan","Zou","Sao","Shan","Li","Zhi","Shuang","Lu","Xi","Luo","Zhang","Mo","Ao","Can","Piao","Cong","Qu","Bi","Zhi","Yu","Xu","Hua","Bo","Su","Xiao","Lin","Chan","Dun","Liu","Tuo","Zeng","Tan","Jiao","Tie","Yan","Luo","Zhan","Jing","Yi","Ye","Tuo","Bin","Zou","Yan","Peng","Lu","Teng","Xiang","Ji","Shuang","Ju","Xi","Huan","Li","Biao","Ma","Yu","Tuo","Xun","Chi","Qu","Ri","Bo","Lu","Zang","Shi","Si","Fu","Ju","Zou","Zhu","Tuo","Nu","Jia","Yi","Tai","Xiao","Ma","Yin","Jiao","Hua","Luo","Hai","Pian","Biao","Li","Cheng","Yan","Xin","Qin","Jun","Qi","Qi","Ke","Zhui","Zong","Su","Can","Pian","Zhi","Kui","Sao","Wu","Ao","Liu","Qian","Shan","Piao","Luo","Cong","Chan","Zou","Ji","Shuang","Xiang","Gu","Wei","Wei","Wei","Yu","Gan","Yi","Ang","Tou","Xie","Bao","Bi","Chi","Ti","Di","Ku","Hai","Qiao","Gou","Kua","Ge","Tui","Geng","Pian","Bi","Ke","Ka","Yu","Sui","Lou","Bo","Xiao","Pang","Bo","Ci","Kuan","Bin","Mo","Liao","Lou","Nao","Du","Zang","Sui","Ti","Bin","Kuan","Lu","Gao","Gao","Qiao","Kao","Qiao","Lao","Zao","Biao","Kun","Kun","Ti","Fang","Xiu","Ran","Mao","Dan","Kun","Bin","Fa","Tiao","Peng","Zi","Fa","Ran","Ti","Pao","Pi","Mao","Fu","Er","Rong","Qu","Gong","Xiu","Gua","Ji","Peng","Zhua","Shao","Sha"],mT[155]=["Ti","Li","Bin","Zong","Ti","Peng","Song","Zheng","Quan","Zong","Shun","Jian","Duo","Hu","La","Jiu","Qi","Lian","Zhen","Bin","Peng","Mo","San","Man","Man","Seng","Xu","Lie","Qian","Qian","Nong","Huan","Kuai","Ning","Bin","Lie","Rang","Dou","Dou","Nao","Hong","Xi","Dou","Han","Dou","Dou","Jiu","Chang","Yu","Yu","Li","Juan","Fu","Qian","Gui","Zong","Liu","Gui","Shang","Yu","Gui","Mei","Ji","Qi","Jie","Kui","Hun","Ba","Po","Mei","Xu","Yan","Xiao","Liang","Yu","Tui","Qi","Wang","Liang","Wei","Jian","Chi","Piao","Bi","Mo","Ji","Xu","Chou","Yan","Zhan","Yu","Dao","Ren","Ji","Eri","Gong","Tuo","Diao","Ji","Xu","E","E","Sha","Hang","Tun","Mo","Jie","Shen","Fan","Yuan","Bi","Lu","Wen","Hu","Lu","Za","Fang","Fen","Na","You","Namazu","Todo","He","Xia","Qu","Han","Pi","Ling","Tuo","Bo","Qiu","Ping","Fu","Bi","Ji","Wei","Ju","Diao","Bo","You","Gun","Pi","Nian","Xing","Tai","Bao","Fu","Zha","Ju","Gu","Kajika","Tong",null,"Ta","Jie","Shu","Hou","Xiang","Er","An","Wei","Tiao","Zhu","Yin","Lie","Luo","Tong","Yi","Qi","Bing","Wei","Jiao","Bu","Gui","Xian","Ge","Hui","Bora","Mate","Kao","Gori","Duo","Jun","Ti","Man","Xiao","Za","Sha","Qin","Yu","Nei","Zhe","Gun","Geng","Su","Wu","Qiu","Ting","Fu","Wan","You","Li","Sha","Sha","Gao","Meng","Ugui","Asari","Subashiri","Kazunoko","Yong","Ni","Zi","Qi","Qing","Xiang","Nei","Chun","Ji","Diao","Qie","Gu","Zhou","Dong","Lai","Fei","Ni","Yi","Kun","Lu","Jiu","Chang","Jing","Lun","Ling","Zou","Li","Meng","Zong","Zhi","Nian","Shachi","Dojou","Sukesou","Shi","Shen","Hun","Shi","Hou","Xing","Zhu","La","Zong","Ji","Bian","Bian"],mT[156]=["Huan","Quan","Ze","Wei","Wei","Yu","Qun","Rou","Die","Huang","Lian","Yan","Qiu","Qiu","Jian","Bi","E","Yang","Fu","Sai","Jian","Xia","Tuo","Hu","Muroaji","Ruo","Haraka","Wen","Jian","Hao","Wu","Fang","Sao","Liu","Ma","Shi","Shi","Yin","Z","Teng","Ta","Yao","Ge","Rong","Qian","Qi","Wen","Ruo","Hatahata","Lian","Ao","Le","Hui","Min","Ji","Tiao","Qu","Jian","Sao","Man","Xi","Qiu","Biao","Ji","Ji","Zhu","Jiang","Qiu","Zhuan","Yong","Zhang","Kang","Xue","Bie","Jue","Qu","Xiang","Bo","Jiao","Xun","Su","Huang","Zun","Shan","Shan","Fan","Jue","Lin","Xun","Miao","Xi","Eso","Kyou","Fen","Guan","Hou","Kuai","Zei","Sao","Zhan","Gan","Gui","Sheng","Li","Chang","Hatahata","Shiira","Mutsu","Ru","Ji","Xu","Huo","Shiira","Li","Lie","Li","Mie","Zhen","Xiang","E","Lu","Guan","Li","Xian","Yu","Dao","Ji","You","Tun","Lu","Fang","Ba","He","Bo","Ping","Nian","Lu","You","Zha","Fu","Bo","Bao","Hou","Pi","Tai","Gui","Jie","Kao","Wei","Er","Tong","Ze","Hou","Kuai","Ji","Jiao","Xian","Za","Xiang","Xun","Geng","Li","Lian","Jian","Li","Shi","Tiao","Gun","Sha","Wan","Jun","Ji","Yong","Qing","Ling","Qi","Zou","Fei","Kun","Chang","Gu","Ni","Nian","Diao","Jing","Shen","Shi","Zi","Fen","Die","Bi","Chang","Shi","Wen","Wei","Sai","E","Qiu","Fu","Huang","Quan","Jiang","Bian","Sao","Ao","Qi","Ta","Yin","Yao","Fang","Jian","Le","Biao","Xue","Bie","Man","Min","Yong","Wei","Xi","Jue","Shan","Lin","Zun","Huo","Gan","Li","Zhan","Guan","Niao","Yi","Fu","Li","Jiu","Bu","Yan","Fu","Diao","Ji","Feng","Nio","Gan","Shi","Feng","Ming","Bao","Yuan","Zhi","Hu","Qin","Fu","Fen","Wen","Jian","Shi","Yu"],mT[157]=["Fou","Yiao","Jue","Jue","Pi","Huan","Zhen","Bao","Yan","Ya","Zheng","Fang","Feng","Wen","Ou","Te","Jia","Nu","Ling","Mie","Fu","Tuo","Wen","Li","Bian","Zhi","Ge","Yuan","Zi","Qu","Xiao","Zhi","Dan","Ju","You","Gu","Zhong","Yu","Yang","Rong","Ya","Tie","Yu","Shigi","Ying","Zhui","Wu","Er","Gua","Ai","Zhi","Yan","Heng","Jiao","Ji","Lie","Zhu","Ren","Yi","Hong","Luo","Ru","Mou","Ge","Ren","Jiao","Xiu","Zhou","Zhi","Luo","Chidori","Toki","Ten","Luan","Jia","Ji","Yu","Huan","Tuo","Bu","Wu","Juan","Yu","Bo","Xun","Xun","Bi","Xi","Jun","Ju","Tu","Jing","Ti","E","E","Kuang","Hu","Wu","Shen","Lai","Ikaruga","Kakesu","Lu","Ping","Shu","Fu","An","Zhao","Peng","Qin","Qian","Bei","Diao","Lu","Que","Jian","Ju","Tu","Ya","Yuan","Qi","Li","Ye","Zhui","Kong","Zhui","Kun","Sheng","Qi","Jing","Yi","Yi","Jing","Zi","Lai","Dong","Qi","Chun","Geng","Ju","Qu","Isuka","Kikuitadaki","Ji","Shu",null,"Chi","Miao","Rou","An","Qiu","Ti","Hu","Ti","E","Jie","Mao","Fu","Chun","Tu","Yan","He","Yuan","Pian","Yun","Mei","Hu","Ying","Dun","Mu","Ju","Tsugumi","Cang","Fang","Gu","Ying","Yuan","Xuan","Weng","Shi","He","Chu","Tang","Xia","Ruo","Liu","Ji","Gu","Jian","Zhun","Han","Zi","Zi","Ni","Yao","Yan","Ji","Li","Tian","Kou","Ti","Ti","Ni","Tu","Ma","Jiao","Gao","Tian","Chen","Li","Zhuan","Zhe","Ao","Yao","Yi","Ou","Chi","Zhi","Liao","Rong","Lou","Bi","Shuang","Zhuo","Yu","Wu","Jue","Yin","Quan","Si","Jiao","Yi","Hua","Bi","Ying","Su","Huang","Fan","Jiao","Liao","Yan","Kao","Jiu","Xian","Xian","Tu","Mai","Zun","Yu","Ying","Lu","Tuan","Xian","Xue","Yi","Pi"],mT[158]=["Shu","Luo","Qi","Yi","Ji","Zhe","Yu","Zhan","Ye","Yang","Pi","Ning","Huo","Mi","Ying","Meng","Di","Yue","Yu","Lei","Bao","Lu","He","Long","Shuang","Yue","Ying","Guan","Qu","Li","Luan","Niao","Jiu","Ji","Yuan","Ming","Shi","Ou","Ya","Cang","Bao","Zhen","Gu","Dong","Lu","Ya","Xiao","Yang","Ling","Zhi","Qu","Yuan","Xue","Tuo","Si","Zhi","Er","Gua","Xiu","Heng","Zhou","Ge","Luan","Hong","Wu","Bo","Li","Juan","Hu","E","Yu","Xian","Ti","Wu","Que","Miao","An","Kun","Bei","Peng","Qian","Chun","Geng","Yuan","Su","Hu","He","E","Gu","Qiu","Zi","Mei","Mu","Ni","Yao","Weng","Liu","Ji","Ni","Jian","He","Yi","Ying","Zhe","Liao","Liao","Jiao","Jiu","Yu","Lu","Xuan","Zhan","Ying","Huo","Meng","Guan","Shuang","Lu","Jin","Ling","Jian","Xian","Cuo","Jian","Jian","Yan","Cuo","Lu","You","Cu","Ji","Biao","Cu","Biao","Zhu","Jun","Zhu","Jian","Mi","Mi","Wu","Liu","Chen","Jun","Lin","Ni","Qi","Lu","Jiu","Jun","Jing","Li","Xiang","Yan","Jia","Mi","Li","She","Zhang","Lin","Jing","Ji","Ling","Yan","Cu","Mai","Mai","Ge","Chao","Fu","Mian","Mian","Fu","Pao","Qu","Qu","Mou","Fu","Xian","Lai","Qu","Mian",null,"Feng","Fu","Qu","Mian","Ma","Mo","Mo","Hui","Ma","Zou","Nen","Fen","Huang","Huang","Jin","Guang","Tian","Tou","Heng","Xi","Kuang","Heng","Shu","Li","Nian","Chi","Hei","Hei","Yi","Qian","Dan","Xi","Tuan","Mo","Mo","Qian","Dai","Chu","You","Dian","Yi","Xia","Yan","Qu","Mei","Yan","Jing","Yu","Li","Dang","Du","Can","Yin","An","Yan","Tan","An","Zhen","Dai","Can","Yi","Mei","Dan","Yan","Du","Lu","Zhi","Fen","Fu","Fu","Min","Min","Yuan"],mT[159]=["Cu","Qu","Chao","Wa","Zhu","Zhi","Mang","Ao","Bie","Tuo","Bi","Yuan","Chao","Tuo","Ding","Mi","Nai","Ding","Zi","Gu","Gu","Dong","Fen","Tao","Yuan","Pi","Chang","Gao","Qi","Yuan","Tang","Teng","Shu","Shu","Fen","Fei","Wen","Ba","Diao","Tuo","Tong","Qu","Sheng","Shi","You","Shi","Ting","Wu","Nian","Jing","Hun","Ju","Yan","Tu","Ti","Xi","Xian","Yan","Lei","Bi","Yao","Qiu","Han","Wu","Wu","Hou","Xi","Ge","Zha","Xiu","Weng","Zha","Nong","Nang","Qi","Zhai","Ji","Zi","Ji","Ji","Qi","Ji","Chi","Chen","Chen","He","Ya","Ken","Xie","Pao","Cuo","Shi","Zi","Chi","Nian","Ju","Tiao","Ling","Ling","Chu","Quan","Xie","Ken","Nie","Jiu","Yao","Chuo","Kun","Yu","Chu","Yi","Ni","Cuo","Zou","Qu","Nen","Xian","Ou","E","Wo","Yi","Chuo","Zou","Dian","Chu","Jin","Ya","Chi","Chen","He","Ken","Ju","Ling","Pao","Tiao","Zi","Ken","Yu","Chuo","Qu","Wo","Long","Pang","Gong","Pang","Yan","Long","Long","Gong","Kan","Ta","Ling","Ta","Long","Gong","Kan","Gui","Qiu","Bie","Gui","Yue","Chui","He","Jue","Xie","Yu"],mT[160]=["it","ix","i","ip","iet","iex","ie","iep","at","ax","a","ap","uox","uo","uop","ot","ox","o","op","ex","e","wu","bit","bix","bi","bip","biet","biex","bie","biep","bat","bax","ba","bap","buox","buo","buop","bot","box","bo","bop","bex","be","bep","but","bux","bu","bup","burx","bur","byt","byx","by","byp","byrx","byr","pit","pix","pi","pip","piex","pie","piep","pat","pax","pa","pap","puox","puo","puop","pot","pox","po","pop","put","pux","pu","pup","purx","pur","pyt","pyx","py","pyp","pyrx","pyr","bbit","bbix","bbi","bbip","bbiet","bbiex","bbie","bbiep","bbat","bbax","bba","bbap","bbuox","bbuo","bbuop","bbot","bbox","bbo","bbop","bbex","bbe","bbep","bbut","bbux","bbu","bbup","bburx","bbur","bbyt","bbyx","bby","bbyp","nbit","nbix","nbi","nbip","nbiex","nbie","nbiep","nbat","nbax","nba","nbap","nbot","nbox","nbo","nbop","nbut","nbux","nbu","nbup","nburx","nbur","nbyt","nbyx","nby","nbyp","nbyrx","nbyr","hmit","hmix","hmi","hmip","hmiex","hmie","hmiep","hmat","hmax","hma","hmap","hmuox","hmuo","hmuop","hmot","hmox","hmo","hmop","hmut","hmux","hmu","hmup","hmurx","hmur","hmyx","hmy","hmyp","hmyrx","hmyr","mit","mix","mi","mip","miex","mie","miep","mat","max","ma","map","muot","muox","muo","muop","mot","mox","mo","mop","mex","me","mut","mux","mu","mup","murx","mur","myt","myx","my","myp","fit","fix","fi","fip","fat","fax","fa","fap","fox","fo","fop","fut","fux","fu","fup","furx","fur","fyt","fyx","fy","fyp","vit","vix","vi","vip","viet","viex","vie","viep","vat","vax","va","vap","vot","vox","vo","vop","vex","vep","vut","vux","vu","vup","vurx","vur","vyt","vyx","vy","vyp","vyrx","vyr"],mT[161]=["dit","dix","di","dip","diex","die","diep","dat","dax","da","dap","duox","duo","dot","dox","do","dop","dex","de","dep","dut","dux","du","dup","durx","dur","tit","tix","ti","tip","tiex","tie","tiep","tat","tax","ta","tap","tuot","tuox","tuo","tuop","tot","tox","to","top","tex","te","tep","tut","tux","tu","tup","turx","tur","ddit","ddix","ddi","ddip","ddiex","ddie","ddiep","ddat","ddax","dda","ddap","dduox","dduo","dduop","ddot","ddox","ddo","ddop","ddex","dde","ddep","ddut","ddux","ddu","ddup","ddurx","ddur","ndit","ndix","ndi","ndip","ndiex","ndie","ndat","ndax","nda","ndap","ndot","ndox","ndo","ndop","ndex","nde","ndep","ndut","ndux","ndu","ndup","ndurx","ndur","hnit","hnix","hni","hnip","hniet","hniex","hnie","hniep","hnat","hnax","hna","hnap","hnuox","hnuo","hnot","hnox","hnop","hnex","hne","hnep","hnut","nit","nix","ni","nip","niex","nie","niep","nax","na","nap","nuox","nuo","nuop","not","nox","no","nop","nex","ne","nep","nut","nux","nu","nup","nurx","nur","hlit","hlix","hli","hlip","hliex","hlie","hliep","hlat","hlax","hla","hlap","hluox","hluo","hluop","hlox","hlo","hlop","hlex","hle","hlep","hlut","hlux","hlu","hlup","hlurx","hlur","hlyt","hlyx","hly","hlyp","hlyrx","hlyr","lit","lix","li","lip","liet","liex","lie","liep","lat","lax","la","lap","luot","luox","luo","luop","lot","lox","lo","lop","lex","le","lep","lut","lux","lu","lup","lurx","lur","lyt","lyx","ly","lyp","lyrx","lyr","git","gix","gi","gip","giet","giex","gie","giep","gat","gax","ga","gap","guot","guox","guo","guop","got","gox","go","gop","get","gex","ge","gep","gut","gux","gu","gup","gurx","gur","kit","kix","ki","kip","kiex","kie","kiep","kat"],mT[162]=["kax","ka","kap","kuox","kuo","kuop","kot","kox","ko","kop","ket","kex","ke","kep","kut","kux","ku","kup","kurx","kur","ggit","ggix","ggi","ggiex","ggie","ggiep","ggat","ggax","gga","ggap","gguot","gguox","gguo","gguop","ggot","ggox","ggo","ggop","gget","ggex","gge","ggep","ggut","ggux","ggu","ggup","ggurx","ggur","mgiex","mgie","mgat","mgax","mga","mgap","mguox","mguo","mguop","mgot","mgox","mgo","mgop","mgex","mge","mgep","mgut","mgux","mgu","mgup","mgurx","mgur","hxit","hxix","hxi","hxip","hxiet","hxiex","hxie","hxiep","hxat","hxax","hxa","hxap","hxuot","hxuox","hxuo","hxuop","hxot","hxox","hxo","hxop","hxex","hxe","hxep","ngiex","ngie","ngiep","ngat","ngax","nga","ngap","nguot","nguox","nguo","ngot","ngox","ngo","ngop","ngex","nge","ngep","hit","hiex","hie","hat","hax","ha","hap","huot","huox","huo","huop","hot","hox","ho","hop","hex","he","hep","wat","wax","wa","wap","wuox","wuo","wuop","wox","wo","wop","wex","we","wep","zit","zix","zi","zip","ziex","zie","ziep","zat","zax","za","zap","zuox","zuo","zuop","zot","zox","zo","zop","zex","ze","zep","zut","zux","zu","zup","zurx","zur","zyt","zyx","zy","zyp","zyrx","zyr","cit","cix","ci","cip","ciet","ciex","cie","ciep","cat","cax","ca","cap","cuox","cuo","cuop","cot","cox","co","cop","cex","ce","cep","cut","cux","cu","cup","curx","cur","cyt","cyx","cy","cyp","cyrx","cyr","zzit","zzix","zzi","zzip","zziet","zziex","zzie","zziep","zzat","zzax","zza","zzap","zzox","zzo","zzop","zzex","zze","zzep","zzux","zzu","zzup","zzurx","zzur","zzyt","zzyx","zzy","zzyp","zzyrx","zzyr","nzit","nzix","nzi","nzip","nziex","nzie","nziep","nzat","nzax","nza","nzap","nzuox","nzuo","nzox","nzop","nzex","nze","nzux","nzu"],mT[163]=["nzup","nzurx","nzur","nzyt","nzyx","nzy","nzyp","nzyrx","nzyr","sit","six","si","sip","siex","sie","siep","sat","sax","sa","sap","suox","suo","suop","sot","sox","so","sop","sex","se","sep","sut","sux","su","sup","surx","sur","syt","syx","sy","syp","syrx","syr","ssit","ssix","ssi","ssip","ssiex","ssie","ssiep","ssat","ssax","ssa","ssap","ssot","ssox","sso","ssop","ssex","sse","ssep","ssut","ssux","ssu","ssup","ssyt","ssyx","ssy","ssyp","ssyrx","ssyr","zhat","zhax","zha","zhap","zhuox","zhuo","zhuop","zhot","zhox","zho","zhop","zhet","zhex","zhe","zhep","zhut","zhux","zhu","zhup","zhurx","zhur","zhyt","zhyx","zhy","zhyp","zhyrx","zhyr","chat","chax","cha","chap","chuot","chuox","chuo","chuop","chot","chox","cho","chop","chet","chex","che","chep","chux","chu","chup","churx","chur","chyt","chyx","chy","chyp","chyrx","chyr","rrax","rra","rruox","rruo","rrot","rrox","rro","rrop","rret","rrex","rre","rrep","rrut","rrux","rru","rrup","rrurx","rrur","rryt","rryx","rry","rryp","rryrx","rryr","nrat","nrax","nra","nrap","nrox","nro","nrop","nret","nrex","nre","nrep","nrut","nrux","nru","nrup","nrurx","nrur","nryt","nryx","nry","nryp","nryrx","nryr","shat","shax","sha","shap","shuox","shuo","shuop","shot","shox","sho","shop","shet","shex","she","shep","shut","shux","shu","shup","shurx","shur","shyt","shyx","shy","shyp","shyrx","shyr","rat","rax","ra","rap","ruox","ruo","ruop","rot","rox","ro","rop","rex","re","rep","rut","rux","ru","rup","rurx","rur","ryt","ryx","ry","ryp","ryrx","ryr","jit","jix","ji","jip","jiet","jiex","jie","jiep","juot","juox","juo","juop","jot","jox","jo","jop","jut","jux","ju","jup","jurx","jur","jyt","jyx","jy","jyp","jyrx","jyr","qit","qix","qi","qip"],mT[164]=["qiet","qiex","qie","qiep","quot","quox","quo","quop","qot","qox","qo","qop","qut","qux","qu","qup","qurx","qur","qyt","qyx","qy","qyp","qyrx","qyr","jjit","jjix","jji","jjip","jjiet","jjiex","jjie","jjiep","jjuox","jjuo","jjuop","jjot","jjox","jjo","jjop","jjut","jjux","jju","jjup","jjurx","jjur","jjyt","jjyx","jjy","jjyp","njit","njix","nji","njip","njiet","njiex","njie","njiep","njuox","njuo","njot","njox","njo","njop","njux","nju","njup","njurx","njur","njyt","njyx","njy","njyp","njyrx","njyr","nyit","nyix","nyi","nyip","nyiet","nyiex","nyie","nyiep","nyuox","nyuo","nyuop","nyot","nyox","nyo","nyop","nyut","nyux","nyu","nyup","xit","xix","xi","xip","xiet","xiex","xie","xiep","xuox","xuo","xot","xox","xo","xop","xyt","xyx","xy","xyp","xyrx","xyr","yit","yix","yi","yip","yiet","yiex","yie","yiep","yuot","yuox","yuo","yuop","yot","yox","yo","yop","yut","yux","yu","yup","yurx","yur","yyt","yyx","yy","yyp","yyrx","yyr",null,null,null,"Qot","Li","Kit","Nyip","Cyp","Ssi","Ggop","Gep","Mi","Hxit","Lyr","Bbut","Mop","Yo","Put","Hxuo","Tat","Ga",null,null,"Ddur","Bur","Gguo","Nyop","Tu","Op","Jjut","Zot","Pyt","Hmo","Yit","Vur","Shy","Vep","Za","Jo",null,"Jjy","Got","Jjie","Wo","Du","Shur","Lie","Cy","Cuop","Cip","Hxop","Shat",null,"Shop","Che","Zziet",null,"Ke"],mT[167]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A","a","A","a","HENG","heng","TZ","tz","3","3","4","4","4","4","F","S","AA","aa","AO","ao","AU","au","AV","av","AV-","av-","AY","ay","C","c","K","k","K","k","K","k","L","l","L","l","O","o","O","o","OO","oo","P","p","P","p","P","p","Q","q","Q","q","R","r","R","r","V","v","VY","vy","Z","z","TH","th","TH","th","Y","y","ET","et","IS","is","CON","con","US","us","dum","lum","num","rum","RUM","tum","um","D","d","F","f","G","G","g","L","l","R","r","S","s","T","t","^",":","=","'","'","H","l",".","N","n","C","c","c","h","B","b","F","f","AE","ae","OE","oe","UE","ue","G","g","K","k","N","n","R","r","S","s","H","E","G","L","I","Q","K","T","J","CHI","B","b","O","o","U","u",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"I","H","oe","M","F","P","M","I","M1"],mT[249]=["Kay","Kayng","Ke","Ko","Kol","Koc","Kwi","Kwi","Kyun","Kul","Kum","Na","Na","Na","La","Na","Na","Na","Na","Na","Nak","Nak","Nak","Nak","Nak","Nak","Nak","Nan","Nan","Nan","Nan","Nan","Nan","Nam","Nam","Nam","Nam","Nap","Nap","Nap","Nang","Nang","Nang","Nang","Nang","Nay","Nayng","No","No","No","No","No","No","No","No","No","No","No","No","Nok","Nok","Nok","Nok","Nok","Nok","Non","Nong","Nong","Nong","Nong","Noy","Noy","Noy","Noy","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nwu","Nuk","Nuk","Num","Nung","Nung","Nung","Nung","Nung","Twu","La","Lak","Lak","Lan","Lyeng","Lo","Lyul","Li","Pey","Pen","Pyen","Pwu","Pwul","Pi","Sak","Sak","Sam","Sayk","Sayng","Sep","Sey","Sway","Sin","Sim","Sip","Ya","Yak","Yak","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Yang","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Ye","Yek","Yek","Yek","Yek","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yen","Yel","Yel","Yel","Yel","Yel","Yel","Yem","Yem","Yem","Yem","Yem","Yep","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yeng","Yey","Yey","Yey","Yey","O","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yo","Yong","Wun","Wen","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yu","Yuk","Yuk","Yuk","Yun","Yun","Yun","Yun","Yul","Yul","Yul","Yul","Yung","I","I","I","I","I","I","I","I","I","I","I","I","I","I","Ik","Ik","In","In","In","In","In","In","In","Im","Im","Im","Ip","Ip","Ip","Cang","Cek","Ci","Cip","Cha","Chek"],mT[250]=["Chey","Thak","Thak","Thang","Thayk","Thong","Pho","Phok","Hang","Hang","Hyen","Hwak","Wu","Huo",null,null,"Zhong",null,"Qing",null,null,"Xi","Zhu","Yi","Li","Shen","Xiang","Fu","Jing","Jing","Yu",null,"Hagi",null,"Zhu",null,null,"Yi","Du",null,null,null,"Fan","Si","Guan"],mT[251]=["ff","fi","fl","ffi","ffl","st","st",null,null,null,null,null,null,null,null,null,null,null,null,"mn","me","mi","vn","mkh",null,null,null,null,null,"yi",null,"ay","`",null,"d","h","k","l","m","m","t","+","sh","s","sh","s","a","a",null,"b","g","d","h","v","z",null,"t","y","k","k","l",null,"l",null,"n","n",null,"p","p",null,"ts","ts","r","sh","t","vo","b","k","p","l"],mT[254]=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"~",null,null,null,null,null,null,null,null,null,null,null,null,"..","--","-","_","_","(",") ","{","} ","[","] ","[(",")] ","<<",">> ","<","> ","[","] ","{","}",null,null,null,null,null,null,null,null,null,null,null,",",",",".",null,";",":","?","!","-","(",")","{","}","{","}","#","&","*","+","-","<",">","=",null,"\\","$","%","@"],mT[255]=[null,"!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",null,null,".","[","]",",","*","wo","a","i","u","e","o","ya","yu","yo","tu","+","a","i","u","e","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ha","hi","hu","he","ho","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","n",":",";",null,"g","gg","gs","n","nj","nh","d","dd","r","lg","lm","lb","ls","lt","lp","rh","m","b","bb","bs","s","ss",null,"j","jj","c","k","t","p","h",null,null,null,"a","ae","ya","yae","eo","e",null,null,"yeo","ye","o","wa","wae","oe",null,null,"yo","u","weo","we","wi","yu",null,null,"eu","yi","i",null,null,null,"/C","PS","!","-","|","Y=","W=",null,"|","-","|","-","|","#","O",null,null,null,null,null,null,null,null,null,null,"{","|","}"];var mx={};for(let e=0;e<mT.length;e++){let i=mT[e];if(i)for(let n=0;n<i.length;n++){let t=i[n];t&&(mx[String.fromCharCode((e<<8)+n)]=t)}}for(let e=44032;e<=55203;e++){let i=e-44032;mx[String.fromCharCode(e)]=mb[i/588|0]+mC[i%588/28|0]+mw[i%28]}var mL=/[-[\]/{}()*+?.\\^$|]/g,mE=/[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DBF\u4E00-\u9FFC\uF900-\uFA6D\uFA70-\uFAD9]|\uD81B[\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]/,m_=/[\s!-#%-*,-/:;?@[-\]_{}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;function bundle_esm_min_H(e){return(e||"").replace(mL,"\\$&")}function Iu(e){return m_.test(e)}function bundle_esm_min_Y(e){if(Array.isArray(e))return e.map(e=>bundle_esm_min_Y(e));if(e instanceof Date)return new Date(e.valueOf());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(null!==e&&"object"==typeof e){let i={};for(let n in e)Object.hasOwn(e,n)&&(i[n]=bundle_esm_min_Y(e[n]));return i}return e}function vu(e,i){let n,t=[];for(let n of i){let i=e.indexOf(n);for(;i>-1;)t.push([i,i+n.length-1]),i=e.indexOf(n,i+1)}let a=t.sort((e,i)=>e[0]-i[0]||e[1]-i[1]);for(let e of(t=[],a))!n||e[0]>n[1]+1?(n=e,t.push(n)):e[1]>n[1]&&(n[1]=e[1]);return t}function ii(e,i){return e<i[0]?-1:1*!!(e>i[1])}function bundle_esm_min_s(e,i){if(0===i.length)return!1;let n=0,t=i.length-1;for(;n<=t;){let a=n+t>>>1,r=ii(e,i[a]);if(0===r)return!0;-1===r?t=a-1:n=a+1}return!1}function bundle_esm_min_Q(e,i,n,t=[]){let a=t.length?RegExp(t.map(bundle_esm_min_H).join("|"),"g"):null,r=RegExp(i.source,`${i.flags.replace("g","")}g`),o="",u=0;for(;;){let i=r.exec(e),t="",s=0;if(i){for(;;){let e=a?.exec(i[0]);if(e&&a)t+=e.index>s?n:"",t+=e[0],s=a.lastIndex;else{t+=i[0].length>s?n:"";break}}o+=e.substring(u,i.index)+t,u=r.lastIndex}else{o+=e.substring(u,e.length);break}}return o}var mY=/[\uD800-\uDBFF]/,mD=/[\uDC00-\uDFFF]/,mv=/[^\s\S]/,mA={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},mN=class{get options(){return bundle_esm_min_Y({...mA,...this.confOptions})}constructor(e=bundle_esm_min_Y(mA),i=mx){this.confOptions=e,this.map=i}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}codeMapReplace(e,i,n=[]){let t=0,a="",r=i.fixChineseSpacing&&mE.test(e),o=!1;for(let u=0;u<e.length;u++){let s=mY.test(e[u])&&mD.test(e[u+1])?e[u]+e[u+1]:e[u],l,h=!1;bundle_esm_min_s(t,n)||2===s.length&&bundle_esm_min_s(t+1,n)?(l=s,n.find(e=>e[1]>=t&&e[0]===t)||(h=!0)):l=this.map[s]||i.unknown||"",r&&(!o||h||Iu(l)||(l=` ${l}`),o=!!l&&mE.test(s)),a+=l,t+=s.length,u+=s.length-1}return a}formatReplaceOption(e){if(Array.isArray(e))return bundle_esm_min_Y(e);let i=[];for(let n in e)Object.hasOwn(e,n)&&i.push([n,e[n]]);return i}replaceString(e,i,n=[]){let t=bundle_esm_min_Y(i),a=e;for(let e of t){switch(!0){case e[0]instanceof RegExp:e[0]=RegExp(e[0].source,`${e[0].flags.replace("g","")}g`);break;case"string"==typeof e[0]&&e[0].length>0:e[0]=RegExp(bundle_esm_min_H(e[0]),"g");break;default:e[0]=mv}a=bundle_esm_min_Q(a,e[0],e[1],n)}return a}setData(e,i=!1){if(i&&(this.map=bundle_esm_min_Y(mx)),e&&"object"==typeof e&&Object.keys(e).length)for(let i in this.map=bundle_esm_min_Y(this.map),e)Object.hasOwn(e,i)&&i.length<3&&i<="\uDBFF\uDFFF"&&(this.map[i]=e[i]);return this.map}transliterate(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t="string"==typeof e?e:String(e),a=this.formatReplaceOption(n.replace);a.length&&(t=this.replaceString(t,a,n.ignore));let r=n.ignore&&n.ignore.length>0?vu(t,n.ignore):[];t=this.codeMapReplace(t,n,r),n.trim&&(t=t.trim());let o=this.formatReplaceOption(n.replaceAfter);return o.length&&(t=this.replaceString(t,o)),t}},mP={...bundle_esm_min_Y(mA),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},mZ=class extends mN{get options(){return bundle_esm_min_Y({...mP,...this.confOptions})}config(e,i=!1){return i&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=bundle_esm_min_Y(e)),this.confOptions}slugify(e,i){let n=bundle_esm_min_Y({...this.options,..."object"==typeof i?i:{}}),t=n.separator?bundle_esm_min_H(n.separator):"",a=this.transliterate(e,n);return a=bundle_esm_min_Q(a,RegExp(`[^${n.allowedChars}]+`,"g"),n.separator??"-",n.ignore??[]),t&&(a=(a=a.replace(RegExp(`${t}+`,"g"),n.separator)).replace(RegExp(`^${t}+|${t}+$`,"g"),"")),n.lowercase&&(a=a.toLowerCase()),n.uppercase&&(a=a.toUpperCase()),a}},mR=new mN,mM=mR.transliterate.bind(mR);mM.config=mR.config.bind(mR),mM.setData=mR.setData.bind(mR);var mJ=new mZ,mk=mJ.slugify.bind(mJ);mk.config=mJ.config.bind(mJ),mk.setData=mJ.setData.bind(mJ);class mB{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let mH=/^[A-Za-z0-9._\-/]+$/,mF=!1,mX={baseUrl:"",apiKey:""};function loadReportEnv(){if(mF)return mX;let e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"";if(e&&i)return mF=!0,mX={baseUrl:e,apiKey:i};try{if(E("./node_modules/dotenv/lib/main.js").config(),e=process.env.COZE_INTEGRATION_BASE_URL||"",i=process.env.COZE_WORKLOAD_IDENTITY_API_KEY||"",e&&i)return mF=!0,mX={baseUrl:e,apiKey:i}}catch{}try{let n=`
83
83
  import sys
84
84
  try:
85
85
  from coze_workload_identity import Client
@@ -91,4 +91,4 @@ try:
91
91
  print(f"{env_var.key}={env_var.value}")
92
92
  except Exception as e:
93
93
  print(f"# Error: {e}", file=sys.stderr)
94
- `;for(let t of M(`python3 -c '${n.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(t.startsWith("#"))continue;let n=t.indexOf("=");if(n>0){let a=t.substring(0,n),r=t.substring(n+1);(r.startsWith("'")&&r.endsWith("'")||r.startsWith('"')&&r.endsWith('"'))&&(r=r.slice(1,-1)),"COZE_INTEGRATION_BASE_URL"===a?e=r:"COZE_WORKLOAD_IDENTITY_API_KEY"===a&&(i=r)}}}catch{}return mB=!0,mH={baseUrl:e,apiKey:i}}class mF{baseUrl;apiKey;configured;constructor(){try{let e=loadReportEnv();if(this.baseUrl=e.baseUrl,this.apiKey=e.apiKey,this.configured=!!(this.baseUrl&&this.apiKey),!this.configured){let e=[];this.baseUrl||e.push("COZE_INTEGRATION_BASE_URL"),this.apiKey||e.push("COZE_WORKLOAD_IDENTITY_API_KEY"),console.error(`[report] ReportClient not configured: ${e.join(", ")} is missing`)}}catch(e){this.baseUrl="",this.apiKey="",this.configured=!1,console.error("[report] ReportClient config failed:",e)}}async batchReport(e){if(!e.length)return;if(!this.configured)return void console.error(`[report] batchReport skipped: ReportClient is not configured. Set COZE_INTEGRATION_BASE_URL and COZE_WORKLOAD_IDENTITY_API_KEY environment variables. Dropping ${e.length} entries.`);let i=`${this.baseUrl}/v1/memory_report/batch_report`,n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json","x-coze-token":this.apiKey},body:JSON.stringify({entries:e}),signal:AbortSignal.timeout(1e4)});if(!n.ok)throw Error(`batchReport failed: ${n.status} ${n.statusText}`)}}class mX{buffer=[];timer=null;projectId;env;client;destroyed=!1;flushing=!1;pendingFlush=!1;onExitHandler;constructor(e){this.client=e,this.projectId=process.env.COZELOOP_WORKSPACE_ID||null,this.env=process.env.COZE_PROJECT_ENV||null,this.timer=setInterval(()=>this.flush(),6e4),this.timer.unref&&this.timer.unref(),this.onExitHandler=()=>{this.destroy()},process.on("beforeExit",()=>this.destroy()),process.on("SIGTERM",this.onExitHandler),process.on("SIGINT",this.onExitHandler)}add(e){if(!this.destroyed)try{this.buffer.length>=6e4&&this.buffer.shift(),e.project_id=this.projectId,e.env=this.env,this.buffer.push(e),this.buffer.length>=100&&this.flush().catch(()=>{})}catch(e){console.error("[report] buffer.add failed:",e)}}async flush(){if(this.flushing){this.pendingFlush=!0;return}if(!this.buffer.length)return;this.flushing=!0;let e=0;try{for(;;){let i=this.buffer.splice(0,100);if(!i.length)break;try{await this.client.batchReport(i),e=0}catch(t){if(e++,this.buffer.unshift(...i),this.buffer.length>6e4&&(this.buffer.length=6e4),e>=3){console.error(`[report] flush failed ${e} times, giving up until next cycle:`,t);break}let n=1e3*2**(e-1);console.error(`[report] flush failed (attempt ${e}/3), retrying in ${n}ms:`,t),await new Promise(e=>setTimeout(e,n));continue}if(!this.pendingFlush&&this.buffer.length<100)break;this.pendingFlush=!1}}finally{this.flushing=!1,this.pendingFlush=!1}}destroy(){this.destroyed||(this.destroyed=!0,this.timer&&(clearInterval(this.timer),this.timer=null),process.removeListener("SIGTERM",this.onExitHandler),process.removeListener("SIGINT",this.onExitHandler),this.flush().catch(()=>{}))}}let mI=null;function getReportBuffer(){if(mI)return mI;try{let e=new mF;return mI=new mX(e)}catch(e){return console.error("[report] failed to create singleton buffer:",e),null}}let mO=/((?:apikey|api_key|access_key|secret_key|access_token|token|secret|password|authorization|credential|X-Amz-Signature|X-Amz-Credential|X-Amz-Security-Token)=)[^&]*/gi;function truncate(e,i=1024){return null==e?null:e.length<=i?e:e.substring(0,i)+"...[truncated]"}function redactUrl(e){return e.replace(mO,"$1***")}function createWrappedFetch(e,i="supabase"){return async(n,t)=>{let a=Date.now();try{let r=await fetch(n,t);return safeRecordLog(e,i,n,t,r,null,a),r}catch(r){throw safeRecordLog(e,i,n,t,null,r,a),r}}}function safeRecordLog(e,i,n,t,a,r,o){try{let u=Date.now()-o,s="string"==typeof n?n:n instanceof URL?n.toString():n.url||"",l=t?.method||(n instanceof Request?n.method:"GET"),h=a?.status??null,g=null;if(t?.body)try{g=truncate("string"==typeof t.body?t.body:JSON.stringify(t.body))}catch{g=null}let c={source:i,project_id:null,env:null,method:l.toUpperCase(),url:redactUrl(s),request_body:g,response_body:null,status_code:h,error:r?.message??null,duration_ms:u,timestamp:o,success:null!==h&&h>=200&&h<300};if(a){let i=a.clone().body?.getReader();i?i.read().then(({value:n})=>{if(n){let e=new TextDecoder().decode(n.slice(0,2048));c.response_body=truncate(e)}i.cancel().catch(()=>{}),e.add(c)}).catch(()=>{e.add(c)}):e.add(c)}else e.add(c)}catch(e){console.error("[report] safeRecordLog error:",e)}}function createS3ReportMiddleware(e){return e?{middleware:(i,n)=>async n=>{let t=Date.now(),{request:a}=n;try{let r=await i(n);return safeRecordS3Log(e,a,r,null,t),r}catch(i){throw safeRecordS3Log(e,a,null,i,t),i}},options:{step:"deserialize",name:"reportLogger",override:!0}}:null}function safeRecordS3Log(e,i,n,t,a){try{let r=Date.now()-a,o=i?.method||"UNKNOWN",u=i?.hostname?`${i.protocol||"https:"}//${i.hostname}${i.path||""}`:"",s=n?.response?.statusCode??null,l=null;if(i?.body)try{let e=i.body;"string"==typeof e?l=truncate(e):Buffer.isBuffer(e)&&(l=truncate(`[Binary ${e.length} bytes]`))}catch{l=null}let h={source:"s3",project_id:null,env:null,method:o.toUpperCase(),url:redactUrl(u),request_body:l,response_body:null,status_code:s,error:t?.message??null,duration_ms:r,timestamp:a,success:null!==s&&s>=200&&s<300};if(n?.output)try{let{Body:e,...i}=n.output;Object.keys(i).length>0&&(h.response_body=truncate(JSON.stringify(i)))}catch{}e.add(h)}catch{}}function getStorageToken(){return process.env.COZE_WORKLOAD_IDENTITY_API_KEY||null}class mQ{endpointUrl;accessKey;secretKey;bucketName;region;client=null;constructor(e={}){this.endpointUrl=process.env.COZE_BUCKET_ENDPOINT_URL||e.endpointUrl||"",this.accessKey=e.accessKey||"",this.secretKey=e.secretKey||"",this.bucketName=process.env.COZE_BUCKET_NAME||e.bucketName||"",this.region=e.region||mJ.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new fQ({endpoint:this.endpointUrl,region:this.region,credentials:{accessKeyId:this.accessKey,secretAccessKey:this.secretKey},forcePathStyle:!0}),this.client.middlewareStack.add(e=>async i=>{let n=getStorageToken();return n&&i.request?.headers&&(i.request.headers["x-storage-token"]=n),e(i)},{step:"build",name:"injectStorageToken"}),this.installReportMiddleware(this.client)}return this.client}installReportMiddleware(e){try{let i=getReportBuffer(),n=createS3ReportMiddleware(i);n&&e.middlewareStack.add(n.middleware,n.options)}catch{}}generateObjectKey(e){let i=n1.default.extname(e).toLowerCase(),n=n1.default.basename(e,i),t=(0,aa.randomUUID)().replace(/-/g,"").slice(0,8);return n1.default.join(n1.default.dirname(e),`${n}_${t}${i}`)}resolveBucket(e){let i=e||process.env.COZE_BUCKET_NAME||this.bucketName;if(!i)throw Error("Bucket not configured: Provide bucket or set COZE_BUCKET_NAME");return i}sanitizeFileName(e){if(!e||!e.trim())return"file";let i=e.split("/").filter(e=>e.trim()).map(e=>{let i=e.lastIndexOf("."),n=i>0,t=n?e.slice(i):"",a=mZ(n?e.slice(0,i):e);return((a=a.replace(/\s+/g,"_").replace(/[^A-Za-z0-9._-]/g,"_").replace(/_{2,}/g,"_").replace(/^[._-]+|[._-]+$/g,""))||"file")+t.replace(/[^A-Za-z0-9._-]/g,"")}).join("/");return Buffer.byteLength(i,"utf-8")>1024&&(i=i.slice(0,1e3)),i}async uploadFile(e){let{fileContent:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=this.resolveBucket(a);return await o.send(new f9({Bucket:s,Key:u,Body:i,ContentType:t})),u}async readFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n),r=await t.send(new mi({Bucket:a,Key:i}));if(!r.Body)throw Error("S3 GetObject returned no Body");let o=[];for await(let e of r.Body)o.push(Buffer.from(e));return Buffer.concat(o)}async deleteFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);return await t.send(new mn({Bucket:a,Key:i})),!0}async fileExists(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);try{return await t.send(new mt({Bucket:a,Key:i})),!0}catch(e){if("NotFound"===e.name||e.$metadata?.httpStatusCode===404)return!1;return console.error("Error checking file existence:",e),!1}}async listFiles(e={}){let{prefix:i,bucket:n,maxKeys:t=mJ.DEFAULT_MAX_KEYS,continuationToken:a}=e;if(t<=0||t>1e3)throw Error("maxKeys must be between 1 and 1000");let r=this.getClient(),o=this.resolveBucket(n),u=await r.send(new ma({Bucket:o,MaxKeys:t,Prefix:i,ContinuationToken:a}));return{keys:(u.Contents||[]).filter(e=>e.Key).map(e=>e.Key),isTruncated:u.IsTruncated||!1,nextContinuationToken:u.NextContinuationToken}}async generatePresignedUrl(e){let{key:i,bucket:n,expireTime:t=mJ.DEFAULT_PRESIGNED_EXPIRE_TIME}=e,a=getStorageToken();if(!a)throw Error("Failed to get x-storage-token: Set COZE_WORKLOAD_IDENTITY_API_KEY");let r=process.env.COZE_BUCKET_ENDPOINT_URL||this.endpointUrl;if(!r)throw Error("Sign endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");let o=r.replace(/\/$/,"")+"/sign-url",u=this.resolveBucket(n),s=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-storage-token":a},body:JSON.stringify({bucket_name:u,path:i,expire_time:t})});if(!s.ok)throw Error(`Failed to generate presigned URL: ${s.status}`);let l=await s.text();if((s.headers.get("content-type")||"").includes("application/json")||l.trim().startsWith("{"))try{let e=JSON.parse(l);if(e.data?.url)return e.data.url;if(e.url||e.signed_url||e.presigned_url)return e.url||e.signed_url||e.presigned_url;throw Error("Sign service response missing url field")}catch{}return l}async streamUploadFile(e){let{stream:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mp({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:i,ContentType:t}});return await s.done(),u}async uploadFromUrl(e){let{url:i,bucket:n,timeout:t=mJ.DEFAULT_UPLOAD_TIMEOUT}=e,a=new AbortController,r=setTimeout(()=>a.abort(),t);try{let e=await fetch(i,{signal:a.signal});if(!e.ok)throw Error(`Failed to fetch URL: ${e.status}`);let t=new URL(i),r=n1.default.basename(decodeURIComponent(t.pathname))||"file",o=e.headers.get("content-type")||"application/octet-stream",u=Buffer.from(await e.arrayBuffer());return this.uploadFile({fileContent:u,fileName:r,contentType:o,bucket:n})}finally{clearTimeout(r)}}async chunkUploadFile(e){let{chunks:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mp({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:au.Readable.from(i),ContentType:t}});return await s.done(),u}}let mU={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class mG extends eE{model;constructor(e,i,n=!1){super(e,i,n),this.model=mU.defaultModel}validateInputs(e,i,n){let t=e&&e.length>0,a=i&&i.length>0,r=n&&n.length>0;if(!t&&!a&&!r)throw new eL("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(i?.length||0)+(n?.length||0);if(o>mU.maxBatchSize)throw new eL(`Total inputs (${o}) exceed maximum batch size of ${mU.maxBatchSize}`)}buildInputItems(e,i,n){let t=[];if(e)for(let i of e)i&&i.trim()&&t.push({type:"text",text:i});if(i)for(let e of i)e&&e.trim()&&t.push({type:"image_url",image_url:{url:e}});if(n)for(let e of n)e&&e.trim()&&t.push({type:"video_url",video_url:{url:e}});return t}async embed(e,i,n,t){this.validateInputs(e,i,n);let a=this.buildInputItems(e,i,n);if(0===a.length)throw new eL("No valid input provided");let r={model:t?.model||this.model,input:a};t?.dimensions!==void 0&&(r.dimensions=t.dimensions),t?.encodingFormat&&(r.encoding_format=t.encodingFormat),t?.instructions&&(r.instructions=t.instructions),t?.multiEmbedding&&(r.multi_embedding={type:"enabled"}),t?.sparseEmbedding&&(r.sparse_embedding={type:"enabled"});let o=await this.request("POST",`${this.config.baseUrl}/api/v3/embeddings/multimodal`,r);if(o.error)throw new eT(o.error.message||"Unknown error",void 0,o.error);return o}async embedText(e,i){let n=await this.embed([e],void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedTexts(e,i){let n=await this.embed(e,void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImage(e,i){let n=await this.embed(void 0,[e],void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImages(e,i){let n=await this.embed(void 0,e,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideo(e,i){let n=await this.embed(void 0,void 0,[e],i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideos(e,i){let n=await this.embed(void 0,void 0,e,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedMultimodal(e,i,n,t){return this.embed(e,i,n,t)}async embedWithMultiVectors(e,i,n,t){let a=await this.embed(e,i,n,{...t,multiEmbedding:!0});return a.data?.multi_embedding}async embedWithSparse(e,i,n,t){let a=await this.embed(e,i,n,{...t,sparseEmbedding:!0});return a.data?.sparse_embedding}async batchEmbed(e,i,n=5){let t=[],a=[...e];for(;a.length>0;){let e=a.splice(0,n).map(e=>this.embed(e,void 0,void 0,i)),r=await Promise.all(e);t.push(...r)}return t}}function convertContentItem(e){let i;return e.image&&(i={image_url:e.image.image_url,display_url:e.image.display_url,width:e.image.width,height:e.image.height,thumbnail_display_url:e.image.thumbnail_display_url}),{type:e.type||"text",text:e.text,url:e.url,image:i}}function convertDisplayInfo(e){return{no_display:e.no_display,no_display_reason:e.no_display_reason}}class mq extends eE{constructor(e,i,n=!1){super(e,i,n)}async fetch(e){let i,{validateUrl:n}=await Promise.resolve().then(()=>({validateUrl:url_utils_validateUrl}));e=await n(e);let t=await this.request("POST",`${this.config.baseUrl}/api/v1/integration/fetch_tool`,{url:e});if(t.code&&0!==t.code)throw new eT(`Fetch failed: ${t.message||"Unknown error"}`,t.code,t.message);let a=t.data||t,r=[];if(a.content)for(let e of a.content)r.push(convertContentItem(e));return a.display_info&&(i=convertDisplayInfo(a.display_info)),{fetch_id:a.fetch_id,status_code:a.status_code,status_message:a.status_message,url:a.url,doc_id:a.doc_id,title:a.title,publish_time:a.publish_time,filetype:a.filetype,content:r,display_info:i}}}class m${config;axiosInstance;constructor(e,i){this.config=e,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0","x-coze-token":this.config.apiKey,...i}})}async request(e,i,n){return(await this.axiosInstance.request({method:e,url:i,data:n})).data}async listFunctions(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/list`,{});return{functions:(e.functions||[]).map(e=>({id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getFunction(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/get`,{slug:e});if(n.function){let e=n.function;i={id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at}}return{function:i,files:(n.files||[]).map(e=>({name:e.name||"",content:e.content||""})),code:n.code||0,msg:n.msg||""}}async deployFunction(e,i){let n={slug:e};i?.code!==void 0&&(n.code=i.code),i?.files!==void 0&&(n.files=i.files),i?.name!==void 0&&(n.name=i.name),i?.entrypoint!==void 0&&(n.entrypoint=i.entrypoint),i?.verify_jwt!==void 0&&(n.verify_jwt=i.verify_jwt);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/deploy`,n);return{success:t.success||!1,slug:t.slug,version:t.version,code:t.code||0,msg:t.msg||""}}async deleteFunction(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/delete`,{slug:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async listBuckets(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/list`,{});return{buckets:(e.buckets||[]).map(e=>({id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getBucket(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/get`,{bucket_id:e});if(n.bucket){let e=n.bucket;i={id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at}}return{bucket:i,code:n.code||0,msg:n.msg||""}}async createBucket(e,i){let n={bucket_id:e};i?.name!==void 0&&(n.name=i.name),i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/create`,n);return{success:t.success||!1,bucket_id:t.bucket_id,code:t.code||0,msg:t.msg||""}}async updateBucket(e,i){let n={bucket_id:e};i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/update`,n);return{success:t.success||!1,code:t.code||0,msg:t.msg||""}}async deleteBucket(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/delete`,{bucket_id:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfig(){let e,i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/get`,{});if(i.config){let n=i.config;e={external_email_enabled:n.external_email_enabled,disable_signup:n.disable_signup,mailer_auto_confirm:n.mailer_auto_confirm,double_confirm_changes:n.double_confirm_changes,mailer_secure_email_change_enabled:n.mailer_secure_email_change_enabled,mailer_otp_exp:n.mailer_otp_exp,password_min_length:n.password_min_length,password_required_characters:n.password_required_characters,site_url:n.site_url,smtp_host:n.smtp_host,smtp_port:n.smtp_port,smtp_user:n.smtp_user,smtp_pass:n.smtp_pass,smtp_admin_email:n.smtp_admin_email,smtp_sender_name:n.smtp_sender_name,smtp_max_frequency:n.smtp_max_frequency}}return{config:e,code:i.code||0,msg:i.msg||""}}async updateAuthConfig(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/update`,{config:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfigV2(){let e,i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/get`,{}),n=i.code||0,t=i.msg||"",a=i.Status||0,r=i.Config;if(r){let i,n,t=r.EmailConfig;t&&(i={external_email_enabled:t.external_email_enabled,disable_signup:t.disable_signup,mailer_auto_confirm:t.mailer_auto_confirm,double_confirm_changes:t.double_confirm_changes,mailer_secure_email_change_enabled:t.mailer_secure_email_change_enabled,mailer_otp_exp:t.mailer_otp_exp,password_min_length:t.password_min_length,password_required_characters:t.password_required_characters,site_url:t.site_url,smtp_host:t.smtp_host,smtp_port:t.smtp_port,smtp_user:t.smtp_user,smtp_pass:t.smtp_pass,smtp_admin_email:t.smtp_admin_email,smtp_sender_name:t.smtp_sender_name,smtp_max_frequency:t.smtp_max_frequency});let a=r.PhoneConfig;a&&(n={external_phone_enabled:a.external_phone_enabled}),e={project_id:r.ProjectID||0,icon_uri:r.IconURI||"",icon_url:r.IconURL||"",name:r.Name||"",email_config:i,phone_config:n}}return{status:a,config:e,code:n,msg:t}}async updateAuthConfigV2(e){let i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/update`,e);return{should_update_ui:i.should_update_ui||!1,success:i.success||!1,code:i.code||0,msg:i.msg||""}}async diagnoseDatabase(e){let i,n={};void 0!==e&&(n.env=e);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/database/diagnose`,n);if(t.report){let e=t.report;i={database_type:e.database_type??0,pg_metrics:e.pg_metrics||{},supabase_metrics:e.supabase_metrics}}return{report:i,code:t.code||0,msg:t.msg||""}}}var mK=eb.ContentPart,mz=em.CozeConfig,mW=eS.EmbedOptions,mj=eS.EmbeddingConfig,mV=eS.EmbeddingData,m0=eS.EmbeddingInputImageURL,m1=eS.EmbeddingInputItem,m3=eS.EmbeddingInputVideoURL,m2=eS.EmbeddingRequest,m4=eS.EmbeddingResponse,m8=eS.EmbeddingUsage,m6=ey.ForwardHeaderKey,m5=eb.LLMConfig,m7=eb.LLMResponse,m9=eb.Message,ye=eS.MultiEmbeddingConfig,yi=eS.PromptTokensDetails,yn=eS.SparseEmbeddingConfig,yt=eS.SparseEmbeddingItem;export{eT as APIError,eB as ASRClient,p$ as AwsSdkSigV4Signer,eE as BaseClient,ag as Client,eC as Config,ew as ConfigurationError,mK as ContentPart,mz as CozeConfig,tQ as CredentialsProviderError,mU as DEFAULT_EMBEDDING_CONFIG,t0 as DEFAULT_RETRY_MODE,nz as DatabaseConfig,tk as DefaultIdentityProviderConfig,mW as EmbedOptions,mG as EmbeddingClient,mj as EmbeddingConfig,mV as EmbeddingData,m0 as EmbeddingInputImageURL,m1 as EmbeddingInputItem,m3 as EmbeddingInputVideoURL,m2 as EmbeddingRequest,m4 as EmbeddingResponse,m8 as EmbeddingUsage,aI as EndpointCache,mk as FILE_NAME_ALLOWED_RE,e_ as FORWARD_HEADER_KEYS,mq as FetchClient,m6 as ForwardHeaderKey,eI as FrameExtractorClient,pM as Hash,eY as HeaderUtils,p3 as HttpBindingProtocol,fC as HttpInterceptingShapeDeserializer,fo as HttpInterceptingShapeSerializer,p1 as HttpProtocol,n4 as HttpRequest,eP as ImageConfig,eR as ImageGenerationClient,eZ as ImageGenerationResponseHelper,e$ as KnowledgeClient,eU as LLMClient,m5 as LLMConfig,eQ as LLMDefaults,m7 as LLMResponse,m9 as Message,ye as MultiEmbeddingConfig,po as NODE_APP_ID_CONFIG_OPTIONS,d7 as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,ai as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,ps as NODE_REGION_CONFIG_FILE_OPTIONS,pu as NODE_REGION_CONFIG_OPTIONS,an as NODE_RETRY_MODE_CONFIG_OPTIONS,pl as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,ph as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,ex as NetworkError,at as NoOpLogger,pF as NodeHttpHandler,uX as NormalizedSchema,fS as NumericValue,yi as PromptTokensDetails,fw as ProtocolLib,tO as ProviderError,f9 as PutObjectCommand,mX as ReportBuffer,mF as ReportClient,mJ as S3Config,mQ as S3Storage,eM as SearchClient,fT as SerdeContextConfig,uq as ServiceException,yn as SparseEmbeddingConfig,yt as SparseEmbeddingItem,m$ as SupabaseClient,ek as TTSClient,eJ as TTSConfig,uG as TypeRegistry,eN as URLValidationError,fk as UnionSerde,mp as Upload,eL as ValidationError,eH as VideoConfig,eO as VideoEditClient,eX as VideoEditConfig,eF as VideoGenerationClient,fB as XmlShapeDeserializer,tD as awsEndpointFunctions,_ as axios,buildASRApiRequest,buildImageGenerationApiRequest,buildTTSApiRequest,calculateBodyLength,chain_chain,closePool,collect_stream_body_collectBody,uO as command_Command,convertContentItem,convertDisplayInfo,convertFromApiFormat,convertToApiFormat,createDefaultUserAgentProvider,createS3ReportMiddleware,createWrappedFetch,tL as customEndpointFunctions,dateToUtcString,deref,deserializingStructIterator,determineTimestampFormat,dist_es_parseUrl,dist_es_toUtf8_toUtf8,emitWarningIfUnsupportedVersion,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,R as exec,extendedEncodeURIComponent,H as external_http_request,tW as fileIntercept,fromBase64,fromEnv_fromEnv,fromUtf8_fromUtf8,generateModels,getAwsRegionExtensionConfiguration,getClient,getConfigFilepath,getContentLengthPlugin,getDb,getDbUrl,getDefaultExtensionConfiguration,getEndpointPlugin,getHomeDir,getHostHeaderPlugin,getHttpAuthSchemeEndpointRuleSetPlugin,getHttpHandlerExtensionConfiguration,getHttpSigningPlugin,getLoggerPlugin,getPool,getProfileName,getRecursionDetectionPlugin,getReportBuffer,getRetryPlugin,getSchemaSerdePlugin,getSmithyContext,getUserAgentPlugin,lazy_json_LazyJsonString,loadConfig,loadConfigsForDefaultMode,loadEnv,loadSharedConfigFiles,eG as DataSourceType,normalizeProvider,D as parse,parseEpochTimestamp,parseIni,parseRfc3339DateTime,parseRfc3339DateTimeWithOffset,parseRfc7231DateTime,es as profile_IniSectionType,readFile,redactUrl,resolveAwsRegionExtensionConfiguration,resolveAwsSdkSigV4Config,resolveDefaultRuntimeConfig,resolveDefaultsModeConfig,resolveEndpoint,resolveEndpointConfig,resolveHostHeaderConfig,resolveHttpHandlerRuntimeConfig,resolveRegionConfig,resolveRetryConfig,resolveUserAgentConfig,sdk_stream_mixin_sdkStreamMixin,serializingStructIterator,setCredentialFeature,streamCollector,toBase64,truncate,upgrade,url_utils_validateUrl as validateUrl,v4,validateImageSize,validateImageSizeOrDefault,validateUrlSync};
94
+ `;for(let t of M(`python3 -c '${n.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(t.startsWith("#"))continue;let n=t.indexOf("=");if(n>0){let a=t.substring(0,n),r=t.substring(n+1);(r.startsWith("'")&&r.endsWith("'")||r.startsWith('"')&&r.endsWith('"'))&&(r=r.slice(1,-1)),"COZE_INTEGRATION_BASE_URL"===a?e=r:"COZE_WORKLOAD_IDENTITY_API_KEY"===a&&(i=r)}}}catch{}return mF=!0,mX={baseUrl:e,apiKey:i}}class mI{baseUrl;apiKey;configured;constructor(){try{let e=loadReportEnv();if(this.baseUrl=e.baseUrl,this.apiKey=e.apiKey,this.configured=!!(this.baseUrl&&this.apiKey),!this.configured){let e=[];this.baseUrl||e.push("COZE_INTEGRATION_BASE_URL"),this.apiKey||e.push("COZE_WORKLOAD_IDENTITY_API_KEY"),console.error(`[report] ReportClient not configured: ${e.join(", ")} is missing`)}}catch(e){this.baseUrl="",this.apiKey="",this.configured=!1,console.error("[report] ReportClient config failed:",e)}}async batchReport(e){if(!e.length)return;if(!this.configured)return void console.error(`[report] batchReport skipped: ReportClient is not configured. Set COZE_INTEGRATION_BASE_URL and COZE_WORKLOAD_IDENTITY_API_KEY environment variables. Dropping ${e.length} entries.`);let i=`${this.baseUrl}/v1/memory_report/batch_report`,n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json","x-coze-token":this.apiKey},body:JSON.stringify({entries:e}),signal:AbortSignal.timeout(1e4)});if(!n.ok)throw Error(`batchReport failed: ${n.status} ${n.statusText}`)}}class mO{buffer=[];timer=null;projectId;env;client;destroyed=!1;flushing=!1;pendingFlush=!1;onExitHandler;constructor(e){this.client=e,this.projectId=process.env.COZELOOP_WORKSPACE_ID||null,this.env=process.env.COZE_PROJECT_ENV||null,this.timer=setInterval(()=>this.flush(),6e4),this.timer.unref&&this.timer.unref(),this.onExitHandler=()=>{this.destroy()},process.on("beforeExit",()=>this.destroy()),process.on("SIGTERM",this.onExitHandler),process.on("SIGINT",this.onExitHandler)}add(e){if(!this.destroyed)try{this.buffer.length>=6e4&&this.buffer.shift(),e.project_id=this.projectId,e.env=this.env,this.buffer.push(e),this.buffer.length>=100&&this.flush().catch(()=>{})}catch(e){console.error("[report] buffer.add failed:",e)}}async flush(){if(this.flushing){this.pendingFlush=!0;return}if(!this.buffer.length)return;this.flushing=!0;let e=0;try{for(;;){let i=this.buffer.splice(0,100);if(!i.length)break;try{await this.client.batchReport(i),e=0}catch(t){if(e++,this.buffer.unshift(...i),this.buffer.length>6e4&&(this.buffer.length=6e4),e>=3){console.error(`[report] flush failed ${e} times, giving up until next cycle:`,t);break}let n=1e3*2**(e-1);console.error(`[report] flush failed (attempt ${e}/3), retrying in ${n}ms:`,t),await new Promise(e=>setTimeout(e,n));continue}if(!this.pendingFlush&&this.buffer.length<100)break;this.pendingFlush=!1}}finally{this.flushing=!1,this.pendingFlush=!1}}destroy(){this.destroyed||(this.destroyed=!0,this.timer&&(clearInterval(this.timer),this.timer=null),process.removeListener("SIGTERM",this.onExitHandler),process.removeListener("SIGINT",this.onExitHandler),this.flush().catch(()=>{}))}}let mQ=null;function getReportBuffer(){if(mQ)return mQ;try{let e=new mI;return mQ=new mO(e)}catch(e){return console.error("[report] failed to create singleton buffer:",e),null}}let mU=/((?:apikey|api_key|access_key|secret_key|access_token|token|secret|password|authorization|credential|X-Amz-Signature|X-Amz-Credential|X-Amz-Security-Token)=)[^&]*/gi;function truncate(e,i=1024){return null==e?null:e.length<=i?e:e.substring(0,i)+"...[truncated]"}function redactUrl(e){return e.replace(mU,"$1***")}function createWrappedFetch(e,i="supabase"){return async(n,t)=>{let a=Date.now();try{let r=await fetch(n,t);return safeRecordLog(e,i,n,t,r,null,a),r}catch(r){throw safeRecordLog(e,i,n,t,null,r,a),r}}}function safeRecordLog(e,i,n,t,a,r,o){try{let u=Date.now()-o,s="string"==typeof n?n:n instanceof URL?n.toString():n.url||"",l=t?.method||(n instanceof Request?n.method:"GET"),h=a?.status??null,g=null;if(t?.body)try{g=truncate("string"==typeof t.body?t.body:JSON.stringify(t.body))}catch{g=null}let c={source:i,project_id:null,env:null,method:l.toUpperCase(),url:redactUrl(s),request_body:g,response_body:null,status_code:h,error:r?.message??null,duration_ms:u,timestamp:o,success:null!==h&&h>=200&&h<300};if(a){let i=a.clone().body?.getReader();i?i.read().then(({value:n})=>{if(n){let e=new TextDecoder().decode(n.slice(0,2048));c.response_body=truncate(e)}i.cancel().catch(()=>{}),e.add(c)}).catch(()=>{e.add(c)}):e.add(c)}else e.add(c)}catch(e){console.error("[report] safeRecordLog error:",e)}}function createS3ReportMiddleware(e){return e?{middleware:(i,n)=>async n=>{let t=Date.now(),{request:a}=n;try{let r=await i(n);return safeRecordS3Log(e,a,r,null,t),r}catch(i){throw safeRecordS3Log(e,a,null,i,t),i}},options:{step:"deserialize",name:"reportLogger",override:!0}}:null}function safeRecordS3Log(e,i,n,t,a){try{let r=Date.now()-a,o=i?.method||"UNKNOWN",u=i?.hostname?`${i.protocol||"https:"}//${i.hostname}${i.path||""}`:"",s=n?.response?.statusCode??null,l=null;if(i?.body)try{let e=i.body;"string"==typeof e?l=truncate(e):Buffer.isBuffer(e)&&(l=truncate(`[Binary ${e.length} bytes]`))}catch{l=null}let h={source:"s3",project_id:null,env:null,method:o.toUpperCase(),url:redactUrl(u),request_body:l,response_body:null,status_code:s,error:t?.message??null,duration_ms:r,timestamp:a,success:null!==s&&s>=200&&s<300};if(n?.output)try{let{Body:e,...i}=n.output;Object.keys(i).length>0&&(h.response_body=truncate(JSON.stringify(i)))}catch{}e.add(h)}catch{}}function getStorageToken(){return process.env.COZE_WORKLOAD_IDENTITY_API_KEY||null}class mG{endpointUrl;accessKey;secretKey;bucketName;region;client=null;constructor(e={}){this.endpointUrl=process.env.COZE_BUCKET_ENDPOINT_URL||e.endpointUrl||"",this.accessKey=e.accessKey||"",this.secretKey=e.secretKey||"",this.bucketName=process.env.COZE_BUCKET_NAME||e.bucketName||"",this.region=e.region||mB.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new fG({endpoint:this.endpointUrl,region:this.region,credentials:{accessKeyId:this.accessKey,secretAccessKey:this.secretKey},forcePathStyle:!0}),this.client.middlewareStack.add(e=>async i=>{let n=getStorageToken();return n&&i.request?.headers&&(i.request.headers["x-storage-token"]=n),e(i)},{step:"build",name:"injectStorageToken"}),this.installReportMiddleware(this.client)}return this.client}installReportMiddleware(e){try{let i=getReportBuffer(),n=createS3ReportMiddleware(i);n&&e.middlewareStack.add(n.middleware,n.options)}catch{}}generateObjectKey(e){let i=n2.default.extname(e).toLowerCase(),n=n2.default.basename(e,i),t=(0,ao.randomUUID)().replace(/-/g,"").slice(0,8);return n2.default.join(n2.default.dirname(e),`${n}_${t}${i}`)}resolveBucket(e){let i=e||process.env.COZE_BUCKET_NAME||this.bucketName;if(!i)throw Error("Bucket not configured: Provide bucket or set COZE_BUCKET_NAME");return i}sanitizeFileName(e){if(!e||!e.trim())return"file";let i=e.split("/").filter(e=>e.trim()).map(e=>{let i=e.lastIndexOf("."),n=i>0,t=n?e.slice(i):"",a=mM(n?e.slice(0,i):e);return((a=a.replace(/\s+/g,"_").replace(/[^A-Za-z0-9._-]/g,"_").replace(/_{2,}/g,"_").replace(/^[._-]+|[._-]+$/g,""))||"file")+t.replace(/[^A-Za-z0-9._-]/g,"")}).join("/");return Buffer.byteLength(i,"utf-8")>1024&&(i=i.slice(0,1e3)),i}async uploadFile(e){let{fileContent:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=this.resolveBucket(a);return await o.send(new mi({Bucket:s,Key:u,Body:i,ContentType:t})),u}async readFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n),r=await t.send(new mt({Bucket:a,Key:i}));if(!r.Body)throw Error("S3 GetObject returned no Body");let o=[];for await(let e of r.Body)o.push(Buffer.from(e));return Buffer.concat(o)}async deleteFile(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);return await t.send(new ma({Bucket:a,Key:i})),!0}async fileExists(e){let{fileKey:i,bucket:n}=e,t=this.getClient(),a=this.resolveBucket(n);try{return await t.send(new mr({Bucket:a,Key:i})),!0}catch(e){if("NotFound"===e.name||e.$metadata?.httpStatusCode===404)return!1;return console.error("Error checking file existence:",e),!1}}async listFiles(e={}){let{prefix:i,bucket:n,maxKeys:t=mB.DEFAULT_MAX_KEYS,continuationToken:a}=e;if(t<=0||t>1e3)throw Error("maxKeys must be between 1 and 1000");let r=this.getClient(),o=this.resolveBucket(n),u=await r.send(new mo({Bucket:o,MaxKeys:t,Prefix:i,ContinuationToken:a}));return{keys:(u.Contents||[]).filter(e=>e.Key).map(e=>e.Key),isTruncated:u.IsTruncated||!1,nextContinuationToken:u.NextContinuationToken}}async generatePresignedUrl(e){let{key:i,bucket:n,expireTime:t=mB.DEFAULT_PRESIGNED_EXPIRE_TIME}=e,a=getStorageToken();if(!a)throw Error("Failed to get x-storage-token: Set COZE_WORKLOAD_IDENTITY_API_KEY");let r=process.env.COZE_BUCKET_ENDPOINT_URL||this.endpointUrl;if(!r)throw Error("Sign endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");let o=r.replace(/\/$/,"")+"/sign-url",u=this.resolveBucket(n),s=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-storage-token":a},body:JSON.stringify({bucket_name:u,path:i,expire_time:t})});if(!s.ok)throw Error(`Failed to generate presigned URL: ${s.status}`);let l=await s.text();if((s.headers.get("content-type")||"").includes("application/json")||l.trim().startsWith("{"))try{let e=JSON.parse(l);if(e.data?.url)return e.data.url;if(e.url||e.signed_url||e.presigned_url)return e.url||e.signed_url||e.presigned_url;throw Error("Sign service response missing url field")}catch{}return l}async streamUploadFile(e){let{stream:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mm({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:i,ContentType:t}});return await s.done(),u}async uploadFromUrl(e){let{url:i,bucket:n,timeout:t=mB.DEFAULT_UPLOAD_TIMEOUT}=e,a=new AbortController,r=setTimeout(()=>a.abort(),t);try{let e=await fetch(i,{signal:a.signal});if(!e.ok)throw Error(`Failed to fetch URL: ${e.status}`);let t=new URL(i),r=n2.default.basename(decodeURIComponent(t.pathname))||"file",o=e.headers.get("content-type")||"application/octet-stream",u=Buffer.from(await e.arrayBuffer());return this.uploadFile({fileContent:u,fileName:r,contentType:o,bucket:n})}finally{clearTimeout(r)}}async chunkUploadFile(e){let{chunks:i,fileName:n,contentType:t="application/octet-stream",bucket:a}=e,r=this.sanitizeFileName(n),o=this.getClient(),u=this.generateObjectKey(r),s=new mm({client:o,params:{Bucket:this.resolveBucket(a),Key:u,Body:al.Readable.from(i),ContentType:t}});return await s.done(),u}}let mq={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class m$ extends eE{model;constructor(e,i,n=!1){super(e,i,n),this.model=mq.defaultModel}validateInputs(e,i,n){let t=e&&e.length>0,a=i&&i.length>0,r=n&&n.length>0;if(!t&&!a&&!r)throw new eL("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(i?.length||0)+(n?.length||0);if(o>mq.maxBatchSize)throw new eL(`Total inputs (${o}) exceed maximum batch size of ${mq.maxBatchSize}`)}buildInputItems(e,i,n){let t=[];if(e)for(let i of e)i&&i.trim()&&t.push({type:"text",text:i});if(i)for(let e of i)e&&e.trim()&&t.push({type:"image_url",image_url:{url:e}});if(n)for(let e of n)e&&e.trim()&&t.push({type:"video_url",video_url:{url:e}});return t}async embed(e,i,n,t){this.validateInputs(e,i,n);let a=this.buildInputItems(e,i,n);if(0===a.length)throw new eL("No valid input provided");let r={model:t?.model||this.model,input:a};t?.dimensions!==void 0&&(r.dimensions=t.dimensions),t?.encodingFormat&&(r.encoding_format=t.encodingFormat),t?.instructions&&(r.instructions=t.instructions),t?.multiEmbedding&&(r.multi_embedding={type:"enabled"}),t?.sparseEmbedding&&(r.sparse_embedding={type:"enabled"});let o=await this.request("POST",`${this.config.baseUrl}/api/v3/embeddings/multimodal`,r);if(o.error)throw new eT(o.error.message||"Unknown error",void 0,o.error);return o}async embedText(e,i){let n=await this.embed([e],void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedTexts(e,i){let n=await this.embed(e,void 0,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImage(e,i){let n=await this.embed(void 0,[e],void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedImages(e,i){let n=await this.embed(void 0,e,void 0,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideo(e,i){let n=await this.embed(void 0,void 0,[e],i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedVideos(e,i){let n=await this.embed(void 0,void 0,e,i);if(n.data?.embedding)return n.data.embedding;throw new eT("No embedding returned")}async embedMultimodal(e,i,n,t){return this.embed(e,i,n,t)}async embedWithMultiVectors(e,i,n,t){let a=await this.embed(e,i,n,{...t,multiEmbedding:!0});return a.data?.multi_embedding}async embedWithSparse(e,i,n,t){let a=await this.embed(e,i,n,{...t,sparseEmbedding:!0});return a.data?.sparse_embedding}async batchEmbed(e,i,n=5){let t=[],a=[...e];for(;a.length>0;){let e=a.splice(0,n).map(e=>this.embed(e,void 0,void 0,i)),r=await Promise.all(e);t.push(...r)}return t}}function convertContentItem(e){let i;return e.image&&(i={image_url:e.image.image_url,display_url:e.image.display_url,width:e.image.width,height:e.image.height,thumbnail_display_url:e.image.thumbnail_display_url}),{type:e.type||"text",text:e.text,url:e.url,image:i}}function convertDisplayInfo(e){return{no_display:e.no_display,no_display_reason:e.no_display_reason}}class mK extends eE{constructor(e,i,n=!1){super(e,i,n)}async fetch(e){let i,{validateUrl:n}=await Promise.resolve().then(()=>({validateUrl:url_utils_validateUrl}));e=await n(e);let t=await this.request("POST",`${this.config.baseUrl}/api/v1/integration/fetch_tool`,{url:e});if(t.code&&0!==t.code)throw new eT(`Fetch failed: ${t.message||"Unknown error"}`,t.code,t.message);let a=t.data||t,r=[];if(a.content)for(let e of a.content)r.push(convertContentItem(e));return a.display_info&&(i=convertDisplayInfo(a.display_info)),{fetch_id:a.fetch_id,status_code:a.status_code,status_message:a.status_message,url:a.url,doc_id:a.doc_id,title:a.title,publish_time:a.publish_time,filetype:a.filetype,content:r,display_info:i}}}class mz{config;axiosInstance;constructor(e,i){this.config=e,this.axiosInstance=_.create({timeout:this.config.timeout,headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","X-Client-Sdk":"coze-coding-dev-sdk-typescript/0.3.0","x-coze-token":this.config.apiKey,...i}})}async request(e,i,n){return(await this.axiosInstance.request({method:e,url:i,data:n})).data}async listFunctions(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/list`,{});return{functions:(e.functions||[]).map(e=>({id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getFunction(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/get`,{slug:e});if(n.function){let e=n.function;i={id:e.id||"",slug:e.slug||"",name:e.name||"",status:e.status||"",version:e.version||0,verify_jwt:e.verify_jwt||!1,entrypoint_path:e.entrypoint_path,created_at:e.created_at,updated_at:e.updated_at}}return{function:i,files:(n.files||[]).map(e=>({name:e.name||"",content:e.content||""})),code:n.code||0,msg:n.msg||""}}async deployFunction(e,i){let n={slug:e};i?.code!==void 0&&(n.code=i.code),i?.files!==void 0&&(n.files=i.files),i?.name!==void 0&&(n.name=i.name),i?.entrypoint!==void 0&&(n.entrypoint=i.entrypoint),i?.verify_jwt!==void 0&&(n.verify_jwt=i.verify_jwt);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/deploy`,n);return{success:t.success||!1,slug:t.slug,version:t.version,code:t.code||0,msg:t.msg||""}}async deleteFunction(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/functions/delete`,{slug:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async listBuckets(){let e=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/list`,{});return{buckets:(e.buckets||[]).map(e=>({id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at})),code:e.code||0,msg:e.msg||""}}async getBucket(e){let i,n=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/get`,{bucket_id:e});if(n.bucket){let e=n.bucket;i={id:e.id||"",name:e.name||"",public:e.public||!1,owner:e.owner,file_size_limit:e.file_size_limit,allowed_mime_types:e.allowed_mime_types,created_at:e.created_at,updated_at:e.updated_at}}return{bucket:i,code:n.code||0,msg:n.msg||""}}async createBucket(e,i){let n={bucket_id:e};i?.name!==void 0&&(n.name=i.name),i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/create`,n);return{success:t.success||!1,bucket_id:t.bucket_id,code:t.code||0,msg:t.msg||""}}async updateBucket(e,i){let n={bucket_id:e};i?.public!==void 0&&(n.public=i.public),i?.file_size_limit!==void 0&&(n.file_size_limit=i.file_size_limit),i?.allowed_mime_types!==void 0&&(n.allowed_mime_types=i.allowed_mime_types);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/update`,n);return{success:t.success||!1,code:t.code||0,msg:t.msg||""}}async deleteBucket(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/buckets/delete`,{bucket_id:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfig(){let e,i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/get`,{});if(i.config){let n=i.config;e={external_email_enabled:n.external_email_enabled,disable_signup:n.disable_signup,mailer_auto_confirm:n.mailer_auto_confirm,double_confirm_changes:n.double_confirm_changes,mailer_secure_email_change_enabled:n.mailer_secure_email_change_enabled,mailer_otp_exp:n.mailer_otp_exp,password_min_length:n.password_min_length,password_required_characters:n.password_required_characters,site_url:n.site_url,smtp_host:n.smtp_host,smtp_port:n.smtp_port,smtp_user:n.smtp_user,smtp_pass:n.smtp_pass,smtp_admin_email:n.smtp_admin_email,smtp_sender_name:n.smtp_sender_name,smtp_max_frequency:n.smtp_max_frequency}}return{config:e,code:i.code||0,msg:i.msg||""}}async updateAuthConfig(e){let i=await this.request("POST",`${this.config.baseUrl}/v1/supabase/auth/config/update`,{config:e});return{success:i.success||!1,code:i.code||0,msg:i.msg||""}}async getAuthConfigV2(){let e,i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/get`,{}),n=i.code||0,t=i.msg||"",a=i.Status||0,r=i.Config;if(r){let i,n,t=r.EmailConfig;t&&(i={external_email_enabled:t.external_email_enabled,disable_signup:t.disable_signup,mailer_auto_confirm:t.mailer_auto_confirm,double_confirm_changes:t.double_confirm_changes,mailer_secure_email_change_enabled:t.mailer_secure_email_change_enabled,mailer_otp_exp:t.mailer_otp_exp,password_min_length:t.password_min_length,password_required_characters:t.password_required_characters,site_url:t.site_url,smtp_host:t.smtp_host,smtp_port:t.smtp_port,smtp_user:t.smtp_user,smtp_pass:t.smtp_pass,smtp_admin_email:t.smtp_admin_email,smtp_sender_name:t.smtp_sender_name,smtp_max_frequency:t.smtp_max_frequency});let a=r.PhoneConfig;a&&(n={external_phone_enabled:a.external_phone_enabled}),e={project_id:r.ProjectID||0,icon_uri:r.IconURI||"",icon_url:r.IconURL||"",name:r.Name||"",email_config:i,phone_config:n}}return{status:a,config:e,code:n,msg:t}}async updateAuthConfigV2(e){let i=await this.request("POST",`${this.config.baseUrl}/v2/supabase/auth/config/update`,e);return{should_update_ui:i.should_update_ui||!1,success:i.success||!1,code:i.code||0,msg:i.msg||""}}async diagnoseDatabase(e){let i,n={};void 0!==e&&(n.env=e);let t=await this.request("POST",`${this.config.baseUrl}/v1/supabase/database/diagnose`,n);if(t.report){let e=t.report;i={database_type:e.database_type??0,pg_metrics:e.pg_metrics||{},supabase_metrics:e.supabase_metrics}}return{report:i,code:t.code||0,msg:t.msg||""}}}var mW=eb.ContentPart,mj=em.CozeConfig,mV=eS.EmbedOptions,m0=eS.EmbeddingConfig,m1=eS.EmbeddingData,m3=eS.EmbeddingInputImageURL,m2=eS.EmbeddingInputItem,m4=eS.EmbeddingInputVideoURL,m8=eS.EmbeddingRequest,m6=eS.EmbeddingResponse,m5=eS.EmbeddingUsage,m7=ey.ForwardHeaderKey,m9=eb.LLMConfig,ye=eb.LLMResponse,yi=eb.Message,yn=eS.MultiEmbeddingConfig,yt=eS.PromptTokensDetails,ya=eS.SparseEmbeddingConfig,yr=eS.SparseEmbeddingItem;export{eT as APIError,eF as ASRClient,pz as AwsSdkSigV4Signer,eE as BaseClient,ad as Client,eC as Config,ew as ConfigurationError,mW as ContentPart,mj as CozeConfig,tG as CredentialsProviderError,mq as DEFAULT_EMBEDDING_CONFIG,t3 as DEFAULT_RETRY_MODE,nj as DatabaseConfig,tH as DefaultIdentityProviderConfig,mV as EmbedOptions,m$ as EmbeddingClient,m0 as EmbeddingConfig,m1 as EmbeddingData,m3 as EmbeddingInputImageURL,m2 as EmbeddingInputItem,m4 as EmbeddingInputVideoURL,m8 as EmbeddingRequest,m6 as EmbeddingResponse,m5 as EmbeddingUsage,aQ as EndpointCache,mH as FILE_NAME_ALLOWED_RE,e_ as FORWARD_HEADER_KEYS,mK as FetchClient,m7 as ForwardHeaderKey,eQ as FrameExtractorClient,pk as Hash,eY as HeaderUtils,p4 as HttpBindingProtocol,fT as HttpInterceptingShapeDeserializer,fs as HttpInterceptingShapeSerializer,p2 as HttpProtocol,n6 as HttpRequest,eR as ImageConfig,eJ as ImageGenerationClient,eM as ImageGenerationResponseHelper,ez as KnowledgeClient,e$ as LLMClient,m9 as LLMConfig,eG as LLMDefaults,ye as LLMResponse,yi as Message,yn as MultiEmbeddingConfig,ps as NODE_APP_ID_CONFIG_OPTIONS,pe as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,at as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,ph as NODE_REGION_CONFIG_FILE_OPTIONS,pl as NODE_REGION_CONFIG_OPTIONS,aa as NODE_RETRY_MODE_CONFIG_OPTIONS,pg as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,pc as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,ex as NetworkError,ar as NoOpLogger,pI as NodeHttpHandler,uO as NormalizedSchema,fC as NumericValue,yt as PromptTokensDetails,fx as ProtocolLib,tU as ProviderError,mi as PutObjectCommand,mO as ReportBuffer,mI as ReportClient,mB as S3Config,mG as S3Storage,ek as SearchClient,fL as SerdeContextConfig,uK as ServiceException,ya as SparseEmbeddingConfig,yr as SparseEmbeddingItem,mz as SupabaseClient,eH as TTSClient,eB as TTSConfig,u$ as TypeRegistry,eZ as URLValidationError,fH as UnionSerde,mm as Upload,eL as ValidationError,eX as VideoConfig,eU as VideoEditClient,eO as VideoEditConfig,eI as VideoGenerationClient,fF as XmlShapeDeserializer,tA as awsEndpointFunctions,_ as axios,buildASRApiRequest,buildImageGenerationApiRequest,buildTTSApiRequest,calculateBodyLength,chain_chain,closePool,collect_stream_body_collectBody,uU as command_Command,convertContentItem,convertDisplayInfo,convertFromApiFormat,convertToApiFormat,createDefaultUserAgentProvider,createS3ReportMiddleware,createWrappedFetch,t_ as customEndpointFunctions,dateToUtcString,deref,deserializingStructIterator,determineTimestampFormat,dist_es_parseUrl,dist_es_toUtf8_toUtf8,emitWarningIfUnsupportedVersion,emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,R as exec,extendedEncodeURIComponent,H as external_http_request,tV as fileIntercept,fromBase64,fromEnv_fromEnv,fromUtf8_fromUtf8,generateModels,getAwsRegionExtensionConfiguration,getClient,getConfigFilepath,getContentLengthPlugin,getDb,getDbUrl,getDefaultExtensionConfiguration,getEndpointPlugin,getHomeDir,getHostHeaderPlugin,getHttpAuthSchemeEndpointRuleSetPlugin,getHttpHandlerExtensionConfiguration,getHttpSigningPlugin,getLoggerPlugin,getPool,getProfileName,getRecursionDetectionPlugin,getReportBuffer,getRetryPlugin,getSchemaSerdePlugin,getSmithyContext,getUserAgentPlugin,isBase64DataUri,lazy_json_LazyJsonString,loadConfig,loadConfigsForDefaultMode,loadEnv,loadSharedConfigFiles,eK as DataSourceType,normalizeProvider,D as parse,parseEpochTimestamp,parseIni,parseRfc3339DateTime,parseRfc3339DateTimeWithOffset,parseRfc7231DateTime,es as profile_IniSectionType,readFile,redactUrl,resolveAwsRegionExtensionConfiguration,resolveAwsSdkSigV4Config,resolveDefaultRuntimeConfig,resolveDefaultsModeConfig,resolveEndpoint,resolveEndpointConfig,resolveHostHeaderConfig,resolveHttpHandlerRuntimeConfig,resolveRegionConfig,resolveRetryConfig,resolveUserAgentConfig,sdk_stream_mixin_sdkStreamMixin,serializingStructIterator,setCredentialFeature,streamCollector,toBase64,truncate,upgrade,url_utils_validateUrl as validateUrl,v4,validateImageSize,validateImageSizeOrDefault,validateUrlSync};